REST web.py

来源:互联网 发布:在淘宝网上怎么购物 编辑:程序博客网 时间:2024/04/30 22:13

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/


原创粉丝点击