2016-04-27 51 views
0

需要您的幫助。 我正在使用郵遞員並嘗試以JSON格式獲取信息。 但我沒有正確格式的消息我得到了這個結果 - >「[]」在JSON中生成數據

我沒有任何錯誤,我可以在控制檯中打印請求的信息,但不能在瀏覽器中。我希望有人可以給我一個線索..

@GET 
@Path("/{messager_id}") 
@Produces(MediaType.APPLICATION_JSON) 
public String GetMessageById(@PathParam("messager_id") long id){ 

    String message = new MessageService().getMessageById(id); 

    return message; 
} 
+0

您的消息包含數據? –

+0

是的。只有 - >「[]」符號! –

+0

而不是:名稱,姓氏,消息日期。 –

回答

0

我會首先推薦使用一些web服務客戶端作爲DHC REST客戶端(Chrome瀏覽器的插件)。使用它並檢查你的web服務的真實行爲。如果客戶端獲取並清空json對象,那麼確定您的服務器正在生成空數據。記錄字符串message以確保返回數據。如果它是正確的,請檢查返回方法。返回web服務的示例可以是:

return Response.ok(message, MediaType.APPLICATION_JSON).build(); 
+0

是的,我有hasEntity = false .. –

+0

不明白爲什麼服務器產生空的數據.. 在這裏我的post方法.. –

+0

如果你的MessageService()沒有返回已經作爲JSON的消息(我認爲)您期待通過魔法轉換爲JSON結構。你的回答'hasEntity = false'對我來說沒有意義,既不是你在我的文章中所做的修改。 – JorgeHortelano

0

檢查是否設置了內容類型標頭:Content-type = application/json。請提供更多信息。

+0

我確實有Content-type = application/json。 –

+0

你需要什麼信息? –

+0

數據在控制檯中的打印方式。如果您使用澤西休息,然後返回響應** Response.ok(message).build()**並將返回類型更改爲** javax.ws.rs.core.Response **而不是** String * *。 –

0

要檢查的一件事是確保MessageService.getMessageById(id)正在返回數據。

+0

我用system.out做了控制檯,並得到了正確的消息! –

+0

但在瀏覽器中不能使用JSON格式..它可能是什麼? –