python编写api接口--使用flask

 目标:

使用Python实现一个简单的接口服务,可以通过get、post方法请求该接口,拿到响应数据。创建一个api_server.py文件,

 

想要实现的效果是这样的:

添加代码如下: 

 

 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.正确的用户名 正确的密码 

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/

使用Python编写API接口和使用API接口

https://www.jianshu.com/p/adf9bcbc196e

posted @ 2019-08-26 14:01  wangju003  阅读(18404)  评论(3编辑  收藏  举报