伸缩自如的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)    


<<:  Mikrotik RouterOS从入门到实战系列-Mikrotik入门第四课

>>:  Day 4 (CSS)

Day 4 仓库 Repository

若你有用过 github 的话,对於仓库 Repository 的概念想必是不陌生。它就是一个存放各...

Day 17 - UML x Interface — FormControl

上一章是在讲跟 Input 相关的表单元件会使用 TextField 来给定表单会用到的 requ...

Day26 小乌龟登场,麦块的强大帮手

之前已介绍过 Computer, Advanced Computer, Pocket Compute...

Day 05 - TypeScript 语法

字串 string / 数字 number let userName: string; // 将变数...

Day11-旧网站重写成Vue_2_json抓取资料与渲染

今天要把「关於」的部分写完 首先因为架构是差不多的,所以我打算使用json做成文档然後再抓取渲染 先...