2017-02-17 37 views
0

我在我的構建路徑上有jersey-client-2.25.1,我知道它有默認提供程序來轉換javax.ws.rs.core。申請表格/ x-www-form-urlencoded。身體作家未找到窗體和應用程序/ x-www-form-urlencoded

但此代碼:

private ClientResponse getResponse(Authorization authInstance, Form formData) { 
    return webResourceInstance.type(MediaType.APPLICATION_FORM_URLENCODED). 
     header("Authorization",encode(authInstance)). 
      post(ClientResponse.class, formData); 
} 

我不斷收到:

com.sun.jersey.api.client.ClientHandlerException: com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java type, class javax.ws.rs.core.Form, and MIME media type, application/x-www-form-urlencoded, was not found 
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155) 

我不應該註冊一個多類按this

回答

3

我有我的構建路徑

呀在新澤西州的客戶 - 2.25.1,但你不使用它。您正在使用Jersey 1.x客戶端。 ClientResposne,WebResource,即球衣1.x.澤西島(JAX-RS)1,不支持javax.ws.rs.core.Form。這是一個JAX-RS 2類。如果你使用你的澤西島2客戶端,它會工作。

如果你想堅持澤西1.x的客戶端,然後(與應用程序/ x-WWW的形式,進行了urlencoded),它支持com.sun.jersey.api.representation.FormMultivaluedMap

相關問題