3

使用工具箱命令创建了一个新项目:vapor new projectname

在 main.swift 文件中,我添加了中间件代码:

import Vapor
import HTTP

final class VersionMiddleware: Middleware {
    func respond(to request: Request, chainingTo next: Responder) throws -> Response {
        let response = try next.respond(to: request)

        response.headers["Version"] = "API v1.0"
        print("not printing")

        return response
    }
}

let drop = Droplet(availableMiddleware: [
    "version": VersionMiddleware()
])

drop.get("hello") {
    req in 
    return "Hello world"
} 

drop.run()

但是当我运行它时,它会打印“hello world”,但 API 版本不会添加到标题中。我正在使用邮递员检查它。

4

2 回答 2

2

我认为你应该配置Config/middleware.json

{
"server": [
    ...
    "version"
],
...
}

这将是工作。

中间件文档

于 2016-10-03T09:51:20.750 回答
2
于 2017-11-10T22:20:35.647 回答