使用 Struts 2 开发 RESTful 服务
支持 REST 风格的 Action 至少包含如下 7 个默认方法:
- index:处理不带 id 请求参数的 GET 请求。
- show:处理带 id 请求参数的 GET 请求。
- create:处理不带 id 请求参数的 POST 请求。
- update:处理带 id 请求参数的 PUT 请求。
- destroy:处理带 id 请求参数的 DELETE 请求。
- edit:处理带 id 请求参数,且指定操作 edit 资源的 GET 请求。
- editNew:处理不带 id 请求参数,且指定操作 edit 资源的 GET 请求。
如果请求需要向服务器发送 id 请求参数,直接将请求参数的值附加在 URL 中即可。表 12.3 显示了 RestActionMapper 对不同 HTTP 请求的处理结果。
HTTP 方法 | URI | 调用 Action 的方法 | 请求参数 |
GET | /book | index |
|
POST | /book | create |
|
PUT | /book/2 | update | id=2 |
DELETE | /book/2 | destroy | id=2 |
GET | /book/2 | show | id=2 |
GET | /book/2/edit | edit | id=2 |
GET | /book/new | editNew |
|
标准 HTML 语言目前不支持 PUT 和 DELETE 两个操作,为了弥补这种不足,REST 插件允许开发者提交请求时额外增加一个 _method 请求参数,该参数值可以为 PUT 或 DELETE,用于模拟 HTTP 协议的 PUT 和 DELETE 操作。
如:
提交时form表单增加<input type=”hidden” name=”_method” value=”put”>
,如果后台方法不够用的时候可以这样写/book/0/你调用的方法,这样就解决了方法不够用的问题
例子程序已经上传到优快云,下载网址为:http://download.youkuaiyun.com/source/2484818