Я хотел бы иметь дело с 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 очень хорошо работает (хотя ссылки не отражают тип «страницы»), но любой POST с набором отношений возвращает 405 Method Not Allowed.
Не уверен, что это возможно, но мне бы очень понравилось, так как мне нравится Катарсис.