1

我在我的项目中使用带有 spring boot 的 Katharsis,我的问题是 Katharsis-jpa。kathasis 似乎忽略了 @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

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

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

有人知道吗?

4

0 回答 0