Obtenir une erreur mystérieuse avec la spécification OpenAPI et la connexion 2.0, je le posterai ici quand je le comprendrai
* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
[2018-11-05 23:51:32,803] ERROR in app: Exception on /path [GET]
Traceback (most recent call last):
File "/project/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/project/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/project/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/project/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/project/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/project/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/project/lib/python3.6/site-packages/connexion/decorators/decorator.py", line 73, in wrapper
response = function(request)
File "/project/lib/python3.6/site-packages/connexion/decorators/uri_parsing.py", line 132, in wrapper
response = function(request)
File "/project/lib/python3.6/site-packages/connexion/decorators/validation.py", line 339, in wrapper
return function(request)
File "/project/lib/python3.6/site-packages/connexion/decorators/decorator.py", line 44, in wrapper
response = function(request)
File "/project/lib/python3.6/site-packages/connexion/decorators/parameter.py", line 108, in wrapper
request.files, arguments, has_kwargs, sanitize)
File "/project/lib/python3.6/site-packages/connexion/operations/abstract.py", line 268, in get_arguments
has_kwargs, sanitize))
File "/project/lib/python3.6/site-packages/connexion/operations/openapi.py", line 284, in _get_query_arguments
arguments, has_kwargs, sanitize)
File "/project/lib/python3.6/site-packages/connexion/operations/abstract.py", line 194, in _query_args_helper
res[key] = self._get_val_from_param(value, query_defn)
File "/project/lib/python3.6/site-packages/connexion/operations/openapi.py", line 295, in _get_val_from_param
return make_type(value, query_schema["type"])
File "/project/lib/python3.6/site-packages/connexion/utils.py", line 46, in make_type
return type_func(value)
ValueError: dictionary update sequence element #0 has length 1; 2 is required
127.0.0.1 - - [05/Nov/2018 23:51:32] "GET /path?foo=bar HTTP/1.1" 500 -
Dans ma spécification OpenAPI, j'ai changé cela
Geo:
description: A Geolocation object
type: object
properties:
latitude:
type: integer
example: 40.742306
longitude:
type: integer
example: -74.003494
pour ça
Geo:
description: A Geolocation object
type: array
items:
type: number
format: double
example: 40.742306,-74.003494
et ça a l'air de régler le problème
Cela m'aiderait beaucoup si vous pouviez publier une spécification de travail complète afin que je puisse reproduire le problème.
Salut,
Ce bogue est dû à l'échec de la ligne suivante car l'entrée est une chaîne au lieu de dict.
https://github.com/zalando/connexion/blob/master/connexion/operations/openapi.py#L268
Serez-vous capable de résoudre ce problème en convertissant la chaîne en dict ?
Merci d'avance!
Commentaire le plus utile
Dans ma spécification OpenAPI, j'ai changé cela
pour ça
et ça a l'air de régler le problème