【发布时间】:2021-09-08 20:25:32
【问题描述】:
使用media-type-versioning时,不同版本的端点应该有相同的URL,客户端可以将Accept标头设置为所需的版本:例如
Accept: application/vnd.adventure-works.v1+json
对于版本 2:
Accept: application/vnd.adventure-works.v2+json
控制器的伪代码:
@Controller('orders')
export class OrdersController {
@Get('orders/:id')
getOrdersV1(@Headers('Accept') acceptHeader: string) {
// accept header must be 'application/vnd.adventure-works.v1+json'
return {
orderId: 1,
orderName: 'Order 1'
};
}
@Get('orders/:id')
getOrdersV2(@Headers('Accept') acceptHeader: string) {
// accept header must be 'application/vnd.adventure-works.v2+json'
return {
orderId: 1,
name: 'Order 1'
};
}
- 我们如何在 NestJs 中实现这一点?
即我需要以某种方式告诉 NestJs 路由器,只有在接受标头具有固定值时才应调用端点对应的函数: - 这是否适用于 nestjs-swagger?
更新
找到相关功能请求:#3569
【问题讨论】:
标签: routes nestjs nestjs-swagger