美文网首页
ResponseEntity 理解

ResponseEntity 理解

作者: 定格r | 来源:发表于2020-05-06 15:58 被阅读0次

    ResponseEntity是一种泛型类型。因此,我们可以使用任何类型作为响应主体:

    @Controller
    public class XXXController{
    
     @GetMapping("/hello")
     public ResponseEntity<String> hello() {
       return new ResponseEntity<>("Hello World!", HttpStatus.OK);
    }
    

    这里字符串"Hello World!"作为字符串返回给REST端。
    我们可以设置HTTP标头:

    @GetMapping("/customHeader")
    ResponseEntity<String> customHeader() {
       HttpHeaders headers = new HttpHeaders();
       headers.add("Custom-Header", "foo");
    
       return new ResponseEntity<>(
             "Custom header set", headers, HttpStatus.OK);
    }
    

    设置自定义标头:

    @GetMapping("/customHeader")
    ResponseEntity<String> customHeader() {
       return ResponseEntity.ok()
             .header("Custom-Header", "foo")
             .body("Custom header set")
    

    如果将一个对象放入:

    @GetMapping("/hello")
     public ResponseEntity<String> hello() {
       return new ResponseEntity<>(new User(‘jdon’), HttpStatus.OK);
     }
    

    返回的是JSON字符串:

    [ { ‘name’: 'jdon'}]

    下面是返回对象的JSON列表:

    public ResponseEntity<List<ProcessDef>> repositoryProcessDefinitionsGet() {
       return new ResponseEntity<>(processDefRepo.findAll(), HttpStatus.FOUND);
    }
    

    常用 ResponseEntity 状态:

    ResponseEntity.badRequest().build();   //400: 参数不合法
    ResponseEntity.notFound().build();     //404:资源服务器找不到
    ResponseEntity.ok(categories);         //200:查询成功
    

    详细参考:https://www.jianshu.com/p/7893169a7c93

    相关文章

      网友评论

          本文标题:ResponseEntity 理解

          本文链接:https://www.haomeiwen.com/subject/wllightx.html