接上文文本分类项目,做对应API接口,代码如下:
import flask,json
# 处理请求的机制(request)
from flask import request
import predict
'''
通过flask提供的装饰器@server.route()将普通函数转换为服务
登录接口,需要传入url,username,passwd
'''
#创建一个服务,把当前这个python文件当做一个服务
server = flask.Flask(__name__)
#server.route()可以将普通函数转变为服务 登录接口的路径、请求方式
@server.route('/textRNN',methods=['post'])
def login():
rnn_model=predict.RnnModel()
#获取通过url请求传参的数据
usertext = request.values.get('texts')
#判断用户名、密码都不为空,如果不传用户名、密码则username和pwd为None
if usertext:
classes=rnn_model.predict(usertext)
resu={'code':200,'message':classes}
return json.dumps(resu,ensure_ascii=False)#将字典转换为Json串,json是字符串
#返回值统一设置为json,因为返回值有多种类型,用json可以方便统一和工作协同。
else:
resu={'code':1001,'message':'未获取到值'}
return json.dumps(resu,ensure_ascii=False)
# @server.route('/zhuce',methods=['post'])
# def zhuce():
# pass
if __name__== '__main__':
server.run(debug=False,port = 8888,host='127.0.0.1')#指定端口,host,0.0.0.0代表不管几个网卡,任何ip都可访问
注意:返回值统一设置为json,因为返回值有多种类型,用json可以方便统一和工作协同。