1.基于python语言的代码测试
首先下载Tornado包:pip install tornado -i https://pypi.tuna.tsinghua.edu.cn/simple
# coding:utf-8
import tornado.web
import tornado.ioloop
import json
class Login(tornado.web.RequestHandler):
def post(self):#post请求
username = self.get_argument('name')
password = self.get_argument('pwd')
if username and password:
if username == 'xiaoming' and password == '123':
resu = {'code':200,'meassage':'登陆成功'}
self.write(json.dumps(resu,ensure_ascii=False))
#返回值统一设置为json,因为返回值有多种类型,用json可以方便统一和工作协同。
else:
resu = {'code':404,'message':'账号或者密码错误'}
self.write(json.dumps(resu,ensure_ascii=False))
else:
resu = {'code':1000,'message':'用户或者密码不能为空'}
self.write(json.dumps(resu,ensure_ascii=False))
class Zhuce(tornado.web.RequestHandler):
def post(self): # post请求
username = self.get_argument('name')
password = self.get_argument('pwd')
if username and password:
if 5=6 and password!='123456':
resu = {'code': 303, 'message': '注册成功'}
self.write(json.dumps(resu, ensure_ascii=False))
else:
resu = {'code': 404, 'message': '密码格式错误'}
self.write(json.dumps(resu, ensure_ascii=False))
else:
resu = {'code': 505, 'message': '账号格式错误'}
self.write(json.dumps(resu, ensure_ascii=False))
else:
resu = {'code': 1000, 'message': '用户或者密码不能为空'}
self.write(json.dumps(resu, ensure_ascii=False))
if __name__ == "__main__":
app = tornado.web.Application([
# (r'/login', Login),
(r'/zhuce', Zhuce)
])
app.listen(8000)
tornado.ioloop.IOLoop.current().start()
#在哪里运行,默认用哪里的ip地址。
注意:此代码为一般化格式,针对不同项目可以进行修改,然后运行代码在postman进行测试,postman作为测试工具,其意义除测试以后最重要的就是判断API接口可否使用。
接上文文本分类项目,做对应API接口,代码如下:
import tornado.web
import tornado.ioloop
import json
import predict#此包为文本分类项目的py文件
class textRNN(tornado.web.RequestHandler):
def post(self):
usertext = self.get_argument('texts')
if usertext:
classes=rnn_model.predict(usertext)
resu = {'code':200,'meassage':classes}
self.write(json.dumps(resu, ensure_ascii=False))
else:
resu = {'code':1000,'message':'用户或者密码不能为空'}
self.write(json.dumps(resu))
if __name__ == "__main__":
rnn_model=predict.RnnModel()
app = tornado.web.Application([
(r'/textRNN', textRNN)
])
app.listen(8000)
tornado.ioloop.IOLoop.current().start()
#注意:此处代码由于在类内实例化模型,每运行一次就会实例化一次,代码在postman会报错,因此将模型实例化放在主程序中,避免报错。