2012-03-26 34 views
0

我這裏所描述的一個類似案例:Dynamically change RESTEasy service return typeRestEasy的響應

我現在面臨的問題是,我試圖返回一個對象(與@XMLRootEntity註釋)的列表,但我得到一個500服務器錯誤代碼:

服務器遇到一個內部錯誤(找不到 MessageBodyWriter類型的響應對象: 媒體類型的java.util.ArrayList中:應用/ JSON)阻止其履行此 請求。

你能給一些建議如何解決這個問題嗎?

我不確定在哪裏看。

謝謝。

回答

8

您應該使用接口而不是使用list的實現。

嘗試改變返回值類型有:java.util.List的

編輯: 嘗試包列表分爲GenericEntity

List<String> myList = new ArrayList<String>(); 
// add ... 
final GenericEntity<List<String>> entity = new GenericEntity<List<String>>(myList) { }; 
Response.status(Status.BAD_REQUEST).entity(entity).build(); 
+0

我使用的名單,但我猜它認爲在執行錯誤堆棧。嘗試返回響應之前,我試着返回列表,一切正常。嘗試返回javax.ws.rs.Response對象時出現問題。 – Radu 2012-03-26 11:06:22

+0

什麼是你的方法返回類型? – Aure77 2012-03-26 11:52:51

+0

您可以使用[ResponseBuilder](http://docs.jboss.org/resteasy/docs/2.3.1.GA/javadocs/javax/ws/rs/core/Response.ResponseBuilder.html)創建響應。 返回類型必須是javax.ws.rs.Response。例如: 例如:'Response.status(Status.BAD_REQUEST).entity(myList).build()' – Aure77 2012-03-26 12:19:52

相關問題