Swagger 2.0是否支持JAX-RS规范的矩阵参数?
JAX-RS specification有Matrix-Parameter支持。
我的应用程序中存在一些矩阵参数,例如/map/color;lat=50;long=20;scale=32000
。
我想为矩阵参数派生Swagger。我用http://editor.swagger.io;但我在编辑器中得不到任何帮助。任何人都可以帮助我吗?
Swagger 2.0是否支持矩阵参数?
支持矩阵参数的其他链接:
答案 0 :(得分:1)
Swagger 2.0 spec未提及有关JAX-RS Matrix参数的任何内容。
同时查看swagger-jaxrs实现,您可以看到the class中@MatrixParam
被忽略,负责扫描JAX-RS参数注释。
答案 1 :(得分:0)
OpenAPI / Swagger 2.0不支持矩阵参数,但OpenAPI 3.0支持它们。
使用OpenAPI 3.0,您的示例:
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
可以定义为:
{
"lat": 50,
"long": 20,
"scale": 32000
}
Swagger UI 3.15.0+和Swagger Editor 3.5.6+支持此功能。在参数编辑器中,以JSON对象格式输入参数名称和值,例如:
@MatrixParam
“试一试”会将这些参数作为矩阵参数发送到URL:
对于那些使用Java注释的人,swagger-core 2.0支持@MatrixParam
。 style: matrix
对应于带有platform :osx, '10.7'
pod 'JSONKit', '~> 1.4'
link_with 'Pomo', 'Pomo Dev', 'Pomo Tests'
的OpenAPI 3.0路径参数(如上例所示)。