java - Spring Boot 数据休息 Jakson JSONSerializer 空

标签 java spring rest spring-boot jackson

我有一个 Spring Boot 项目 1.3.3-Release,已将其部署到 Web Logic 12c 应用服务器上。该代码在嵌入式 tomcat 上运行良好,但在部署到 Web Logic 上时则运行不佳。

我有一个 Spring Data-Rest 存储库

@RepositoryRestResource(collectionResourceRel = "car", path = "car")
public interface CarRepo extends PagingAndSortingRepository<Meter, Long>
{
    List<Car> findall();
}

我的车POJO

@Table(name="car")
@Entity
public class Car
{
   @Id
   @Column(name="ID")
   private Long id;

   @Column(name="manufacturer")
   private String manufacturer;

   .......
}

一切都会启动并加载网页,当我进行其余调用时,我可以看到 SQL 输出的 SQL 查询执行良好,但随后我在服务器日志中收到以下错误:

java.lang.AbstractMethodError: com.fasterxml.jackson.databind.JsonSerializer.isEmpty(Ljava/lang/Object;) at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:528)

我假设 data-rest 正在尝试自动将 JSON 响应从端点映射到 Car 对象,但由于某种未知原因而失败。

我从下面的链接中看到 Spring-Hateoas 存在问题,我知道 spring-data-rest 使用它,但似乎我使用的是最新版本的 spring-data-rest 这不应该是一个问题。

spring-hateoas error

任何帮助将不胜感激

最佳答案

这看起来像是 JsonSerializer 类的版本不匹配问题。我认为您的 weblogic 类加载器正在加载旧版本的 com.fasterxml.jackson.core:jackson-databind,其中 JsonSerializer 类没有 isEmpty 方法。

来自文档:

/**
 * Method called to check whether given serializable value is
 * considered "empty" value (for purposes of suppressing serialization
 * of empty values).
 *<p>
 * Default implementation will consider only null values to be empty.
 * 
 * @since 2.0
 */
public boolean isEmpty(T value) {
    return (value == null);
}

关于java - Spring Boot 数据休息 Jakson JSONSerializer 空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36625143/

相关文章:

java - 从工厂收到的 Spring 父 bean 是否有属性?

java - 在 GAE 上存储文本,非标准 unicode 字符被更改

json - 从 Swagger 文档生成 Yaml 或 Json 文件

java - 在单词问题中间分割字符串

java - 执行android应用程序时出现错误

spring - CORS 策略已阻止从源访问 XMLHttpRequest

java - 在 Spring 的单个项目中同时使用 XML 和注释配置是个坏主意吗?

javascript - 如果我需要保存 Backbone.Collection,这是代码味道吗?

java - 通过 bean 名称编写可选的 bean 依赖注入(inject)

java - 父类(super class)方法中的return关键字是否返回到调用父类(super class)方法的子类?