Rest :表现形式状态转换
传统访问网络资源的格式:
查表:http://localhost/user/getById?id=1
或者是
保存数据,提交表单:http://localhost/user/saveUser
Rest风格下访问网络资源的格式:
查表:http://localjost/user/1
保存数据,提交表单:http://localhost/user
显然rest风格下的访问网络资源的格式有两个优点
(1)书写简化了
(2)更重要的是:无法通过rest风格下的访问网络资源的网址判断出对资源做何种操作了(而传统的网址是可以看出对资源做出何种操作的)
Rest风格的网址总结:
路径相同的请求方式(请求方式有get,post,put,delete)不同
实际中如何使用:
1.http://localhost/users + 提交方式为Post
public class test
{
@RequestMapping(value="/users",method=RequestMethod.Post)//指定提交方式为Post
public String save()
{
........
}
}
这样就可以通过http://localhost/users 访问到这个方法了
2.http://localhost/users/一个数 + 提交方式为Delete
public class test
{
@RequestMapping(value="/users/{id}",method=RequestMethod.DELETE)//指定提交方式为Delete
public String delete(@PathVariable Integer id)
{
........
}
}
网址里面输入的这个数会传进方法里面,然后删除id为这个数的用户
比如:http://localhost/users/1 表示删除id=1的用户
http://localhost/users/2 表示删除id=2的用户
简化一下上述代码:
@RequestMapping("/users")
public class test
{
@RequestMapping(method=RequestMethod.POST)//指定提交方式为Post
public String save()
{
........
}
@RequestMapping("/{id}",method=RequestMethod.DELETE)//指定提交方式为Delete
public String delete(@PathVariable Integer id)
{
........
}
}
还可以继续简化:
@RequestMapping("/users")
public class test
{
@PostMapping
public String save()
{
........
}
@DeleteMapping("/{id}")
public String delete(@PathVariable Integer id)
{
........
}
}