首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同一段中具有多个变量的OpenAPI路径是否有效?

同一段中具有多个变量的OpenAPI路径是否有效?
EN

Stack Overflow用户
提问于 2022-05-07 03:15:14
回答 2查看 188关注 0票数 1

下列内容有效吗?

GET image/{id}/{palette}.{file_extension}

我想要做这样的事情:例如:

代码语言:javascript
复制
GET image/1/falsecolor.jpg
GET image/4/alternative.png
GET image/9/falsecolor.tiff

基本上,调色板定义了图像是如何着色的(颜色调色板),扩展名是更适合您的应用程序的文件格式(移动处理一种文件格式,web和另一种文件格式,等等),我尝试过的所有OpenAPI指针都验证它,我在OpenAPI的文档中找不到这不是一种有效的方法,但是当我将它上传到Postman时,它超出了识别范围,加载调色板和文件扩展名都是作为集合变量,而不是API属性,而且Postman应该是符合/兼容的,所以我想知道这是否实际上是一个不兼容的路径参数。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-09 13:56:37

是的,部分路径参数在OpenAPI中是有效的。

但是,如果参数值包含分隔符,则它们可以导致歧义分析。例如,给定路径模板/{palette}.{file_extension}和请求URL /false.color.jpg,服务器应该假定哪些值?

  • palette="false" file_extension="color.jpg"
  • palette="false.color" file_extension="jpg"

有些工具(特别是AWS API网关)选择不支持部分路径参数,并要求路径参数占用整个路径段(即/{foo}/{bar},而不是/{foo}.json/{foo}-{bar})。

票数 1
EN

Stack Overflow用户

发布于 2022-05-18 13:33:48

邮递员已经发出确认其行为的回复,这是目前其实施中的一个限制。

我们当前的集合格式有一些限制,它不允许在路径段中有多个路径变量,例如- /files/{file-id}.{format}和部分路径段不能作为路径变量(例如- /file.{format} )来分隔。为了克服当前的限制,我们使用集合变量来表示这个路径变量。这不会破坏任何行为,但同时,预计来自OpenAPI的信息损失。话虽如此,用户可以依赖于没有这些限制的模式文档,并保留用户配置的路径参数。

他们还说,这是他们希望在未来改变的东西,只是暂时没有ETA。

我要感谢所有花时间回答这个问题的人,这对我有很大帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72149206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档