Swagger 2.0 是否支持 JAX-RS 规范的矩阵参数?
我的应用程序中有一些矩阵参数,例如/map/color;lat=50;long=20;scale=32000
. 我想为矩阵参数派生 Swagger。我使用http://editor.swagger.io;但我在编辑器中得不到任何帮助。谁能帮我?
Swagger 2.0 是否支持矩阵参数?
其他链接到矩阵参数:
Swagger 2.0 是否支持 JAX-RS 规范的矩阵参数?
我的应用程序中有一些矩阵参数,例如/map/color;lat=50;long=20;scale=32000
. 我想为矩阵参数派生 Swagger。我使用http://editor.swagger.io;但我在编辑器中得不到任何帮助。谁能帮我?
Swagger 2.0 是否支持矩阵参数?
其他链接到矩阵参数:
OpenAPI/Swagger 2.0 不支持矩阵参数,但在 OpenAPI 3.0 中支持。
使用 OpenAPI 3.0,您的示例:
/map/color;lat=50;long=20;scale=32000
可以定义为:
openapi: 3.0.1
...
paths:
/map/color{params}:
get:
parameters:
- in: path
name: params
required: true
# Named matrix parameters are defined as object properties
schema:
type: object
properties:
lat:
type: integer
example: 50
long:
type: integer
example: 20
scale:
type: integer
example: 32000
# Serialize this object as ;prop1=value2;prop2=value2 etc
style: matrix
explode: true
这在 Swagger UI 3.15.0+ 和 Swagger Editor 3.5.6+ 中受支持。在参数编辑器中,输入 JSON 对象格式的参数名称和值,例如:
{
"lat": 50,
"long": 20,
"scale": 32000
}
“试试看”会将这些参数作为矩阵参数发送到 URL:
对于那些使用 Java 注释@MatrixParam
的人,swagger-core 2.0 支持。@MatrixParam
对应于 OpenAPI 3.0 的路径参数style: matrix
(如上例所示)。
Swagger 2.0 规范没有提及有关 JAX-RS 矩阵参数的任何内容。
还查看 swagger-jaxrs 实现,您可以看到在负责扫描 JAX-RS 参数注释的类@MatrixParam
中忽略了它。