我有一个问题,其中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不对该路径参数进行编码?我可以通过某种插件来做到这一点吗?