iT邦幫忙

1

伸縮自如的Flask [day16] API

活在前後端分離的年代,我覺得後端重要的工作之一就是寫出好用、好溝通的API。

可以先看一下HTTP 請求方法:

  • GET : 不帶form參數,請求取得資料。
  • POST : 提交form參數,以進行操作。
  • PUT : 完全更新一筆資料。
  • PATCH : 部分更新一筆資料。
  • DELETE : 刪除資料。

而在flask中,我們可以在裝飾器選定HTTP請求方法:

@app.route('/login',methods = ['POST', 'GET'])

假設都不寫的話預設就只有GET方法:

@app.route('/login')

那我們也可以依據請求方法,來決定程式進行不同的操作:

if request.method == 'POST':

在REST API的世界裡,都是以json的格式來進行溝通:

from flask import Flask, request, Blueprint,jsonify,current_app

@product_blueprint.route('/product_list')
def productList():
    product_List=['apple','orange']

    return jsonify({'result':1,"content":product_List})

如果要附上HEADERS資訊及狀態碼呢?

from flask import  Flask,render_template,jsonify,make_response

app = Flask(__name__)

@app.route('/')
def login():
    product_List=['apple','orange']
    response = make_response(jsonify({"product_List": product_List, "severity": "danger"} ),         200, )   
    response.headers["Content-Type"] = "application/json"
    return response

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


尚未有邦友留言

立即登入留言