1.ResponseEntity继承了HttpEntity ,可以添加HttpStatus状态码的HttpEntity的扩展类。倍用于RestTemplateheController层方法
2.ResponseEntity可以定义返回的HttpStatus(状态码)和HttpHeaders(消息头:请求头和响应头)
3.ResponseEntity的优先级高于@ResponseEntity的情况下才去检查有没有@ResponseBody注解,如果响应类型是ResponseEntity可以不写@ResponseBody注解,写了也没有关系,简单来说,@ResponseBody可以直接返回json结果,@ResponseEntity不仅可以返回json结果,还可以定义返回HttpHeaders和HttpStatus
public ResponseEntity<List<Category>> queryCategoriesByPid(@RequestParam(value = "pid",defaultValue = "0") Long pid){if(pid == null || pid.longValue()<0){// 响应400,相当于ResponseEntity.status(HttpStatus.BAD_REQUEST).build();return ResponseEntity.badRequest().build();}//ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);// ResponseEntity.notFound().build();// ResponseEntity.ok(null);List<Category> categoryList = this.categoryService.queryCategoriesByPid(pid);if(CollectionUtils.isEmpty(categoryList)){// 响应404return ResponseEntity.notFound().build();}return ResponseEntity.ok(categoryList);
