防止使用swagger-codegen(OpenAPI 2.0)url编码的字符串格式:URI

时间:2018-06-20 01:26:41

标签: swagger swagger-codegen openapi

我有一个问题,其中OpenAPI 2.0规范采用一个路径参数,该参数是一个有效的字符串URI,看起来像1234/models/4321/v1,以形成一个看起来像http://localhost/endpoints/1234/models/4321/v1/predict的URL端点。我在swagger.yaml中将端点定义如下:

/endpoints/{modelURI}/predict:
    post:
      operationId: predict
      summary: Run inference on the input array.
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: body
        in: body
        description: The input NDArray
        required: true
        schema:
          $ref: '#/definitions/Prediction'
      - name: modelURI
        in: path
        description: The URI of the model
        required: true
        type: string
        format: uri

问题是,尽管我指定了format: uri Swagger代码源,该事件将对生成的客户端中的path参数进行URL编码,并且请求看起来像http://localhost/endpoints/1234%2Fmodels%2F4321%2Fv1/predict。在我们的软件堆栈下方,有一个HTTP路由器,它无法解释请求,因为它期望使用不同的格式。不幸的是,由于使用旧版软件,我们无法轻松更改规格。

如何改为强制Swagger不对该路径参数进行编码?我可以通过某种插件来做到这一点吗?

0 个答案:

没有答案