现在的位置: 首页 > 综合 > 正文

REST web.py

2013年11月26日 ⁄ 综合 ⁄ 共 990字 ⁄ 字号 评论关闭

Web.py的优秀之处在于, 它没有过多的包装, 不会像其他web框架一样. 初次使用Web.py, 你可能会因为"闻到泥土的芬芳"而满心欢喜.

Web.py让你, 可以直接使用基本的Http methods, 这样, 我们就可以REST了.

下面我们描述如何实现一个用户管理的小系统, 当然, RESTly.

app.py:

  1. import web
  2. from user import User
  3. from utils import *
  4. urls = ('/User/(.*)''User')
  5. app = web.application(urls, globals())
  6. if __name__ == "__main__":
  7.     app.run()

user.py:

  1. class User(object):
  2.     def GET(self, name):
  3.         #找到符合name的用户, 返回...
  4.     
  5.     @validate_key
  6.     def POST(self, name):
  7.         #根据post数据, 保存.
  8.     @validate_key
  9.     def DELETE(self, name):
  10.         #删除user.
  11.     def PUT(self, name=None):
  12.         #新建一个对象.

用一个decorator来检查用户输入:

utils:py:

  1. import re
  2. VALID_KEY = re.compile('[a-zA-Z0-9_-]{1,255}')
  3. def validate_key(fn):
  4.     #加上一些规则.
  5.     pass

测试:

因为该死的浏览器们现在也不支持PUT, DELETE, 所以测试要费事一点.

还是用python:

  1. import httplib2
  2. h = httplib2.Http()
  3. h.request('http://localhost:8080/User/12345','POST','hello')
  4. h.request('http://localhost:8080/User/12345','GET')
  5. h.request('http://localhost:8080/User/12345','DELETE')

参考了:

http://jhcore.com/2008/09/20/getting-restful-with-webpy/

抱歉!评论已关闭.