python学习(二十四)开发接口
Posted 所谓双鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习(二十四)开发接口相关的知识,希望对你有一定的参考价值。
模拟一些接口,在接口没有开发成功前,可以用它来测试
用来查询数据
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学习(二十四)开发接口的主要内容,如果未能解决你的问题,请参考以下文章