Created by: lukstei
PR checklist
-
Read the contribution guidelines. -
Ran the shell script under ./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
and./bin/security/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. -
Filed the PR against the correct branch: master
,3.4.x
,4.0.x
. Default:master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
Description of the PR
Enable error handling in Java WebClient library, fixes #1243 (closed).
Also now the generated Exception class ApiException
is used.
Custom error handling behaviour can be defined in an overwriting class e.g.:
public class MyApiClient extends ApiClient {
@Override
protected <T> Mono<T> handleUnsuccessfulResponse(ClientResponse response) {
return super.<T>handleUnsuccessfulResponse(response)
.onErrorMap(errorcode(404), x -> new MyNotFoundException("Not found"));
}
private static Predicate<Throwable> errorcode(int errorCode) {
return x -> x instanceof ApiException && ((ApiException) x).getCode() == errorCode;
}
}
@bbdouglas @JFCote @sreeshas @jfiala @lukoyanov @cbornet @jeff9finger