Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "code": "123",
- "message": "Reason for the error"
- }
- public class CustomError {
- @JsonProperty
- private Integer code;
- @JsonProperty
- private String message;
- public Integer getCode() {
- return code;
- }
- public String getMessage() {
- return message;
- }
- }
- public class CustomErrorHandler extends DefaultResponseErrorHandler {
- private RestTemplate restTemplate;
- private ObjectMapper objectMapper;
- private MappingJacksonHttpMessageConverter messageConverter;
- @Override
- public boolean hasError(ClientHttpResponse response) throws IOException {
- return super.hasError(response);
- }
- @Override
- public void handleError(final ClientHttpResponse response) throws IOException {
- try {
- CustomError error =
- (CustomError) messageConverter.read(CustomError.class, response);
- throw new CustomErrorIOException(error, error.getMessage());
- } catch (Exception e) {
- // parsing failed, resort to default behavior
- super.handleError(response);
- }
- }
- }
- restTemplate.postForObject(url, pojoInstance, responseClass);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement