我想处理的 JSON 可以是:
{
"data": {
"id": "1",
"type": "permissions",
"attributes": { "permission": "VIEW" }
"relationships": {
"user": { "data": { "id": "U1", "type": "users" } }
"resource": { "data": { "id": "G1", "type": "groups" } }
}
}
}
或者
{
"data": {
"id": "1",
"type": "permissions",
"attributes": { "permission": "VIEW" }
"relationships": {
"user": { "data": { "id": "U1", "type": "users" } }
"resource": { "data": { "id": "P1", "type": "pages" } }
}
}
}
也就是说,我希望“资源”关系类型完全可自定义(“组”或“页面”或其他任何内容)。
有办法用 Katharsis 做到这一点吗?我希望得到某种继承......
@JsonApiResource(type = "permissions")
public class Permission {
...
@JsonApiToOne
private SharedResource resource;
...
}
public interface SharedResource {
...
}
@JsonApiResource(type = "pages")
public class Page implements SharedResource {
...
}
但这并不完全有效。我已经花了不少功夫,findAll 返回得很好(尽管链接不反射(reflect)“页面”类型),但任何具有关系集的 POST 都会返回 405 不允许的方法。
不确定这是否可能,但我真的很希望如此,因为我喜欢 Katharsis。
最佳答案
我认为你指的是多态实体类型。如果是这样,则已多次要求但目前不存在。
关于java - 与不同类型的宣泄关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40682804/