tools node javascript json swagger

javascript - node - Cómo definir enum en swagger.io?



swagger tools (4)

"enum" funciona así:

{ "in": "query", "name": "sample", "description": "a sample parameter with an enum value", "type": "string", "enum": [ "1", "2"], "required": true }

Como puede ver, hay un parámetro de consulta llamado sample of type string, y tiene una enumeración que indica dos valores posibles. En este caso, la muestra indica que el parámetro es obligatorio, por lo que la IU no mostrará un valor vacío como opción.

Para una muestra mínima de trabajo, intente esto:

{ "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." } } } } } }

Para probarlo localmente, puede declarar una variable (por ejemplo, spec ) en su javascript y pasarla al objeto 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){ ...

El parámetro url será ignorado en este caso.

Eventualmente, la salida se ve así:

Pude hacerlo de esta manera bien, pero como puede ver en la imagen adjunta a continuación para cada parámetro, creó el menú desplegable:

Lo que quiero lograr es una buena pestaña de Modelo / Esquema de modelo como en la siguiente imagen con las enumeraciones disponibles enumeradas para el parámetro. ¿Es esto posible en la última versión de Swagger?

¿Alguien fue capaz de definir posibles valores ''enum'' en la pestaña Modelo en swaggger versión 2.0? Ejemplo aquí: http://petstore.swagger.wordnik.com/#!/pet/addPet tiene una opción de enumeración para la propiedad ''estado'', pero ese ejemplo está usando la versión 1.0 de swagger (según la versión swagger definida en el objeto JSON). Intenté lograr lo mismo en la versión 2.0 pero no tuve suerte, no estoy seguro de que la documentación sea correcta para esto.

¿Alguna pista sobre esto?


Actualizando esto con sintaxis YAML:

in: query name: sample description: a sample parameter with an enum value type: string enum: - 1 - 2 required: true


Esta no es la respuesta exacta, pero podría funcionar para usted hasta que agreguen esta funcionalidad.

Simplemente declare la propiedad como tal

"MyObject":{ "properties":{ "MyEnum":{ "type":"Value1 or Value2 or Value3" } } }

Su ModelSchema mostrará {} , pero The Model mostrará MyEnum(Value1 or Value2 or Value3, optional)