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

时间:2017-02-03 00:47:46

标签: swagger swagger-2.0 swagger-editor swagger-codegen

我有一个不太RESTful的现有API。我试图使用Swagger快速组合一个模拟服务器,以便我可以在不依赖服务器的情况下测试应用程序。当我开始编写yaml规则时,我意识到对于路由的子集,正在使用相同的端点,服务器解析主体json以确切地确定请求是什么。有没有办法使用Swagger建模这样的行为?

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

1 个答案:

答案 0 :(得分:1)

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

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

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