【问题标题】:Spatial Data from Postgis to Java/REST with RestEasy + Jackson使用 RestEasy + Jackson 从 Postgis 到 Java/REST 的空间数据
【发布时间】:2013-01-16 18:27:48
【问题描述】:

我有一个从 postgis 检索地理空间数据(线串)的服务,我想将此地理空间数据作为 JSON 数据发送,而不是使用 RestEasy + Jackson 的 REST 服务。有人知道如何将此空间数据转换为 JSON 吗?

我的实体:

public class Route {

    ...
private LineString caminho;

public Rota() {
}

public Rota(Integer id, Usuario usuario, String descricao, LineString lineString) {
    this.id = id;
    this.usuario = usuario;
    this.descricao = descricao;
    this.caminho = lineString;
}

// getters and setters

@Type(type = "org.hibernate.spatial.GeometryType")
public LineString getCaminho() {
    return caminho;
}

public void setCaminho(LineString caminho) {
    this.caminho = caminho;
}

    // hashcode and equals method
}

我的 REST 服务:

@Inject
private RotaBC rotaBC;

@GET
@Path("/rotas/{idrota}")
@Produces("application/json")
public Route show(@PathParam("id") String id) {
    return rotaBC.show(Integer.parseInt(id));
}

错误:

15:05:16,447 错误 [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/sharecar].[default]] (http--0.0.0.0-8080 -1) Servlet.service() 用于 servlet 默认抛出异常:java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonMappingException$Reference 来自 [Module "org.codehaus.jackson.jackson-mapper-asl:main" 来自本地模块加载器@1d332b(根:/opt/demoiselle/server/jboss-7.1/modules)]

...

在 org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)

在 org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:166)

...

在 org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446) 在 org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150) 在 org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)

【问题讨论】:

    标签: json jackson geospatial resteasy


    【解决方案1】:

    您的错误表明缺少 Jackson jar 或版本冲突。后者可能更有可能——如果要运行的代码是使用较新的 Jackson 版本编译的,并且类路径具有较早的版本,则可能会导致这种情况。

    【讨论】:

    • 我相信 Jackson 没有支持几何列。
    • 我不知道这一点(取决于它们的外观),但异常清楚地指向类加载问题,该问题发生在任何 JSON 或数据绑定处理发生之前。
    猜你喜欢
    • 2010-12-04
    • 2020-03-08
    • 2012-12-24
    • 1970-01-01
    • 2020-04-14
    • 2011-06-09
    • 2013-04-17
    • 1970-01-01
    • 2013-09-17
    相关资源
    最近更新 更多