我想处理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返回很好(尽管链接不反映类型"pages")的地方进行了足够的欺骗,但是任何设置了关系的POST都会返回一个405方法Not Allowed。
不确定是否可能,但我真的希望是这样,因为我喜欢Katharsis。
我想你指的是多态实体类型。