Katharsis与不同类型的关系?

时间:2016-11-18 17:25:43

标签: java json-api katharsis

我想处理JSON,可以是:

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

OR

{
  "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。

不确定是否可行,但我真的很喜欢它,因为我喜欢Katharsis。

1 个答案:

答案 0 :(得分:1)

我认为你所指的是多态实体类型。如果是这样,这已经被反复询问,但目前还不存在。