码迷,mamicode.com
首页 > 编程语言 > 详细

python学习(二十四)开发接口

时间:2018-05-11 00:09:40      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:sql   charset   pre   div   建立   http   strip()   size   数据库表   

模拟一些接口,在接口没有开发成功前,可以用它来测试

用来查询数据

1、第一个接口

import flask,json
#__name__,代表当前这个python文件
server=flask.Flask(__name__) #把这个python文件,当做一个服务
#ip:8000/index?uge
@server.route(/index,methods=[get,post]) #可以只写一个,那就只支持那一个
def index():
    res={msg:这是开发的第一个接口,msg_code:0}
    return json.dumps(res,ensure_ascii=False)
server.run(port=5555,debug=True)  #debug=True,改了代码之后,不用重启,会自动重启

执行该程序后,打开本地127.0.0.1:5555/index  ,界面会显示:‘msg‘:‘这是开发的第一个接口‘,‘msg_code‘:0

2、注册接口

通过用户名密码进行注册,如果用户在数据库已存在,则返回已存在提示,否则写入数据库并返回注册成功

在执行该段代码时,必须先有个数据库操作的函数,在之前也写过,具体如下:

def my_db(sql):
    import pymysql
    coon = pymysql.connect(
        host=xxxx, user=jxz, passwd=123456,
        port=3306, db=jxz, charset=utf8)
    cur = coon.cursor() #建立游标
    cur.execute(sql)#执行sql
    if sql.strip()[:6].upper()==SELECT:
        res =  cur.fetchall()
    else:
        coon.commit()
        res = ok
    cur.close()
    coon.close()
    return res

在下面这段代码中会调用数据库操作的函数

import flask,json
server=flask.Flask(__name__) 
@server.route(/reg,methods=[post])
def reg():
    username=flask.request.values.get(username)
    pwd =flask.request.values.get(passwd)
    if username and pwd:
        sql=select * from my_user where username="%s";%username
        if my_db(sql):
            res={msg:用户已存在,msg_code:2001}
        else:
            insert_sql=insert into my_user (username,passwd,is_admin) values ("%s","%s",0);%(username,pwd)
            my_db(insert_sql)
            res={msg:注册成功,msg_code:0}
    else:
        res={msg:必填字段未填,请查看接口文档,msg_code:1001}
    return json.dumps(res,ensure_ascii=False)

server.run(port=5555,debug=True,host=0.0.0.0)
#加host=0.0.0.0,表示其他人用你的ip就可以访问了

执行该程序,打开postman,URL输入127.0.0.1:5555/reg,选择post方式,直接点击send,或用户名密码没有写全,则会返回:‘msg‘:‘必填字段未填,请查看接口文档‘,‘msg_code‘:1001

技术分享图片

 

如果在body中写了用户名和密码的值,且用户在数据库表中不存在,点击send,则会返回:‘msg‘:‘注册成功‘,‘msg_code‘:0,且数据库中会写入

技术分享图片

 

如果在body中写了用户名和密码的值,且用户在数据库表中存在,点击send,则会返回:‘msg‘:‘用户已存在‘,‘msg_code‘:2001

技术分享图片

 3、

 

python学习(二十四)开发接口

标签:sql   charset   pre   div   建立   http   strip()   size   数据库表   

原文地址:https://www.cnblogs.com/emilyliu/p/9021497.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!