目标:python
使用Python实现一个简单的接口服务,能够经过get、post方法请求该接口,拿到响应数据。建立一个api_server.py文件,json
想要实现的效果是这样的:flask
添加代码以下: api
1 import flask,json 2 from flask import request 3 4 ''' 5 flask: seb框架,经过flask提供的装饰器@server.route()将普通函数转换为服务 6 登陆接口,须要传入url,username,passwd 7 ''' 8 9 #建立一个服务,把当前这个python文件当作一个服务 10 server = flask.Flask(__name__) 11 12 #server.route()能够将普通函数转变为服务 登陆接口的路径、请求方式 13 @server.route('/login',methods=['get','post']) 14 def login(): 15 #获取经过url请求传参的数据 16 username = request.values.get('name') 17 #获取url请求传的密码,明文 18 pwd=request.values.get('pwd') 19 #判断用户名、密码都不为空,若是不传用户名、密码则username和pwd为None 20 if username and pwd: 21 if username == 'xiaoming' and pwd == '111': 22 resu={'code':200,'message':'登陆成功'} 23 return json.dumps(resu,ensure_ascii=False)#将字典转换为Json串,json是字符串 24 else: 25 resu={'code':-1,'message':'帐号密码错误'} 26 return json.dumps(resu,ensure_ascii=False) 27 28 else: 29 resu={'code':1001,'message':'参数不能为空'} 30 return json.dumps(resu,ensure_ascii=False) 31 32 if __name__== '__main__': 33 server.run(debug=True,port = 8888,host='0.0.0.0')#指定端口,host,0.0.0.0表明无论几个网卡,任何ip均可访问
执行以上代码,测试一下效果: 浏览器
1.正确的用户名,错误的密码框架
在浏览器中输入http://127.0.0.1:8888/login?name=xiaoming&pwd=111111函数
2.正确的用户名 正确的密码 post
http://127.0.0.1:8888/login?name=xiaoming&pwd=111学习
3.密码为空测试
http://127.0.0.1:8888/login?name=xiaoming
参照下面3文(使用了第1篇文章做者的思路,以最低的学习成本实现了我想要的目标,经过 一个http地址 ,请求到相应的json数据 )
使用Python实现一个简单的接口服务(利用flask)
https://blog.csdn.net/songlh1234/article/details/83381642
用Python 的Flask实现 RESTful API(学习篇)(极好!最复合我完整的需求,小例子深刻浅出,简显易懂)
https://www.jianshu.com/p/33160c224732
Python实现简单的API接口
https://blog.csdn.net/u013040887/article/details/78895323/