我是Java和创建API的新手。我试图简单地发出一个后请求,并得到一个具体的值。以下是我的代码:
@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=空)。即使当我使用“字符串”而不是项目响应时,一切正常,我看到ID已创建。因此,由于某种原因,将响应映射到项目响应类存在问题。
有人知道可能出了什么问题吗?
尝试这样做并处理这里的异常,使类ResponseErrorHandler并实现ResponseErrorHandler(i)
@Component
public class WebService {
private RestTemplate restTemplate;
private static final String PROJECT_URL = "http://localhost:8080/project";
public ProjectResponse createProject(Project project) {
ProjectResponseErrorHandler errorHandler = new ProjectResponseErrorHandler(
project.getId());
restTemplate.setErrorHandler(errorHandler);
ResponseEntity<ProjectResponse> completeProject = restTemplate.postForEntity(PROJECT_URL, project, ProjectResponse.class);
log("Response body " + completeProject.getBody());
return completeProject.getBody();
}
}
试试这个,使你的项目彭斯类与项目相同。
@Service
@AllArgsConstructor
public class WebService {
private RestTemplate restTemplate;
private static final String PROJECT_URL = "http://localhost:8080/project";
public ResponseEntity<Project> createProject(Project newProject) {
Project completeProject = restTemplate.postForObject(PROJECT_URL, newProject, Project.class);
log("Response body " + completeProject.getBody());//Log this instead
return ResponseEntity.ok(completeProject);
}
}
我使用的是Spring版本4(Spring data),我想将Object作为JSON返回,我想知道以下代码即使不使用xmlRootElement注释用户类也能工作: 任何机构都可以解释吗?当我需要注释要返回为JSON的对象类时,响应体/响应实体是否自己完成工作?
我正在尝试调用FlickR API,但由于response.body()返回null而遇到困难。 我不确定它是否与我的JSON/POJO映射相关,但我无法弄清楚当我调用Flickr时如何访问来自改版的响应。我知道我的调用已经成功完成,因为我实际上能够通过日志拦截器查看JSON。 型号: 活动 }
我想使用GooglePlaceAPI和自动完成视图。我有开发者控制台上的android和浏览器密钥。但当我尝试这些键API时,它返回空响应。 Logcat: D/Volley:[2651]a.a:请求的HTTP响应= 我的代码: 在onpostexecute日志中: 我是新来的google地方api,请帮我找到什么是错误的。
当我从RestController返回POJO时,它在JSON对象中转换。但是当我尝试返回controller返回纯文本。怎么了? 我的RestController:
我的环境: Shop RestController:Spring Boot 在localhost laptopn ubuntu 18:04 在localhost desktop pc windows 10上 邮递员要求: Spring引导控制器: 我已经尝试使用Observable和any以及HttpHeaders和Application/JSON,但响应相同。