我定義了我的REST方法來返回一個字符串數據類型作爲對http請求的響應。這是它:爲什麼有必要將Response對象而不是String對象返回給java中的http請求?
@Path("https://stackoverflow.com/users/{name}/")
@GET
@Produces("application/json")
public String getAllUserMemberships(@PathParam("name") String name) throws Exception{
String doc = "{\"name\":\""+name+"\",\"message\":\"Logged in\"}";
return doc;
}
它工作正常,但是我被別人告知,而返回javax.ws.rs.core.Response
對象,如下面的示例代碼。這也可以正常工作,他說這是響應HTTP請求的最佳方式,但他不知道爲什麼。
@Path("https://stackoverflow.com/users/{name}/")
@GET
@Produces("application/json")
public Response getAllUserMemberships(@PathParam("name") String name) throws Exception{
String doc = "{\"name\":\""+name+"\",\"message\":\"Logged in\"}";
return Response.ok(doc, MediaType.APPLICATION_JSON).build();
}
我的問題是:是否需要一個Response對象返回一個HTTP請求時,你可以返回一個字符串。如果有必要,請告訴我爲什麼,因爲在進行HTTP請求時遇到困難,哪一個是正確的。 我也擔心響應對象可能會給我我可能無法處理的問題。
這是爲了方便。您可能需要設置一堆標題。您可能想要控制狀態碼。 'Response'可以讓你做到這一點。 'String'(本身)不是。 –