- REST风格,无动词
- springMVC4.3以后注解引入,如@GetMapping,更加想REST风格靠拢。
参数
- 简单参数使用url直接传递,使用@PathVariable获取
- 复杂参数json传递,@RequestBody转换为对象
@RestController等
@RestController让整个控制器都默认转换为json
方法上的参数
consumes限制该方法接收什么类型的请求体
produces限定返回的媒体类型,仅当request请求头中(Accept)类型中包含该指定类型才返回
@ResponseState(HttpStatus.Create)调用成功返回201状态吗
@ExceptionHandler定义异常,返回友好的异常
- 微服务间互相调用
- 客户端请求restTemplate
- 底层通过HttpURLConnection实现
- new后使用方法获取getForObject
- 传递json需要修改头的类型,使用postForObject,暂不支持patch请求
- exchange也可以发请求,但可读性不高。
- 客户端请求restTemplate