我正在构建一个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();