Swagger 那些OpenAPI3路径是否模棱两可?
那些OpenAPI3路径是否模棱两可Swagger 那些OpenAPI3路径是否模棱两可?,swagger,openapi,Swagger,Openapi,那些OpenAPI3路径是否模棱两可 /shops/{shopId}/pets/{petId} /shops/{shopId}/pets/_search 我想回答否,但是,严格阅读规范,我无法做出决定,因为它们似乎不属于规范中的三个陈述中的任何一个: 两条路径都不是具体的(规范中使用的术语) 路径似乎不符合具有相同层次结构但不同模板名称标准的模板路径(我不太清楚):“/shops/{}/pets/{}”!=“/shops/{}/pets/\u search” 路径看起来不像模棱两可的示例
/shops/{shopId}/pets/{petId}
/shops/{shopId}/pets/_search
我想回答否,但是,严格阅读规范,我无法做出决定,因为它们似乎不属于规范中的三个陈述中的任何一个:
“/shops/{}/pets/{}”!=“/shops/{}/pets/\u search”
/宠物/我的 以下路径被视为相同且无效: /宠物/{petId}
/宠物/{name} 以下情况可能导致不明确的解决方案: /{entity}/me
/书籍/{id}
我对规范的理解是它们并不含糊,因为一个比另一个更具体。如果
{petId}
参数值设置为\u search
,则更具体的优先顺序。如果您可以帮助我们更清楚地说明规范,请确实在规范报告中提出问题或请求。谢谢谢谢@Mikeraphson的回答:这也是我的阅读(为了它的价值…)。也谢谢你的建议:我将提出一个问题。这里是问题的链接:不是你问题的答案。但是,URL/shops/{shopId}/pets/_search
包含一个动词search
,这是一个反模式。然后URL应该是/shops/{shopId}/pets?action=\u search
@MohitMutha为什么这是反模式?相反,为什么可以在查询参数中包含动词,而不是在路径参数中?在Http中,动词是表示CRUD操作之一的Http方法(GET、PUT、POST、DELETE等)。在上述情况下,您需要搜索,这是GET的一种形式。GET/shops/{shopId}/pets
说我想要一个pets
列表,因此没有必要进行搜索
/@MohitMutha搜索不仅仅是简单地获取一个宠物列表:它是关于获取一个包含分数和方面的点击列表。但我明白你的意思:\你的搜索不是安静的。