API==>Tornado(基于python语言tensorflow1.14框架的代码测试以及文本分类项目API接口)

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会报错,因此将模型实例化放在主程序中,避免报错。

你可能感兴趣的:(tornado,python)