she*_*hep 9 java web-services jersey-2.0
如果有不同的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{
}
Run Code Online (Sandbox Code Playgroud)
是的,他们都是GET并生产相同的,所以?
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
Run Code Online (Sandbox Code Playgroud)
错误:
[[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)和public javax.ws.rs.core.Response com.EmpProfileResource.getEmpProfiles(long,java.lang.String)at at匹配正则表达式/.这两个方法生成并使用完全相同的mime类型,因此它们作为资源方法的调用将始终失败.
@Path("/")从子资源类中删除.子资源类不需要它们.如果他们拥有它们,如果您正在扫描带@Path注释的类,它们将作为根资源类添加.这就是问题所在.您没有显示子资源类的方法,但由于具有相同的根路径,我可以想象问题是由一些重叠方法引起的.所以只需删除@Path("/")on子资源类,你应该没问题.
小智 5
我有同样的错误。大多数人通过更改 @Path 注释来解决该错误,因为它们无处不在。就我而言,发生了不同的事情。例如,我将包从 aaa 修改为 bbb 。由于某种原因,在部署到服务器的工件中,aaa 和 bbb 包都存在,因此资源重复并且服务器引发了异常。我必须清除以前部署的工件并部署新的。有人可能会检查出现错误的情况。当然,归根结底,原因还是路径无处不在。我遇到了同样的问题,我也更新了版本检查,但它给了我同样的问题,可能球衣框架作品不支持这个
| 归档时间: |
|
| 查看次数: |
7718 次 |
| 最近记录: |