REST サービスを作成しましたが、意味のあるメッセージを GET 要求に送信するためのベスト プラクティスは何かと考えていました。基本的に、私の GET リクエストは、次のような特定のオブジェクトを返します。
@GET
@Path("/examsple")
@Produces(MediaType.APPLICATION_JSON)
public List<SomeObject> retrieveSomeObjs() {
List<SomeObject> result = new ArrayList<>();
try {
result = ... Get SomeObjects ...;
} catch (Exception e) {
... Deal with exception ...
}
return result;
}
エラーが発生した場合を除いて、応答が空のリストを返すだけです。何が問題なのかを説明するメッセージの方が便利です。ただし、戻り値の型がリストであるため、文字列メッセージを返すことはできません!
私の現在の解決策は、戻り値の型をマップに変更することです。その後、マップにラップされたオブジェクトをメッセージと共に返すことができます。ただし、クライアント側では少し厄介であり、組み込みのソリューションまたはこれに対する「受け入れられた」ソリューションがあるかどうか疑問に思っていました。