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

    是的,一个黑客,但它的作品,它总比没有好。 在我的情况下,标签名称不能包含/字符,所以没有冲突。 当然,你的里程可能会有所不同。

    链接地址: http://www.djcxy.com/p/95269.html

    上一篇: Swagger: wildcard path parameters

    下一篇: What is the difference between IWindsorContainer vs IUnityContainer?