以下内容具有不同的URL时,如何产生此错误?
@Path("/job/{empId}/empProfile")
public EmpProfileResource delegateToEventProfileResource() {
EmpProfileResource resource = new EmpProfileResource();
locator.inject(resource);
return resource;
}
@Path("/job/{empId}/empTask")
public EmpTaskResource getClientLevelAttendees(@PathParam("clientId") long clientId){
EmpTaskResource resource = new EmpTaskResource (empId);
locator.inject(resource);
return resource;
}
@Path("/")
public class EmpTaskResource{
}
@Path("/")
public class EmpProfileResource{
}
是的,它们都是GET并产生相同的,所以?
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
错误:
[[FATAL]资源模型具有用于HTTP方法GET的模棱两可(子)资源方法,并且由Java方法public
javax.ws.rs.core.Response中的“ @Consumes”和“
@Produces”注释定义的输入mime类型com.EmpTaskResource.getEmpTasks(java.time.LocalDate,java.time.LocalDate,java.lang.String)和公共javax.ws.rs.core.Response
com.EmpProfileResource.getEmpProfiles(long,java.lang.String)在匹配正则表达式/。这两种方法产生并使用完全相同的mime类型,因此它们作为资源方法的调用将始终失败。
@Path("/")
从子资源类中删除。子资源类不需要它们。如果有它们,则将它们添加为根资源类(如果您正在扫描带@Path
注释的类)。这就是问题所在。您没有显示子资源类的方法,但是由于它们具有相同的根路径,因此我可以想象问题是由某些重叠的方法引起的。因此,只需删除@Path("/")
on子资源类,就可以了。
问题内容: 我正在将JAX-RS的jersey实现用于Web服务。我对这个JAX-RS非常陌生。 我试图在服务中添加一个方法,该方法接受Employee对象并根据Employee对象的值返回雇员ID(为此有数据库命中)。 遵循Restful原则,我将该方法设置为@GET并提供了url路径,如下所示: 出于测试目的,我编写了此客户端: 运行它时,出现错误: Method, public javax.
资源可以由类或实例也可以由可编程的资源模型构造。每一个资源从资源类创建也可以使用编程API构建资源生成器。更多信息请参考 资源生成器 部分。
问题内容: 我正在将JAX-RS的jersey实现用于Web服务。我对这个JAX-RS非常陌生。 我试图在服务中添加一个方法,该方法接受Employee对象并根据Employee对象的值返回雇员ID(为此有数据库命中)。 遵循Restful原则,我将方法设置为@GET并提供了url路径,如下所示: 出于测试目的,我编写了此客户端: } 运行它时,出现错误: 编辑: 模型: 请让我知道问题出在哪里,
但是,当我尝试相同的示例时,通过将Integer更改为Object,代码编译得很好,输出为String 谁能帮助我理解为什么当输出来自其中有字符串的方法时,签名中有对象的方法是必需的。以及类型错误不明确的原因是什么。
无法找出正确的方法来使用匹配器来识别我要处理的exchange方法的重载。我正在打的电话: