1. 程式人生 > >8-2 開發介面 (入參是json格式)

8-2 開發介面 (入參是json格式)

1、開發入參事json格式的介面

import json
import tools
import flask
from .check_session import check_session
server = flask.Flask(__name__)

@server.route('/api/add_stu',methods=['post'])
def add_stu():
    """
新增學生資訊介面
    :return: 返回新增的學生資訊
    """
    if flask.request.is_json:  # 首先需要判斷入參是否是json格式的
        #
從外界獲取到輸入的值,必填引數 session_id = flask.request.json.get('session_id') name= flask.request.json.get('name') phone = flask.request.json.get('phone') grade = flask.request.json.get('grade') # 從外界獲取到輸入的值,非必填,使用者請求不傳時設定預設值 addr = flask.request.json.get('addr','
北京') sex = flask.request.json.get('sex','') age = flask.request.json.get('age',18) gold = flask.request.json.get('gold',1000) # 判斷session_id name phone grade是否為空 if session_id and name and phone and grade: # 都必填的操作 # 定義兩個變數來接收 判斷session_id是否有效函式中返回的值
login_tag , data = check_session(session_id) if login_tag: # session_id 有效 # 插入sql insert_sql="insert into `jxz`.`app_student` ( `name`, `sex`," \ " `age`, `addr`, `grade`, `phone`, `gold`)" \ " values ( '%s', '%s', '%s', '%s', '%s', '%s', '%s');"%(name,sex,age,addr,grade,phone,gold) tools.my_db(insert_sql) # 呼叫tools下的my_db函式,執行sql res = {'code':0,'msg':'學生資訊新增成功'} # 介面返回的型別都是json型別的 else: # session_過期了,返回session_id res = data else: # 必填引數沒有填時給出提示資訊:必填引數未填 res = {'code':3,'msg':'必填引數未填,請檢視介面文件!'} else: # 判斷入參不是json格式的,提示入參是json格式 res = {'code':5,'msg':'入參是json型別的!'} return json.dumps(res, ensure_ascii=False) # 將返回的結果轉換成json