Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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_Intellij Idea_Annotations - Fatal编程技术网

Java 重写方法中是否禁止参数注释?

Java 重写方法中是否禁止参数注释?,java,intellij-idea,annotations,Java,Intellij Idea,Annotations,当我遇到以下情况时,我遇到了代码不工作的问题。我有一个接口,其中定义了一些方法。其中一个是这样的 @javax.ws.rs.POST Response post(@javax.ws.rs.QueryParam("someParam") final java.lang.String someParam); 因此,我需要实现它,我去了我的实现类,Intellij IDEA强调我缺少一些方法,通过Intellij IDEA的帮助,我生成了方法的基本签名,如下所示: @Override public

当我遇到以下情况时,我遇到了代码不工作的问题。我有一个接口,其中定义了一些方法。其中一个是这样的

@javax.ws.rs.POST
Response post(@javax.ws.rs.QueryParam("someParam") final java.lang.String someParam);
因此,我需要实现它,我去了我的实现类,Intellij IDEA强调我缺少一些方法,通过Intellij IDEA的帮助,我生成了方法的基本签名,如下所示:

@Override
public Response post(@QueryParam("someParam") String someParam) {
    return null;
}
然后,当我试图调用此方法时,Jetty返回了错误http405 methodnotallowed。最后一个解决方案是,我不需要重写方法中的
@QueryParam(“someParam”)

  • 这是非常特殊的情况,还是不允许我在重写的方法中包含任何参数注释
  • Intellij IDEA是否产生错误,它是一个bug

  • 获取http请求时,Jetty容器会调用这种方法。我认为您不应该调用它,除非您覆盖默认的Jetty容器行为。注释@QueryParam(“someParam”)意味着从URL获取名为someParam的键的值,并将该值附加到变量字符串someParam为什么要调用它——它应该由容器调用。这是考试吗?你不应该有这样的接口。而且,使用spring比使用jee容易得多。不,这不是一个测试,但我正在尝试熟悉YaaS平台,它与Jetty一起提供模板项目,似乎逻辑应该就在那里。因此,是的,它覆盖了Jetty容器行为,但它是有意的。