2013-07-26 42 views
4

我的代碼球衣2庫response.getEntity不存在的,我應該用什麼來代替

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package beans; 

import clients.NewJerseyClient; 



import entities.ReservationItem; 

import java.io.Serializable; 
import java.util.ArrayList; 
import java.util.Date; 
import java.util.List; 
import javax.faces.bean.ManagedBean; 
import javax.faces.bean.SessionScoped; 
import javax.ws.rs.core.GenericType; 

import parameters.ReservationParam; 
import org.glassfish.jersey.client.ClientResponse; 

/** 
* 
* @author subhi2 
*/ 
@ManagedBean 
@SessionScoped 
public class PageController implements Serializable { 

    public String moveToPage2() { 

     NewJerseyClient client = new NewJerseyClient(); 

     ClientResponse response = client.findInsertedReservationItem(ClientResponse.class, "22", "2010-07-26T11:15:51", "2014-07-26T11:15:51"); 


     GenericType<List<ReservationItem>> genericType = new GenericType<List<ReservationItem>>() { 
     }; 
// Returns an ArrayList of Players from the web service 
     List<ReservationItem> data = new ArrayList<ReservationItem>(); 



     data = (response.getEntity(genericType)); 
     return data.toString(); 
    } 
} 

行 數據=(response.getEntity(genericType)); 導致錯誤

此代碼正在與舊球衣工作,但現在應該怎麼做才能解決這個錯誤?

回答

1

對於你問我把它換成這個

response.getEntity(String.class); 

response.getEntityStream().toString(); 

但有可能是與新澤西州2相關的另一個問題,我可以得到它通過更換這些進口工作

import jersey.spi.container.servlet.ServletContainer; 
import com.sun.jersey.api.client.ClientResponse; 
import com.sun.jersey.api.client.Client; 
import com.sun.jersey.api.client.WebResource; 

通過這些

import org.glassfish.jersey.servlet.ServletContainer; 
import org.glassfish.jersey.client.ClientResponse; 
import javax.ws.rs.client.Client; 
import javax.ws.rs.client.ClientBuilder; 

並且在該代碼(如我使用碼頭)我有由該

servletHolder.setInitParameter("jersey.config.server.provider.packages", 
           "resources"); 

替換此

servletHolder.setInitParameter("com.sun.jersey.config.property.packages", 
           "resources"); 

WebResource webResource = client.resource("http://url_u_want_to_connect"); 
ClientResponse response = webResource.accept("application/json") 

通過此

WebTarget webTarget = client.target("http://url_u_want_to_connect"); 
ClientResponse response = webTarget.request("application/json") 

最後這裏是 「最新」 的文檔的鏈接(這是關於新澤西2.x中,在2013年)

https://jersey.java.net/documentation/latest/user-guide.html

+1

我剛剛遇到同樣的問題。謝謝你的回覆,但是我不喜歡這個改變,因爲'response.getEntity(String.class)'看起來比'response.getEntityStream()。toString();' –

+0

更清潔。response.getEntityStream不存在於球衣2.7。 @amgohan提到了response.readEntity(genericType) – userRaj

2

可以更改response.getEntity(genericType)由response.readEntity( genericType)

相關問題