博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tornado简单实现restful接口1
阅读量:6247 次
发布时间:2019-06-22

本文共 1214 字,大约阅读时间需要 4 分钟。

hot3.png

tornado - 异步web框架,性能很好,生产环境下用Nginx代理

主要功能看web.py

核心io循环,高级功能看ioloop.py
模板看template.py
db看torndb.py(3.1已经挑出来做成单独库了)

get/post及json使用:

#!/usr/bin/env python# -*- coding:utf-8 -*-import tornado.ioloopimport tornado.webimport jsonclass MainHandler(tornado.web.RequestHandler):    def get(self):        self.write("Hello, World")# 访问: http://localhost:8888/story/sishen232# 显示:U get story id is sishen232class StoryHandler(tornado.web.RequestHandler):    def get(self, story_id):        self.write("U get story id is " + story_id)class AddHandler(tornado.web.RequestHandler):    # 这里可以用get的form信息,也可以直接用curl来post json数据    def post(self):        raw_data = self.request.body        print "raw:", raw_data        res = json.loads(raw_data)        s = res["num1"] + res["num2"]        self.write(json.dumps({"sum":s}))application = tornado.web.Application([    (r"/", MainHandler),    (r"/story/(sishen[0-9]+)", StoryHandler), # 正则url映射,方便get    (r"/add", AddHandler),])if __name__ == "__main__":    application.listen(8888)    tornado.ioloop.IOLoop.instance().start()
测试:
flyking@wf-vm-slave1:~$ curl -d '{"num1": 3, "num2": 5}' "http://localhost:8888/add"
结果:
{"sum": 8}

转载于:https://my.oschina.net/1123581321/blog/170527

你可能感兴趣的文章
Android学习网站
查看>>
[CareerCup] 13.7 Node Pointer 节点指针
查看>>
UML用例图中泛化、扩展、包括
查看>>
prism 4 模块配置 管理
查看>>
String
查看>>
News: Visual Studio Code support debugging Linux Apps
查看>>
【BZOJ】2956: 模积和
查看>>
【转载】COM 组件设计与应用(二)——GUID 和 接口
查看>>
struts2 标签问题----日期显示
查看>>
c++ http请求
查看>>
Android 读取蓝牙设备信息开发
查看>>
Build制作模型
查看>>
配置域主DNS服务器
查看>>
HTML的16个全局属性
查看>>
RMI,RPC,SOAP对比分析
查看>>
LeetCode - Regular Expression Matching
查看>>
DIY手机万能红外遥控器
查看>>
[to do list][PCB][questions]and[plan]
查看>>
Cocos2d-x3.2 TextureCache类异步载入功能解说
查看>>
Tomcat配置多个域名绑定到不同项目
查看>>