@RequestMapping(value = "deleteUser") public String deleteUserNoRest(){ return "delete user"; }
上面是我们一般的接口写法,如果接口很多,会造成命名困扰。比如增删改查就要分别命名getUser,deleteUser,saveUser,updateUser。
1.网络上的所有事物都被抽象为资源
2.每个资源都有一个唯一的资源标识符
3.同一个资源具有多种表现形式(xml,json等)
4.对资源的各种操作不会改变资源标识符
5.所有的操作都是无状态的
直接看代码:
@RequestMapping(value = "user",method = RequestMethod.DELETE) public String deleteUser(){ return "delete user"; }
可以看到,我接口的名字是user,但是请求方式变成了delete。
我们再写一个接口:
@RequestMapping(value = "user",method = RequestMethod.PUT) public String putUser(){ return "put"; }
可以看到,这两个接口的名字都是user,但是接口返回的数据却不一样。
我们起动项目试试:
使用delete为请求方式时:
使用put为请求方式时:
可以看出虽然url一样,但是请求方式不同,最后结果不一样,说明请求方式不同,他就会调用不同接口。
总结一下就是这样:
在Restful之前的操作:
http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据
http://127.0.0.1/user/save POST 新增用户
http://127.0.0.1/user/update POST 修改用户信息
http://127.0.0.1/user/delete/1 GET/POST 删除用户信息
RESTful用法:
http://127.0.0.1/user/1 GET 根据用户id查询用户数据
http://127.0.0.1/user POST 新增用户
http://127.0.0.1/user PUT 修改用户信息
http://127.0.0.1/user DELETE 删除用户信息
。