Resteasy @LinkResource约束ExpressionLanguage PropertyNotFoundException

时间:2013-10-09 18:02:48

标签: java el resteasy hateoas

我使用resteasy-links(2.3.7.Final)通过HATEOAS链接增强我的资源。

当使用@LinkResource的约束来限制其基于属性的创建时,BeanELResolver在传入Type时失败并带有PropertyNotFoundException。问题是resteasy-links的RESTUtils要么传入实体,要么传入ResourceFacade的情况是实体的类型。由于实体的类显然没有与实体本身相同的属性,因此必然会失败。

我想要做的是只显示链接,如果实体没有endTime,这对于直接用例非常有效,但只要使用ResourceFacade,只有实体的类型(DTO.class)传递给ELContext。 @LinkResource(value = DTO.class, constraint = "${endTime == null}")

我试过

  1. "${!(this instanceof java.lang.Class) && endTime == null}"
  2. "${this.getClass() == 'DTO' && endTime == null}"
  3. "${!this.toString().contains('class') && endTime == null}"
  4. 但是1.甚至没有编译,第二次失败,因为Class没有getClass()。 3.虽然有效,但对我来说似乎很狡猾。

    https://docs.jboss.org/resteasy/docs/2.3.7.Final/userguide/html/LinkHeader.html#8.2.8.%20Resource%20facades

    有更好的想法吗?

0 个答案:

没有答案