Я разрабатываю Python API с флягой и swagger, и я хочу изменить один из входных данных со строки на список:
Это текущий рабочий код для схемы:
/question:
post:
operationId: processor.convertInputString
tags:
- People
summary: Create a person and add it to the people list
description: Create a new person in the people list
parameters:
- name: input_string_2
in: body
description: Person to create
required: True
schema:
type: object
properties:
question:
type: list
description: question to match
responses:
201:
description: Successfully created person in list
и запрос, который я использую:
data = {"question": "processor","num_results":3}
headers = {'content-type': 'application/json'}
url = "http://localhost:5000/api/question"
data = requests.post(url,data=json.dumps(data), headers=headers)
Это отлично работает, но мне нужно поменять {"question": "processor"} на:
{"question": ["processor"]}
но когда я делаю этот запрос, я получаю эту ошибку:
'{\n "detail": "[\'processor\'] is not of type \'string\'",\n "status": 400,\n "title": "Bad Request",\n "type": "about:blank"\n}\n'
Поэтому я попытался изменить тип данных со строки на список в схеме:
schema:
type: object
properties:
question:
type: list
description: question to match
Но я получаю другуюошибка с этим.
Failed validating 'oneOf' in schema['properties']['paths']['patternProperties']['^/']['properties']['post']['properties']['parameters']['items']:
{'oneOf': [{'$ref': '#/definitions/parameter'},
{'$ref': '#/definitions/jsonReference'}]}
On instance['paths']['/question']['post']['parameters'][0]:
{'description': 'Person to create',
'in': 'body',
'name': 'input_string_2',
'required': True,
'schema': {'properties': {'question': {'description': 'question to '
'match',
'type': 'list'}},
'type': 'object'}}