Я реализую REST API в Python, используя Flask. Мне нужно получить параметры для выполнения запроса и возврата ресурсов. Чтобы быть выровненными с принципами REST
, я собираюсь использовать запрос GET
для этой операции.Как получить данные GETted json в Flask
Учитывая, что может быть много параметров, я хочу, чтобы отправить их через conf.json
файл, например:
{"parameter": "xxx"}
Я выполнить запрос через curl
:
$ завиток - H "Content-Type: application/json" --data @ conf.json -G http://localhost:8080/resources/
Запрос перенаправляется ИДКТК на маршрут с этими операциями:
@resources.route('/resources/', methods=['GET'])
def discover():
if request.get_json():
json_data=request.get_json()
return jsonify(json_data)
что я получаю обратно:
<head>
<title>Error response</title>
</head>
<body>
<h1>Error response</h1>
<p>Error code 400.
<p>Message: Bad request syntax ('GET /resources/?{"parameter": "xxx"} HTTP/1.1').
<p>Error code explanation: 400 = Bad request syntax or unsupported method. </body>
Кто-нибудь знает, как получить данные JSON и правильно обращаться с этим в запросе?
@ загружает файл в качестве параметра URL-адрес, так как запрос GET типа. Это выглядит не очень хорошо и может вызвать множество проблем с кодировкой символов. Ты уверен, что так оно и есть? – Fma