文章目录

  • ​​1、简述​​
  • ​​2、如何提供get和post API​​
  • ​​3、效果​​
  • ​​3.1 get​​
  • ​​3.2 post​​
  • ​​3.3 浏览器访问get请求​​
  • ​​4、注:tornado设置跨域全局请求头​​

1、简述

近日,有小伙伴咨询python是如何快速封装API接口的问题。因此,写下此文。

2、如何提供get和post API

# -*- coding:utf8 -*-
import tornado.ioloop
import tornado.web
import tornado.httpserver
from tornado.escape import json_encode

def set_default_header(self):
# 后面的*可以换成ip地址,意为允许访问的地址
self.set_header('Access-Control-Allow-Origin', '*')
self.set_header('Access-Control-Allow-Headers', 'x-requested-with')
self.set_header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE')

class ArticleList(tornado.web.RequestHandler):
def get(self):
set_default_header(self)
arr = self.get_argument("arr")
if arr:
print('arr = ', arr, type(arr))
arr = eval(arr) # 字符转列表
print('arr = ', arr, type(arr))
result = {
"name": arr,
'code': 0 if len(arr) > 0 else 1
}
self.write(json_encode(result))

def make_app():
return tornado.web.Application([
(r"/setArticleList", ArticleList),
])

if __name__ =="__main__":
app = make_app()
sockets = tornado.netutil.bind_sockets(9088)
http_server = tornado.httpserver.HTTPServer(app)
http_server.add_sockets(sockets)
print("Server Start Ok.....")
tornado.ioloop.IOLoop.instance().start()

3、效果

3.1 get

Python开发 之 Python3用Tornado实现get或post请求示例_post

3.2 post

Python开发 之 Python3用Tornado实现get或post请求示例_python_02

3.3 浏览器访问get请求

Python开发 之 Python3用Tornado实现get或post请求示例_tornado_03


Python开发 之 Python3用Tornado实现get或post请求示例_跨域_04

4、注:tornado设置跨域全局请求头

def set_default_header(self):
# 后面的*可以换成ip地址,意为允许访问的地址
self.set_header('Access-Control-Allow-Origin', '*')
self.set_header('Access-Control-Allow-Headers', 'x-requested-with')
self.set_header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE')