Spring框架下的URL设计

 实际上不管用任何框架,只要是不考虑用ajax,那么URL都不可能完全遵循RESTful,但是这不妨碍设计一套尽量RESTful,然后也不失实用性的URL规范。

如果使用Spring的话,尽量让请求mapping到具体方法上,而不是在方法里写分支。

这样的话,可以使用以下规范

 请求方法动作项目指定动作 请求按钮指定动作 URL 类方法 备考
GET  /postsindex资源一览取得
GET  /posts/createcreate创建初始化页面
POST  /posts store 创建
GET   /posts/{id} show 展示特定资源
GET   /posts/{id} edit 修改初始化页面
 PUT_method=put模拟,实际上是post  /posts/{id} update 修改特定资源
 DELETE_method=delete模拟,实际上是post   /posts/{id} destroy 删除特定资源,可以和下面的多项删除合并
 GET   /posts?key1=xxx&key2=xxx index 检索。这个实际上是可以和资源取得一览合并在一起的。
 DELETE_method=delete模拟,实际上是post  /postsdestroy 删除选定资源
POST submit按钮指定动作

/posts

/posts/{id}

动作名对一组资源或者特定资源处理。比如post形式的检索,或者特定资源内部的个别处理。

实际上,设计的宗旨就是,处理动作以一下优先级来设计

请求方法动作>项目指定动作>请求按钮指定动作。

相关推荐