1

私は、GoogleSitebricksで多数のRESTエンドポイントを提供するWebアプリを開発しています。重複/類似コードを最小限に抑えるために、RESTエンドポイントで実行されたコードが例外をスローするたびに一貫したReplyオブジェクトで応答するようにsitebricksを構成したいと思います。

例外を処理して各エンドポイントでカスタムJSON応答を作成する代わりに、sitebricks自体が例外をキャッチして、次のようなものを返すようにします。

{
  statusCode: 123,
  message: "this could contain Exception.getMessage()",
  stacktrace: "this could contain the full stacktrace"
}

次に、Sitebricksは、上記の構造を作成し、たとえば注釈に基づいてステータスコードやその他のフィールドに入力する責任があります。

  • これを自分で作成する必要がありますか、それとも他の誰かがすでに作成していますか?たぶん、Sitebricks自体でこれを行う方法さえありますか?
  • ジャージーのExceptionMapperインターフェースに相当するものはありますか?
4

2 に答える 2

0

あなたの質問に正確に答えるわけではありませんが、エラーを管理するために私がしたことは次のとおりです。

すべての REST エンドポイントの親クラスで、次のメソッドを宣言しました。

protected Reply<?> error(String errorCode) {
    logger.error(errorCode);
    return Reply.with(new ErrorJSONReply(errorCode)).as(Json.class).headers(headers()).type("application/json; charset=utf-8");
}

次に、すべてのエンドポイントで例外をキャッチし、このメソッドを使用して一般的なエラーに応答します。

それが役立つことを願っています。

よろしく

于 2012-11-21T15:57:04.297 に答える