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.