アイテムが見つからない場合に404エラーに応答するRestfulAPIがありますが、アイテムが見つからない理由(不明、利用不可など)に応じてメッセージが異なり、SpringMVCを使用して次のように実行されます。
response.sendError(HttpServletResponse.SC_NOT_FOUND, "NOT_AVAILABLE");
(これはどのブラウザでも正常に機能し、メッセージとして「NOT_AVAILABLE」を含む404エラーを表示します)
ここで、それらを管理するために、SpringRestTemplateを使用してそのメッセージをJavaコードに戻したいと思います。私はこれを試しました:
try {
rest.put(apiRootUrl + "/item/{itemId}", null, itemId);
} catch (HttpClientErrorException e) {
if (NOT_FOUND == e.getStatusCode()) {
switch (MyErrorCode.valueOf(e.getStatusText())) {
case NOT_AVAILABLE:
return displayNotAvailableError();
case UNKNOWN:
return displayUnknownError();
default:
// ...
}
}
}
しかし、ではgetStatusText()
、カスタム値ではなく、常にNOT FOUNDラベル(404から)を取得しました。
誰かが404エラーからカスタムメッセージを取得することが可能かどうか知っていますか?したがって、どのように?
どうもありがとう!
編集: Tomcatサーバー(404 HTMLページを送信する)で実行していますが、これはWeblogicサーバーに追加されません