1

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

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

4

1 回答 1

1

无法定义共享相同 URL 的多个端点/行为。

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

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

于 2017-02-03T23:02:07.460 回答