2017-08-07 9 views
0

私はtomcat 8.5.6を実行しています。私のJersey restサービスが400または409を返したとき(私がコードをデバッグしてこれが起こっていることを確認する)、Tomcatは404応答を返しています(Tomcatのlocalhostアクセスログとブラウザで確認済み)。tomcat 8すべての400レベルの応答に対して404を返す

同じサービスで同じ状況で500を返すように変更すると、500がブラウザに返されます。

Tomcatが400レベルのレスポンスをすべて吸収して404にする理由とTomcatに希望のレスポンスコードを返す方法について考えてみましょうか?ありがとう。

+0

これはどのようにSOの質問ですか。 –

答えて

0

それを実演しました。私はいくつかのボディコンテンツをレスポンスに追加し、正しいコードがクライアントに戻ってきた。

} catch (UserAlreadyExistsException e) { 
     LOG.error(e, "user already exists"); 
     response = Response.status(Response.Status.CONFLICT).entity("user already exists").build(); 
    } catch (JSONException e) { 
     LOG.error(e, "bad request"); 
     response = Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build(); 
    } catch (Exception e) { 
     LOG.error(e, "server error"); 
     response = Response.serverError().entity(e.getMessage()).build(); 
    } 

    return response; 
0

Tomcatの新しいバージョンでは、あなたのヘッダーのparamに1より「ホスト」または欠落している「ホスト」を追加することができ、HTTPヘッダに、より厳格な検証を行います。私は同じ問題を抱えており、重複を取り除いた

関連する問題