2016-11-18 2 views
0

Я хотел бы иметь дело с 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.

Не уверен, что это возможно, но мне бы очень понравилось, так как мне нравится Катарсис.

ответ

1

Я думаю, что вы имеете в виду полиморфные типы сущностей. Если это так, об этом неоднократно просили, но в настоящее время его не существует.

Смежные вопросы