关于restful,tp3.2手册里的描述感觉挺直白明了的,如下
作用 传统模式 REST模式
列举出所有的用户 GET /users/list GET /users
列出ID为1的用户信息 GET /users/show/id/1 GET /users/1
插入一个新的用户 POST /users/add POST /users
更新ID为1的用户信息 POST /users/mdy/id/1 PUT /users/1
删除ID为1的用户 POST /users/delete/id/1 DELETE /users/1
get方法好理解,就是判断参数进行不同的操作,比如上面的是要所有用户还是单个用户信息,通过是否有id来判断,这点没问题,但是我现在的疑问是,其他的比如更新操作的呢,如果我有两个接口,一个是修改用户个人信息,一个是仅修改用户手机,两个都是修改用户信息,修改个人信息可以用PUT /users/1 ,但是修改用户手机呢,我是要多传入一个参数比如PUT /users/1/2来根据参数来进行不同的修改操作?还是再另外新建一个控制器比如PUT /usersPhone/1这样?如果是后者的话也太麻烦了吧?
说实话。这根本就不是restful设计原则,path里首先就不能有动词……
put可以带body的,所以在body里就行。
POST的body是可以带参数的。
例如你带上
这种参数,后台就可以知道是要修改手机号码。
修改个人信息都可以通过PUT /users/1 来进行,1对应是user的id,对应一条记录的修改,用户手机是用户信息其中的字段吧,PUT /users/1 你所需要修改的用户信息还是需要通过json方式进行传递过去修改的呀
RESTful模式:
http(s)://server.com/app-name/{version}/{domain}/{rest-convention}
这里,{version}代表api的版本信息。{domain}是一个你可以用来定义任何技术的区域(例如:安全-允许指定的用户可以访问这个区域。)或者业务上的原因。(例如:同样的功能在同一个前缀之下。)
{rest-convention} 代表这个域(domain)下,约定的rest接口集合。
REST接口规范:
http://www.coderli.com/transl...