之前一直用易语言开发API接口。突发奇想,准备使用python进行一次API的开发!
首先准备工作
打开百度,搜索,按照代码注释自己理解开始抄!
[Python] 纯文本查看 复制代码
import flask #导入自带的web服务from flask import request #导入自带的web服务中的requestserver = flask.Flask(__name__)@server.route('/list/project',methods = ['get'])#创建路径为/list/project的get接口def Projectlist(): proj = request.values.get('project')#获取get接口的参数project保存在proj中 name = request.values.get('name')#获取get接口的参数name保存在name中 project = { #准备构造返回的json "msg":"ok", "status":200, "data":{ "project":proj, "name":name } } return project#把构造的json格式返回@server.route('/',methods = ['POST'])#创建根路径的post接口def post(): name = [color=#000][font=Consolas, "]request.stream.read()[/font][/color] #额,这里其实是不想写了,只是想测试一下,就直接把请求体返回回去! return nameif __name__ == '__main__': server.run(host='127.0.0.1',port=80,debug=True) #创建一个本地服务
打包后发现了一个错误
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
中文翻译:警告:这是一个开发服务器。不要在生产部署中使用它。请使用生产WSGI服务器。
百度,查找问题。经过修改后的代码
[Python] 纯文本查看 复制代码
import flask #导入自带的web服务from flask import request #导入自带的web服务中的requestfrom gevent import pywsgi #导入第三方的web服务server = flask.Flask(__name__)@server.route('/list/project',methods = ['get'])#创建路径为/list/project的get接口def Projectlist(): proj = request.values.get('project')#获取get接口的参数project保存在proj中 name = request.values.get('name')#获取get接口的参数name保存在name中 project = { #准备构造返回的json "msg":"ok", "status":200, "data":{ "project":proj, "name":name } } return project#把构造的json格式返回@server.route('/',methods = ['POST'])#创建根路径的post接口def post(): name = request.stream.read() #额,这里其实是不想写了,只是想测试一下,就直接把请求体返回回去! return nameif __name__ == '__main__': app = pywsgi.WSGIServer(('127.0.0.1',80),server)#创建一个本地服务 app.serve_forever()#启动这个服务
其他相关笔记
[Python] 纯文本查看 复制代码
#如果想创建其他接口,methods接口可以多选:methods = ['POST','GET'...]