我在我的项目中使用带有 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 可以正常工作。
有人知道吗?