开发者社区> 问答> 正文

如何在Java中使用ResponseEntity以JSON格式获取响应?

我正在构建一个API并使用以下方法执行POST请求:

public ResponseEntity<ProjectRequest> createProject(ProjectRequest project) {
        ProjectResponse projectResponse = new ProjectResponse();
        PersonMember personMember = new PersonMember();

        String personResponse = restTemplate.postForObject(PERSON_URL, project.getPersonMember(), String.class);

        System.out.println(personResponse);
        return new ResponseEntity<ProjectRequest>(HttpStatus.CREATED);
    }

但是,将personResponse作为String使用是不方便的,因为我无法轻松地从响应中提取值,例如personID,firstName等。

使用responseEntity时,使用键/值对的一种好方法是什么?

展开
收起
垚tutu 2019-12-04 16:27:57 3777 0
1 条回答
写回答
取消 提交回答
  • #include

    您应该将这项工作留给Spring。

    创建某种 PersonDto

    public class PersonDto {
        private String firstName;
        private String lastName;
        //etc.
    
        //getters and setters
    
    }
    
    

    然后将响应映射PersonDto为:

    ResponseEntity<PresonDto> response = restTemplate
                        .postForEntity(PERSON_URL, project.getPersonMember(), PersonDto.class);
    PersonDto presonDto = response.getBody();
    
    2019-12-04 16:28:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载