【发布时间】:2018-12-31 04:19:47
【问题描述】:
我正在尝试使用 Vapor 3 实现一个 REST-ful API,我更喜欢在其他 Web 框架中使用看起来相当标准的创建模式:我希望实体创建控制器返回 201 @ 987654321@ 响应状态,Location 响应标头包含新创建资源的完整 URL。
我能找到的所有 Vapor 3 文档都显示了一个创建模式,该模式改为返回 200 OK 状态,并在响应正文中包含完整资源。但我找不到任何使用 201 响应的示例,尽管根据我的经验,这往往是更标准的 REST-ful API 方法。
我发现我可以在我的控制器中手动创建一个 201 响应,并且我认为有一种方法可以在该响应中设置任意标头。如果是这样,是否有一种方便的方法可以获取我刚刚创建的资源的完整 URL,以便我可以在响应中设置 Location 标头?
我确信我可以通过“蛮力”来获得我想要的东西,但我希望 Vapor 定义了一种惯用的方式来做到这一点,就像我使用的 Java 和 Rails 框架提供的一样。
【问题讨论】:
标签: vapor