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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM