• 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
  • 相关阅读:
    python matplotlib 绘图
    python set add 导致问题 TypeError: unhashable type: 'list'
    python 子类继承父类的__init__方法
    python 内存监控模块之memory_profiler
    git log 常用命令
    wireshark使用教程
    python os.path模块
    Linux crontab 定时任务
    linux环境变量LD_LIBRARY_PATH
    Linux的ldconfig和ldd用法
  • 原文地址:https://www.cnblogs.com/hushaoyan/p/10197510.html
Copyright © 2020-2023  润新知