1

SpringMVCを使用していくつかのSpringRESTサービスをコーディングしています。500(内部サーバーエラー)は、Httpステータス=500のjsonおよびjson文字列["内部サーバーエラー"]のHttpBodyとしてパッケージ化して返送する必要があります。これを行うために、OncePerRequestFilterを拡張し、HttpResponseのステータスを確認しています。次に、必要なjson応答を使用してボディを構築しています。これは目的を果たしますが、面倒です。同じ目的を達成する、Springで構成できるより優れた設計原則またはspring / jsonクラスはありますか?

-ゴッツ

4

1 に答える 1

1

次の構造を使用できると思います。

1)HTTP 500エラーをいくつかのビューにマップします:

 <error-page>
        <error-code>500</error-code>
        <location>/errorView.htm</location>
    </error-page>

2)コントローラーでビューを作成します。ビューは必要なJson情報を返します。

@RequestMapping(value="/errorView.htm",method = RequestMethod.GET)
public String handleGet(HttpServletRequest req) {
     res.setStatus(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
     res.setContentType("application/json");
     res.getWriter().print("{\Error"\:\"Internal Server Error\"}");
}

それが役に立てば幸い。

于 2012-05-02T00:03:22.813 に答える