Katharsis:如何为jpa实体设置资源类型?

时间:2017-04-28 14:01:22

标签: hibernate spring-boot spring-data-jpa jsonapi-resources katharsis

我在项目中使用Katharsis和弹簧靴,我的问题在于Katharsis-jpa。似乎katharsis忽略了@JsonApiResource注释,或者没有为指定的类型应用映射。

我目前有两个班级: 一个是我的实体用户:

@JsonApiResource(type = "users")
@Entity
@Table (name = "users")
@EqualsAndHashCode(of = "firstName")
@NoArgsConstructor
public class User {

    @Getter
    @Setter
    @JsonApiId
    @Id
    @GeneratedValue (strategy = GenerationType.AUTO)
    private Long id;

    @Getter
    @Setter
    @Column
    @JsonProperty (value = "last-name")
    private String lastName;

    @Getter
    @Setter
    @Column
    @JsonProperty (value = "first-name")
    private String firstName;
}

第二个是我的jpa存储库:

@Component
public class UserResourceRepository extends JpaEntityRepository<User, Long>  {

    @Autowired
    public UserResourceRepository(JpaModule module) {
        super(module, JpaRepositoryConfig.create(User.class));
    }
}

然后我的application.properties文件如下:

katharsis:
  resourcePackage: my_package_name
  domainName: http://localhost:8080
  pathPrefix: /api
  jpa:
    enabled: false

spring:
  datasource:
    driverClassName: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/my_db
    username: my_user
    password: my_password
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

问题分为两部分: - 获取数据的网址:http://localhost:8080/users不起作用, - 进入json api序列化的字段是驼峰式而不是破折号

然后,如果没有katharsis-jpa模块(例如,使用简单的ResourceRepositoryBase),注释@JsonApiResource可以正常工作。

有人对此有所了解吗?

0 个答案:

没有答案