2015-09-02 155 views
2

我的web服務(我想提出的uuid字符串中的響應)如何將內容添加到回覆?

@POST 
@Consumes(MediaType.TEXT_PLAIN) 
@Produces(MediaType.APPLICATION_JSON) 
public Response createObject(final String jsonString) { 
    String uuid; 
    //logic 
    ... 
    String mt = new MimetypesFileTypeMap().getContentType(uuid); 
    return Response.ok(uuid, mt).build(); 
    //also tried: Response.status(200).entity(uuid).build(); 
} 

我請求(讀取從響應的uuid)

Response response = target.request().post(Entity.entity(new Gson().toJson(params, Map.class), MediaType.TEXT_PLAIN)); 
response.getEntity() //returns null if i access it 

實體總是空當我嘗試訪問它。我究竟做錯了什麼?

+0

是它您是否必須返回「響應」對象?你可以簡單地返回一個'String'。 'public String createObject(..){..return UUIDString;}' –

+0

當我返回字符串它的作品,但我也想檢查客戶端的http(錯誤)狀態代碼 – Gobliins

+0

嘗試只返回一個實體,即'返回Response.ok(uuid).build();' – Garry

回答

0

嗨,我發現了問題:

這是一個分析問題,不知何故,我總是得到空,直到我從

response.getEntity() 

改變了我的請求代碼這樣:

String uuid = new Gson().fromJson(response.readEntity(String.class), String.class);