【发布时间】:2018-12-28 06:10:30
【问题描述】:
无法通过 RestTemplate PUT 请求发送 Pojo。
我有一个需要从其他应用程序调用的休息服务。 服务是:
@RequestMapping(value = RESET_USER_PASSWORD_URL, method = RequestMethod.PUT, produces = APP_JSON)
public SuccessResponse resetUserPassword(@RequestBody ResetPasswordDTO resetPasswordDTO) throws GenericException {
logger.info("--->reset Password");
return new SuccessResponse(userservice.resetUserPassword(resetPasswordDTO));
}
我正在使用 RestTemplate 调用上述服务,为此我需要发送一个 POJO 以及 PUT 请求。使用 RestTemplate 的代码是:
public ResponseEntity<SuccessResponse> resetUserPassword(ResetPasswordDTO resetPasswordDTO)
throws ServiceGenericException {
ResponseEntity<SuccessResponse> ssoUserResponse = null;
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<ResetPasswordDTO> requestEntity = new HttpEntity<ResetPasswordDTO>(resetPasswordDTO,headers);
ssoUserResponse = restTemplate.exchange("http://localhost:5858/api/unsecured/resetpassword", HttpMethod.PUT, requestEntity,
SuccessResponse.class);
return ssoUserResponse;
}
我无法拨打电话。我得到以下异常: org.springframework.web.client.HttpClientErrorException: 400 null。
我要发送的 POJO:
public class ResetPasswordDTO implements Serializable {
private static final long serialVersionUID = -2372400429023166735L;
private String password;
private String activationCode;
}
【问题讨论】:
-
请发布完整的异常堆栈跟踪
-
似乎问题出在rest模板中调用的本地URL的响应中。请在 GitHub 上发布完整代码或上传代码并分享其链接。
-
还向我们展示您传递给服务的 ResetPasswordDTO 对象和 JSON
-
请阅读 POJO 是什么:geeksforgeeks.org/pojo-vs-java-beans
-
同一个问题被问了两次..stackoverflow.com/questions/53955401/…
标签: java spring-boot