【问题标题】:Build a RESTful API server using FLASK?使用 FLASK 构建 RESTful API 服务器?
【发布时间】:2017-04-25 15:16:35
【问题描述】:

我有一个 python 函数,它将 JSON 对象作为输入并返回“是/否”输出。现在,我正在尝试将其转换为 API 服务器,以便另一个 API 可以调用它,传递 JSON,我的 API 服务器可以返回“YES/NO”。

我阅读了 Flask-RESTFul 并查看了一些示例。但它们都是从 API 客户端的角度编写的,例如读取待办事项列表或从数据库中读取数据的 API 等。

谁能举一个 2 个小脚本的例子 - 一个充当 API 服务器,另一个充当 API 客户端。 API 客户端调用 API 服务器并传递以下 JSON -

{'fruit_1':'apple', 'fruit_2':'melon'}

API 服务器返回 'apple' 作为输出。

提前致谢!

【问题讨论】:

  • 您是否尝试过先在 Internet 上的其他地方搜索现有教程,例如 flask-restful.readthedocs.io/en/0.3.5/quickstart.html
  • 你好 metatoaster!是的,我阅读了此快速入门指南。它讨论了为 todo Web 服务构建 API 客户端。一个简短的具体例子会很有帮助。
  • @Amit 下面给出的代码不起作用吗?您可以将 Flask Restful 与类和获取、发布方法等一起使用,但这是最简单的示例。我忘了提请求 POST
  • @Zohaib - 感谢您的回复。我会测试它并在一段时间内更新。

标签: python api flask-restful


【解决方案1】:

这是一个示例 Restful api 代码。

服务器端代码

from flask import Flask, request
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class MyResource(Resource):
    def post(self):
        data = request.data
        # Process data
        return {'message': 'YES/NO'}

api.add_resource(MyResource, '/')

if __name__ == '__main__':
    app.run(debug=True)

客户端代码

import json
import requests
url = 'http://127.0.0.1:5000'
data = json.dumps({'fruit_1':'apple', 'fruit_2':'melon'})
headers = {'Content-Type': 'application/json'}
response = requests.post(url, data=data, headers=headers)
print(response.json()['message'])

【讨论】:

  • 尝试了代码...经过一些小调整后它就可以工作了。请进行这些更改,以便我接受您的回答。 1. 在服务器端代码中包含“from flask import request”。非常感谢您的帮助。还有一个问题 - 这是 RESTful API 吗?
猜你喜欢
  • 2015-05-14
  • 2015-12-19
  • 1970-01-01
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-07
相关资源
最近更新 更多