swagger-api / swagger-api/swagger-codegen
[PYTHON] Handling multiple responses with codegen
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Mustache
- Estrellas
- 17.8k
- Forks
- 6k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
I have different type of responses for different status code , consider the contents of swagger.json to be
{
"swagger": "2.0",
"info": {
"title": "My Api",
"description": "Api for Queue",
"version": "v1"
},
"host": "localhost:8000",
"schemes": ["http"],
"basePath": "/api",
"consumes": ["application/json"],
"produces": ["application/json"],
"securityDefinitions": {},
"security": [{}],
"paths": {
"/v1/{name}/get_task": {
"get": {
"operationId": "v1_get_task_read",
"description": "Get the first task from queue \n---",
"parameters": [{
"name": "priority",
"in": "query",
"required": false,
"type": "string"
}],
"responses": {
"200": {
"description": "QueuedTask Object",
"schema": {
"$ref": "#/definitions/QueuedTask"
}
},
"204": {
"description": "null object response"
}
},
"tags": ["v1"]
},
"parameters": [{
"name": "name",
"in": "path",
"required": true,
"type": "string"
}]
}
},
"definitions": {
"QueuedTask": {
"required": ["name"],
"type": "object",
"properties": {
"id": {
"title": "ID",
"type": "integer",
"readOnly": true
},
"name": {
"title": "Name",
"type": "string",
"maxLength": 16
}
}
}
}
}
Swagger codegen version 2.3.1
java -jar swagger-codegen-cli-2.3.1.jar generate -l python -i swagger.json -o outs
swagger_client produced inside outs directory doesn't support None object for 204 response. It tries to deserialize the empty response into QueuedTask object and breaks.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Usa el swagger.json proporcionado y ejecuta el comando de generación de Python de Swagger Codegen 2.3.1 indicado. Inspecciona el manejo de las respuestas 200 y 204 en el swagger_client generado, centrándote en la respuesta 204 vacía. Se considera terminado cuando el cliente generado acepta la respuesta 204 sin intentar deserializarla como QueuedTask, manteniendo al mismo tiempo el comportamiento de la respuesta 200.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- api, tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100