一、RESTful
前后端分离开发的项目中,前后端是通过接口规范进行请求和响应,后端向前端提供请求时就要对外暴露一个URL;
URL的设计不是随意的,需要遵从一定的设计规范—RESTful
RESTful是一种Web api的标准,也就是一种url设计风格规范
- 每个URL请求路径代表服务器上唯一资源
传统的url
http://localhost:8080/goods?name=1
RestFul
http://localhost:8080/goods/1
@RequestMapping(value = "/del/{gid}")
public ResultVo delGoods(@PathVariable("gid") int id) {
System.out.println("----" + id);
return new ResultVo(1000, "Success", null);
}
-
使用不同的请求方式表示不同的操作
SpringMVC对RESTful风格提供了很好的支持,在我们定义一个接口的URL时,可以通过
@RequestMapping(value = "/del/{gid}", method = RequestMethod.DELETE)
形式指定请求方式,也可以使用特定的方式的注解设定URLPostMapping("/{}")
GetMapping("/{}")
DeleteMapping("/{}")
PutMapping("/{}")
- POST 添加
- GET 查询
- PUT 修改
- DELETE删除
- OPTION(预检)
- 根据ID删除一个商品
//http://localhost:8080/goods/1 [delete]
@RequestMapping(value = "/del/{gid}", method = RequestMethod.DELETE)
public ResultVo delGoods(@PathVariable("gid") int id) {
System.out.println("----" + id);
return new ResultVo(1000, "Success", null);
}
- 根据ID查询一个商品
//http://localhost:8080/goods/1 [get]
@RequestMapping(value = "{id}", method = RequestMethod.GET)
public ResultVo getGoods(@PathVariable("id") int id) {
System.out.println("----" + id);
return new ResultVo(1000, "Success", null);
}
- 接口响应的资源表现形式采用JSON
- 在每个接口添加
@ResponseBody
注解将返回的对象格式为JSON - 或者直接在控制器类使用
@RestController
注解声明控制器
- 在每个接口添加
- 前端(Android\ios\pc)通过无状态的HTTP协议与后端接口进行交互