2016-11-18 3 views
0

Ich möchte mit JSON beschäftigen, die entweder sein:Katharsis Beziehung mit verschiedenen Arten?

{ 
    "data": { 
    "id": "1", 
    "type": "permissions", 
    "attributes": { "permission": "VIEW" } 
    "relationships": { 
     "user": { "data": { "id": "U1", "type": "users" } } 
     "resource": { "data": { "id": "G1", "type": "groups" } } 
    } 
    } 
} 

ODER

{ 
    "data": { 
    "id": "1", 
    "type": "permissions", 
    "attributes": { "permission": "VIEW" } 
    "relationships": { 
     "user": { "data": { "id": "U1", "type": "users" } } 
     "resource": { "data": { "id": "P1", "type": "pages" } } 
    } 
    } 
} 

Das heißt, würde ich die „Ressource“ Beziehungstyp wie vollständig anpassbar zu sein („Gruppen“ oder "Seiten" oder irgendetwas anderes).

Gibt es eine Möglichkeit, das mit Katharsis zu tun? Ich hatte auf eine Art Vererbung gehofft ...

@JsonApiResource(type = "permissions") 
public class Permission { 
    ... 
    @JsonApiToOne 
    private SharedResource resource; 
    ... 
} 

public interface SharedResource { 
    ... 
} 

@JsonApiResource(type = "pages") 
public class Page implements SharedResource { 
    ... 
} 

Aber das funktioniert nicht vollständig. Ich habe es genug abgeschlossen, wo ein findAll ziemlich gut zurückkehrt (obwohl die Links nicht den Typ "Seiten" widerspiegeln), aber jeder POST mit den Beziehungen, die gesetzt werden, gibt eine 405 Method Not Allowed zurück.

Nicht sicher, dass es möglich ist, aber ich würde es wirklich mögen, da ich Katharsis mag.

Antwort

1

Ich denke, was Sie beziehen sich auf polymorphe Entitätstypen. Wenn dies der Fall ist, wurde dies wiederholt gefordert, aber es existiert derzeit nicht.

Verwandte Themen