Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;模板为空或长度为零;使用声明性超链接_Java_Jax Rs_Jersey 2.0 - Fatal编程技术网

Java &引用;模板为空或长度为零;使用声明性超链接

Java &引用;模板为空或长度为零;使用声明性超链接,java,jax-rs,jersey-2.0,Java,Jax Rs,Jersey 2.0,我试图通过下面的例子来整合声明性超链接。我在使用时遇到了一些问题。。。value=“/systemusers/{id}”..和一些正在使用。。。resource=SystemUser.class…。在我的代码中,如果我使用第一个解决方案,我会在JSon响应中正确地插入链接,而使用后者,我会得到一个“模板为null或长度为零”错误。问题是什么?错误指的是哪个模板? 以下是我的代码片段: @XmlRootElement public class SystemUser extends Account

我试图通过下面的例子来整合声明性超链接。我在使用
时遇到了一些问题。。。value=“/systemusers/{id}”..
和一些正在使用
。。。resource=SystemUser.class…
。在我的代码中,如果我使用第一个解决方案,我会在JSon响应中正确地插入链接,而使用后者,我会得到一个
“模板为null或长度为零”
错误。问题是什么?错误指的是哪个模板? 以下是我的代码片段:

@XmlRootElement
public class SystemUser extends Account
{
  private String                        addrRow1;
  private String                        addrRow2;
  private String                        addrRow3;
  private String                        postCode;
  private String                        city;
  private String                        country;
  private String                        responsiblePerson;           // npid der resp. person
  private String                        responsibleAgroup;
  private String                        project;
  private String                        personRole;                  // for ex. selfreg_host, technical, nethz_guest, ...

  @InjectLink( value = "/users/{npid}", style = Style.ABSOLUTE, bindings = @Binding( name = "npid", value = "${instance.npid}" ), rel = "self" )
  @XmlJavaTypeAdapter( XmlAdapter.class )
  @XmlElement( name = "link" )
  Link                                  self;
...
如前所述,如果我指定
参数

"link": {
        "uri": "/IAMWS/services/users/10",
        "params": {
            "rel": "self"
        },
        "type": null,
        "rel": "self",
        "title": null,
        "rels": [
            "self"
        ],
        "uriBuilder": {
            "absolute": false
        }
    }
而如果我指定
资源
参数,我会得到:

javax.servlet.ServletException: java.lang.IllegalArgumentException: Template is null or has zero length
    org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:487)
    org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)
    org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
...

我错过了什么?

你的问题运气好吗?我也面临同样的问题。在我的例子中,资源是一个接口,而不是一个实现。“resource=”应该是resource=。