是否可以根据 body 参数指定 Swagger Routes

Is it possible to specify Swagger Routes based on the body parameter

我有一个现有的 API,但不完全是 RESTful。我试图使用 Swagger 快速组装一个模拟服务器,以便我可以在不依赖服务器的情况下测试应用程序。当我开始编写 yaml 规则时,我意识到对于路由的子集,正在使用相同的端点并且服务器解析正文 json 以确定请求的确切内容。有没有一种方法可以使用 Swagger 对这种行为进行建模?

(请不要评论 API 架构,它已经存在并正在制作中,我没有参与设计)

无法定义共享相同 URL 的多个 endpoints/behaviors。

swagger.yml 假设您有 RESTful API。 Swagger 将为每条路由定义行为和有效负载,并且每条路由必须具有唯一的路径。您不能使用 Swagger 通过相同的 URL 表示多个路由,除非您要将它们全部合并并将它们表示为通用端点。这将需要您使用文档来描述行为,并且您将失去 swagger 的许多好处(愉快的 UI 和自动验证)。如果每个路由都有不同的输入有效负载,那么所有字段都需要在相同的有效负载中定义,并且文档将描述每个场景中需要哪些字段。

如果可能,考虑定义多个端点,然后将请求代理到同一个后端单一路由。