1.将python服务做成给定参数输入和输出的格式,具体格式可以参考rap文档里面的接口定义形式。
2.在python里面导入flask包,以及可能用到的request,jsonify等
3.app = Flask(name),app是Flask的实例,它接收包或者模块的名字作为参数,但一般都是传递__name__
4.并在每一个运行的接口服务前面用@app.route()的方式规定好接口路径和接口请求方式(一般为post或者get)
5.定义函数具体内容,接收相关参数并进行具体逻辑处理。
6.返回JSON格式的内容。
7.用app.run()来确定主机和端口号。
一个示例如下:
from flask import Flask, jsonify, request
app = Flask(__name__)
#可以不改
@app.route('/hello',methods=['POST'])
def hello_world():
hello = request.values.get('hello') # .form.get('BLAJBHs')
# 三种获取参数的方式:1.request.form.get("key", type=str, default=None) 获取表单数据,
# 2.request.args.get("key") 获取get请求参数,
# 3.request.values.get("key") 获取所有参数。推荐使用request.values.get().
hello = hello + " world!"
res = {}
res['world'] = hello
#java的httpclient工具只能接收map或者json形式的返回数据,所以将结果放进一个元组里返回
return jsonify(res)
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000)
#本地测试时将host写为127.0.0.1或者localhost,需要部署到服务中时,需要将端口号改为:0.0.0.0,port可以不指定,默认为5000
`
上面代码的作用是接收一个参数名为hello的字符串,并在之后追加" world!",最后返回一个json。如果接收内容为"hello",则最终输出结果为{“world”: “hello world!”}