我正在构建一个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时,使用键/值对的一种好方法是什么?

最佳答案

您应该将这项工作留给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();

08-06 08:00