java - Spring RestTemplate handle custom status code -




i should call service application can return unusual http status codes, such 230, 240 etc. default error handler i'm getting:

servlet.service() servlet [dispatcher] in context path [] threw exception [request processing failed; nested exception org.springframework.web.client.unknownhttpstatuscodeexception: unknown status code [230] null] root cause... 

when use custom error handler can avoid this:

@override     public boolean haserror(clienthttpresponse response) throws ioexception {          int status = response.getrawstatuscode();         if (status >= 200 && status <= 299)             return false;          httpstatus statuscode = response.getstatuscode();         if (statuscode.is2xxsuccessful())             return false;         httpstatus.series series = statuscode.series();         return (httpstatus.series.client_error.equals(series)                 || httpstatus.series.server_error.equals(series));     } 

but when resttmplate tries retrieve falls same exception in messagebodyclienthttpresponsewrapper:

public boolean hasmessagebody() throws ioexception {         httpstatus responsestatus = this.getstatuscode();         if (responsestatus.is1xxinformational() || responsestatus == httpstatus.no_content ||                 responsestatus == httpstatus.not_modified) {             return false;         }         else if (this.getheaders().getcontentlength() == 0) {             return false;         }         return true;     } 

how can response body correctly?





wiki

Comments

Popular posts from this blog

Asterisk AGI Python Script to Dialplan does not work -

python - Read npy file directly from S3 StreamingBody -

kotlin - Out-projected type in generic interface prohibits the use of metod with generic parameter -