Как я могу построить правильный API успокоительного ответа Python колбу для параметров - PullRequest
0 голосов
/ 04 марта 2019

Я изучаю API RESFful с python.Я хочу построить свой успокаивающий сервер API, но у меня есть проблема, я не знаю, как мой сервер API возвращает правильные данные путем запроса каждого параметра

(пример кода запроса), код запроса хочет получитьинформация о 'item': 'sword'

import requests
import json
url = "https://theURL"
querystring={"item":"sword"}
response = requests.request("GET", url, params=querystring)
print (response.json())

(пример кода ответа сервера API, по флакону python)

from flask import Flask, url_for
from flask_restful import Resource, Api, abort, reqparse
app = Flask(__name__)
api = Api(app)

TODOS = {

    "version":"2.0",
    "resultCode":"OK",
    "output":{
         {
        "item" :"sword"
        "price": 300,
        "damage": 20,
         },
        {
        "item" :"gun"
        "price": 500,
        "damage": 30,
         },
        },
}

class Todo(Resource):
    def post(self):
        return TODOS

api.add_resource(Todo, '/item.price')


if __name__ == "__main__":
           app.run(debug=True, host ="192.168.0.8", port = 8080)

Итак, я хочу знать, как использовать код в ответAPI-сервер для возврата данных о цене товара по запрашиваемым параметрам item: меч Я просто хочу получить информацию о цене и уроне выбранного параметра.

Я думал, что это может быть очень легко, я пыталсянайдите пример, но я не смог найти правильный пример кода.

1 Ответ

0 голосов
/ 05 марта 2019

Я не специалист по Flask, но это помогает настроить и запустить минималистичный Flask-сервер.Затем this объясняет, как вернуть данные в формате json с вашего сервера, и, наконец, как запросить и интерпретировать json-ответ можно найти здесь .Ниже приведены:

Сервер, возвращающий данные в формате json:

from flask import Flask
from flask import jsonify
app = Flask(__name__)

@app.route('/')
@app.route('/index')
def hello():
    return "Hello, World!"


@app.route('/request_sword')
def grant_sword():
    return jsonify({"sword": {"name":"Excalibur","price":"stack overflow"}})

Клиент, запрашивающий данные в формате json:

import json
import urllib.request

url = "http://127.0.0.1:5000/request_sword" ## My local host flask server

data  = urllib.request.urlopen(url)

response = json.loads(data.read())

print(response)

Это все на самом деле.Вы также можете просто ввести URL в вашем браузере, который будет правильно читать данные json: enter image description here

...