Swagger:通配符路径参数
我有一个API允许任何路径传入,例如所有这些:
/api/tags /api/tags/foo /api/tags/foo/bar/baz 是有效的路径。 我试图描述如下:
/tags{tag_path}:
get:
parameters:
- name: tag_path
in: path
required: true
type: string
default: "/"
但是,https://generator.swagger.io会在路径中对斜杠进行编码,因此它不起作用。 那么有没有办法在Swagger中描述我的API?
所以这不会很快得到支持(它甚至没有计划Swagger 3.0),我不得不求助于解决方法。
如果我有路径/tags{tag_path}并且我输入了类似于tag_path : /foo/bar ,那么实际的查询请求URL将为: /tags%2Ffoo%2Fbar 。 所以,我只是在后端添加了%2Ffoo%2Fbar支持: /tags* urldecode的端点处理器解释了路径(即%2Ffoo%2Fbar ),并且它又变成了/foo/bar 。
是的,一个黑客,但它的作品,它总比没有好。 在我的情况下,标签名称不能包含/字符,所以没有冲突。 当然,你的里程可能会有所不同。
上一篇: Swagger: wildcard path parameters
下一篇: What is the difference between IWindsorContainer vs IUnityContainer?
