restful架构
可以理解为用相同的路径,但是因为提交方式的不同,会产生不同的结果
REST全称是Representational State Transfer,中文意思是表述性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是 HTTP 规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。” 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。
REST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准中的一些准则和约束。虽然REST本身受Web技术的影响很深, 但是理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。 所以我们这里描述的REST也是通过HTTP实现的REST。
@Controller
@RequestMapping("/user")
public class UserController {
/**
* /user/{id}
* 地址参数:{id}
* 获取地址参数:
* @PathVariable注解: 用户获取地址参数
* value : 自定义的地址参数名称
* 请求方式 : get,post,delete,put
*/
//根据id查询用户
@RequestMapping(value="/{id}",method = RequestMethod.GET)
public String findById(@PathVariable(value="id") String userId) {
System.out.println(userId);
return "success";
}
//根据id更新用户
@RequestMapping(value="/{userid}",method = RequestMethod.PUT)
public String update(@PathVariable(value="userid") String userId) {
System.out.println("根据id更新,id="+userId);
return "success";
}
//根据id删除用户
@RequestMapping(value="/{id}",method = RequestMethod.DELETE)
public String delete(@PathVariable("id") String id) {
System.out.println("根据id删除 id="+id);
return "success";
}
//查询所有用户
@RequestMapping(value="",method = RequestMethod.GET)
public String findAll() {
System.out.println("查询所有");
return "success";
}
@RequestMapping(value="",method = RequestMethod.POST)
public String save() {
System.out.println("保存用户");
return "success";
}
}
/user/id ->查询(get),删除(delete),更新(put)
/user -> 查询所有(get),保存(post)
/user/1/5 -> 分页