REST API示例
我们先通过一个实例:使用类实现一个REST API,来更深入地体会使用类 实现视图所带来的变化。
示例API的定义如下:
对于URL/user/,当使用GET方法请求时,应当返回用户清单,而当使 用POST方法请求时,应当创建一个新用户:
URL | METHOD | 说明 |
---|---|---|
/user/ | GET | 返回全部用户 |
/user/ | POST | 创建新用户 |
先看实现代码的类图:
基类EzView主要负责三件事:可调用实现、根据HTTP方法进行请求分发、提供默认处理方法。 我们在EzView中主要实现两个方法:
- __call__() - 使类的实例可调用,在这个方法内,我们根据请求的HTTP方法 ,将请求分发到不同的处理方法
- default_handler() - 默认的处理方法。如果请求的HTTP方法在类中未实现, 就调用这个方法
IndexView和UserView都继承自基类EzView,因此在这两个类中,只需要实现 针对不同HTTP方法的处理函数。
修改示例代码,创建一个EzView的继承类ReportView:
1.当用户使用GET方法访问/report/123/时,返回Hi, this is report 123
2.当用户使用DELETE方法访问/report/123/时,返回你想删除我吗?