python编写api接口
Posted wangju003
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python编写api接口相关的知识,希望对你有一定的参考价值。
目标:
使用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接口
以上是关于python编写api接口的主要内容,如果未能解决你的问题,请参考以下文章
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段