zoukankan      html  css  js  c++  java
  • 使用python中的flsk开发接口

    以下是一个接口开发实例:

      功能见注释:

    # coding = utf-8
    
    import flask
    import json
    from API import db_conn
    
    server = flask.Flask(__name__)  # 对flsk进行实例化
    
    @server.route('/add_student', methods=['post'])   # 接口地址路由及请求方式
    def add_student():
        params1 = flask.request.json   # 入参是字典json时用它,下面的代码要判断传入的参数是否是json类型
        params = flask.request.form     # 请求值是表单的形式  application/x-www-form-urlencoded
        if params:                      # 判断请求的值是否是json或表单
            name = params.get('name')
            sex = params.get('sex', '')  # 如果没有传。默认值是男
            age = str(params.get('age'))  # int类型
            addr = params.get('addr')
            grade = params.get('grade')
            phone = str(params.get('phone'))  # 最少11位,不能重复
            gold = str(params.get('gold', 500))  # 金币可以是小数,如果没有传默认是500
    
            if name and age and addr and grade and phone:  # 必填参数校验
    
                if sex not in['', '']:  # 如果性别不是男或者女
                    res = {"error_code": 3003, "msg": "性别只能是男或者女"}
                elif not age.isdigit():  # 如果不是整数类型
                    res = {"error_code": 3004, "msg": "年龄输入错误"}
                elif len(phone)!=11 or not phone.isdigit():
                    res = {"error_code": 3005, "msg": "手机号输入错误"}
                elif not gold.isdigit() and not db_conn.check_float(gold):  # 如果不是整数也不是小数
                    res = {"error_code": 3006, "msg": "金币输入错误"}
                else:
                    sql="select* from app_student where phone='%s';"%phone   # 查看数据库中是否有这个手机号,有的话说明重复
                    result = db_conn.my_db(sql)  # 执行sql
                    if result:
                        res = {"error_code": 1000, "msg": "手机号已经存在"}
                    else:
                        sql = "INSERT INTO app_student(NAME,sex,age,addr,grade,phone,gold)VALUES('%s','%s',%s,'%s','%s',%s,'%s')" % (
                            name, sex, age, addr, grade, phone, gold)   # sql增加操作
                        db_conn.my_db(sql)          # 调用执行sql
                        res = {"error_code": 200, "msg": "新增成功! "}
            else:
                res = {"error_code": 3007, "msg": "必填参数未填写"}
        else:
            res={"error_code": 3002, "msg": "入参必须是json类型"}
        return json.dumps(res, ensure_ascii=False)  # 防止出现乱码
    
    server.run(host='192.168.10.22',port=8885)   #  启动服务
  • 相关阅读:
    第二次作业——结对项目需求分析与原型设计
    调研《构建之法》指导下的历届作品
    软件工程的实践项目课程的自我目标
    使用@Scheduled注解做定时任务
    ng2中的百度echarts3.0使用——(echarts-ng2)
    angular-cli.json配置参数解释,以及依稀常用命令的通用关键参数解释
    SpringData实现Mongodb的CRUD:MongoTemplate框架
    idea利用jdbc连接ORACLE数据库实现一个查询显示
    dbvisualizer的使用
    DUBBO开发问题:添加无法生成主键
  • 原文地址:https://www.cnblogs.com/jsondai/p/11513188.html
Copyright © 2011-2022 走看看