EclipseでJAX-RSを使用してJava REST APIメソッドから複数のオブジェクト(String、Boolean、MyOwnClassなど)を返そうとしています。ここでJava REST API:APIから複数のオブジェクトを返す方法
は、私が今持っているものです。
私のAPIメソッド
@Path("/")
public class myAPI {
@GET
@Produces({ "application/xml", "application/json" })
@Path("/getusers")
public Response GetAllUsers() {
//Data Type #1 I need to send back to the clients
RestBean result = GetAllUsers();
//Data Type #2 I need to send with in the response
Boolean isRegistered = true;
//The following code line doesn't work. Probably wrong way of doing it
return Response.ok().entity(result, isRegistered).build();
}
}
RestBeanクラス:
public class RestBean {
String status = "";
String description = "";
User user = new User();
//Get Set Methods
}
だから私は基本的にデータタイプを送信しています:RestBeanおよびブール。
JSONレスポンスを複数のデータオブジェクトで返信する正しい方法は何ですか?
A RESTレスポンス良いでしょうトップレベルには1つのオブジェクトしか持てませんが、そのトップレベルオブジェクトにブール値とレストビーンの両方が含まれている必要はありません。 (JSONObject実装の1つを使用して)手動で構築するか、目的のオブジェクトを生成するアノテーション付きクラスを作成する必要があります – Tibrogargan
最後のコード行から1つの戻りオブジェクトを削除すると、レスポンスResponse.ok()。エンティティ(結果)。ビルド();あれは正しいですか? @Tibrogargan – Dinuka
実装全体が正しいかどうか分かりませんが、エンティティ()の正しい使用になります。 – Tibrogargan