【发布时间】:2019-12-21 16:07:11
【问题描述】:
我是 Java 和创建 API 的新手。我试图简单地发出一个 POST 请求并返回一个特定的值。这是我的代码:
@Service
@AllArgsConstructor
public class WebService {
private RestTemplate restTemplate;
private static final String PROJECT_URL = "http://localhost:8080/project";
public ResponseEntity<ProjectResponse> createProject(Project project) {
ResponseEntity<ProjectResponse> completeProject = restTemplate.postForEntity(PROJECT_URL, project, ProjectResponse.class);
System.out.println("Response body " + completeProject.getBody());
return completeProject;
}
}
ProjectResponse 类简单地具有:
@Data
@NoArgsConstructor
public class ProjectResponse {
private String id;
}
问题是 id aøwaus 被返回为 (id=null)。即使当我使用“String”而不是 ProjectResponse 时一切正常,我看到创建了 id。因此,由于某种原因,将响应映射到 ProjectResponse 类存在问题。
有谁知道可能出了什么问题?
【问题讨论】:
-
@billalGHILAS 它已经有
Data执行相同的注释 -
您返回的响应对象是否包含
id元素? -
是的,我看到将所有内容都转换为字符串时设置了 id-element
-
@Nora 你试过覆盖
toString()吗? -
我认为你应该使用 postforobject。似乎 postforentity 返回字符串,但 postforobject 返回一个对象。
标签: java spring-boot