我正在尝试通过JAX-RS Web服务发送JSON对象。我的文件web.xml是:
<servlet>
<description>JAX-RS Tools Generated - Do not modify</description>
<servlet-name>JAX-RS Servlet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>it.notifire</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JAX-RS Servlet</servlet-name>
<url-pattern>/jaxrs/*</url-pattern>
</servlet-mapping>
为我要发送的对象建模的类是:
public class GPSCoordinate {
private float latitudine;
private float longitudine;
public float getLatitudine() {
return latitudine;
}
public void setLatitudine(float latitudine) {
this.latitudine = latitudine;
}
public float getLongitudine() {
return longitudine;
}
public void setLongitudine(float longitudine) {
this.longitudine = longitudine;
}
}
根类资源是:
@Path("position")
public class Position {
@Context
private UriInfo context;
@GET
@Produces(MediaType.APPLICATION_JSON)
public GPSCoordinate getHTML() {
GPSCoordinate coord = new GPSCoordinate();
coord.setLatitudine(90.45f);
coord.setLongitudine(34.56f);
return coord;
}
}
现在,当我尝试访问该服务时,将浏览器指向以下链接
http://localhost:8080/Notifire/jaxrs/position
我得到以下错误:
消息org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException:找不到针对媒体类型=
application / json的MessageBodyWriter
在我的WEB-INF / lib文件夹中,有了jersey JAX-RS实现的最新版本(jaxrs-ri-2.5.jar)和jersey-
json.jar存档。
任何帮助将非常感激。
尝试将Genson添加到您的类路径中,它将自动启用JSON支持。
Genson是json和java / scala的数据绑定和流媒体库。它实现了JAX-RS的扩展点MessageBodyReader /
Writer,允许球衣自动检测Genson并将其用于Json解析/编写。
您可以找到有关Gensons与JaxRS集成(球衣和cie)的更多信息。
问题内容: 我正在使用Jetty进行小型的RESTful服务。使用Maven作为构建工具。 当我尝试调用试图访问对象的JSON表示形式的GET方法时,出现“ MessageBodyWriter”错误。有问题的方法如下, GtfsRtFeedModel的GtfsRtFeedModel如下, 我的Maven文件包括以下内容以及码头依赖项, 大部分类似的问题似乎已通过添加和所需的依赖关系得以解决。但是由
我在使用JAX-RS服务作为JSON时遇到了一些问题。
我正在使用JAX RS 2创建Rest客户端。客户端可以工作,但只有在我的IDE(IntellIJ IDEA)中,当我用Maven构建它时,使用Maven汇编插件并运行jar,它就不再工作了。 我收到的MessageBodyWriter找不到媒体类型=应用程序/json错误。 我尝试过添加其他帖子中建议的更多依赖项,但我不认为依赖项是一个问题,因为它在IDE中运行。 下面是引发异常的代码 调试后,
问题内容: 我正在尝试简单的Jersey + JSON示例,但出现以下错误 我放入以下jar文件以获得适当的结果 为什么会出现此类错误?错误日志在这里: web.xml JsonExample.java 和Json服务 如果我做错了事,请提出建议。 问题答案: 此问题已通过jersey-bundle-1.8.jar修复
你知道吗? 谢谢,米凯尔
消息:找不到类型为java的响应对象的MessageBodyWriter。util。媒体类型的数组列表:application/json 描述:服务器遇到内部错误(找不到类型为java.util.ArrayList,媒体类型为application/json的响应对象的MessageBodyWriter),导致其无法满足此请求 我在类路径中找到了resteasy jackson提供程序。尝试将返回