2017-07-30 12 views
1

休憩サービスの方法の価値を返す最良の方法は何ですか? Javaオブジェクト、json文字列、またはResponse? JSONにマッピングJavaで休憩サービスからオブジェクトを返す方法は?

1)戻りJavaオブジェクト():例えば、これらの実施例は、APIジャージ(達人)で実装され

@GET 
@Path("/getUser") 
@Produces({MediaType.APPLICATION_JSON}) 
public UserVO getUser() { 

    UserVO user = new UserVO(); 
    user.setValid(true); 
    user.setName("Peter"); 

    return user; 
} 

2)JSON文字列戻り値:

@GET 
@Path("/getUser") 
public String getUser() { 

    UserVO user = new UserVO(); 
    user.setValid(true); 
    user.setName("Peter"); 

    Gson gson = new Gson(); 
    String jsonResp = gson.toJson(user); 

    return jsonResp; 
} 

3)レスポンスJSONで返します:

@GET 
@Path("/getUser") 
public Response getUser() { 

    UserVO user = new UserVO(); 
    user.setValid(true); 
    user.setName("Peter"); 

    Gson gson = new Gson(); 
    String jsonResp = gson.toJson(user); 

    return Response.ok(jsonResp, MediaType.APPLICATION_JSON).build(); 
} 

これらの3つの違いは何ですか?どちらを使うのが良いですか? (それは、JavaScriptから消費されます考えると)

答えて

0

すべての3つのオプションが有効なようですが、あなたはAPI(ジャージ)を使用していて、これは注釈がある@Producesので、最初のものは私の意見では、より一貫性がありますそのAPIを使用する一般的な方法です。

また、他のlib、GSONに依存しないようにします。これは、他の場所で使用されていないクラスパスから最終的に削除することができます。

関連する問題