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