繁体   English   中英

未找到Form&application / x-www-form-urlencoded的Body Writer

[英]Body Writer not found for Form & application/x-www-form-urlencoded

我的构建路径上有jersey-client-2.25.1,我知道它具有将javax.ws.rs.core.Form转换为application / 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)

我不应该注册一个多类按这个

我的构建路径上有jersey-client-2.25.1

是的,但是您没有使用它。 您正在使用Jersey 1.x客户端。 ClientResposne,WebResource ,即球衣1.x。 Jersey(JAX-RS)1,不支持javax.ws.rs.core.Form 这是一个JAX-RS 2类。 如果您确实使用Jersey 2客户端,则可以使用。

如果要坚持使用Jersey 1.x客户端,则(使用application / x-www-form-urlencoded),它支持com.sun.jersey.api.representation.FormMultivaluedMap

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM