“enum”在 OpenAPI 2.0 中的工作方式如下:
{
"in": "query",
"name": "sample",
"description": "a sample parameter with an enum value",
"type": "string",
"enum": [ "1", "2"],
"required": true
}
在 OpenAPI 3.0 中:
{
"in": "query",
"name": "sample",
"description": "a sample parameter with an enum value",
"schema": {
"type": "string",
"enum": [ "1", "2"]
},
"required": true
}
如您所见,有一个名为的查询参数sample
类型为字符串,并且有一个枚举说明两个可能的值。在本例中,示例声明该参数是必需的,因此 UI 不会将空值显示为选项。
对于最小的工作示例,请尝试以下操作:
{
"swagger": "2.0",
"info": {
"title": "title",
"description": "descriptor",
"version": "0.1"
},
"paths": {
"/sample": {
"post": {
"description": "sample",
"parameters": [
{
"in": "query",
"name": "sample",
"description": "a sample parameter with an enum value",
"type": "string",
"enum": [
"1",
"2"
],
"required": true
}
],
"responses": {
"200": {
"description": "Successful request."
}
}
}
}
}
}
要在本地测试它,您可以声明一个变量(例如spec
) 在您的 javascript 中,并将其传递到 SwaggerUi 对象中。
var spec = { ... };
window.swaggerUi = new SwaggerUi({
url: url,
spec: spec,
dom_id: "swagger-ui-container",
supportedSubmitMethods: ['get', 'post', 'put', 'delete'],
onComplete: function(swaggerApi, swaggerUi){
...
The url
在这种情况下,参数将被忽略。
最终,输出如下所示: