之前一直用易语言开发API接口。突发奇想,准备使用python进行一次API的开发!
首先准备工作
打开百度,搜索,按照代码注释自己理解开始抄!
[Python] 纯文本查看 复制代码 import flask #导入自带的web服务
from flask import request #导入自带的web服务中的request
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 = [color=#000][font=Consolas, "]request.stream.read()[/font][/color] #额,这里其实是不想写了,只是想测试一下,就直接把请求体返回回去!
return name
if __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服务中的request
from 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 name
if __name__ == '__main__':
app = pywsgi.WSGIServer(('127.0.0.1',80),server)#创建一个本地服务
app.serve_forever()#启动这个服务
其他相关笔记
[Python] 纯文本查看 复制代码 #如果想创建其他接口,methods接口可以多选:methods = ['POST','GET'...] |