Ответ 1
"enum" работает так:
{
"in": "query",
"name": "sample",
"description": "a sample parameter with an enum value",
"type": "string",
"enum": [ "1", "2"],
"required": true
}
Как вы можете видеть, есть параметр запроса, называемый sample
строки типа, и имеет перечисление, содержащее два возможных значения. В этом случае образец указывает, что параметр необходим, поэтому пользовательский интерфейс не будет показывать пустое значение в качестве опции.
Для минимального рабочего образца попробуйте следующее:
{
"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){
...
В этом случае параметр url
будет проигнорирован.
В итоге вывод выглядит следующим образом:
Я смог сделать это так хорошо, но, как вы можете видеть на изображении, прикрепленном ниже для каждого параметра, он создал раскрывающийся список:
То, что я хочу достичь, это приятные вкладки схемы модели/модели, как показано на рисунке ниже, с доступными перечислениями, перечисленными для параметра. Возможно ли это в последней версии Swagger: