1. 程式人生 > >一個簡單python介面開發(flask_restful案例)

一個簡單python介面開發(flask_restful案例)

執行環境:python3

post引數:user,pwd

介面功能:將引數轉換成字串相加並返回json

from flask import Flask, g
from flask_restful import reqparse, Api, Resource
from flask_httpauth import HTTPTokenAuth

# Flask相關變數宣告
app = Flask(__name__)
api = Api(app)

# RESTfulAPI的引數解析 -- put / post引數解析
parser_put = reqparse.RequestParser()
parser_put.add_argument("user", type=str, required=True, help="need user data")
parser_put.add_argument("pwd", type=str, required=True, help="need pwd data")


# 功能方法部分案例
def to_do(arg1, args2):
    return str(arg1)+str(args2)


# 操作(post / get)資源列表
class TodoList(Resource):

    def post(self):
        args = parser_put.parse_args()

        # 構建新引數
        user = args['user']
        pwd = args['pwd']
        # 呼叫方法to_do
        info = {"info": to_do(user, pwd)}

        # 資源新增成功,返回201
        return info, 201


# 設定路由,即路由地址為http://127.0.0.1:5000/users
api.add_resource(TodoList, "/users")

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

執行該py檔案,將服務啟動

這個時候服務已經啟動了,地址“ http://127.0.0.1:5000/users ”

為了測試介面是否可以正常呼叫,我們新建一個test2.py檔案,模擬傳送引數到這個地址,看是否有返回結果。

py檔案內容如下:

import requests
import json

# api路徑
url="http://127.0.0.1:5000/users"

parms = {
    'user': 'abc',  # 傳送給伺服器的內容
    'pwd': '456'
}

headers = {
    'User-agent': 'none/ofyourbusiness',
    'Spam': 'Eggs'
}

res = requests.post(url, data=parms,headers=headers)  # 傳送請求


text = res.text
print(json.loads(text))

執行測試檔案test2.py,可以看到返回結果:

表示介面可以正常呼叫了!