如何将标头添加到 Vapor 响应(缓存控制)

Car*_*los 4 vapor

我有一个使用 get 处理程序的控制器,该处理程序返回Future<Content>. 我想在响应中添加一个标头(具体来说是 Cache-Control)。我在想这应该很容易,但我没有找到如何去做。在这种情况下,哪种方式可以添加标题?当我们使用Content而不是Response

imi*_*ike 8

为了解决这个问题,你可以像这样写你的端点

struct Something: Content {
    let text: String
}
router.get("customresponse") { req -> Future<Response> in
    return try Something(text: "Hello world").encode(for: req).map { response in
        response.http.headers.add(name: .cacheControl, value: "something")
        return response
    }
}
Run Code Online (Sandbox Code Playgroud)