我想使用Swagger定义以下路径:
/api/libraries/1234/books
并POST
一本书到图书馆的书籍集合,其ID为1234
。
在示例中,我在此处看到:https://github.com/swagger-api/swagger-spec/blob/master/examples/v2.0/json/petstore-with-external-docs.json
它显示为,您可以指定例如:libraries/{id}/books
,但您必须将其定义为单独的路径对象。
例如,与libraries
进行比较,用于GET
目的;它会检索你的库列表。
有没有办法定义sub path
对象(例如:在...下)
libraries
定义sub path
id
},sub path
books
;也许是sub path
的另一个employees
?
答案 0 :(得分:3)
简短的回答是否定的。
根据swagger规范2.0,不支持嵌套路径;你必须独立定义路径(https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#pathItemObject)。
然后,您可以使用 标记 对资源列表进行分组。
拥有原子路径的原因在于swaggers强烈遵守REST规范。在REST中,资源链接到独立的原子操作(与SOAP / RPC不同)。
答案 1 :(得分:1)
不确定我是否正确理解您的问题,但如果您想为/api/libraries/1234/books/5678/employees/9999
定义路径变量作为示例,则路径应如下所示:
/api/libraries/{library_id}/books/{book_id}/employees/{employe_id}
其中{library_id}
,{book_id}
和{employee_id}
是路径变量。