如何解决泽西岛“找不到合适的构造函数”作为子资源
此jax-rs api在CXF上运行正常,但需要移至Jersey,现在遇到此问题。
我有一个根“ CasesResource”和一个子资源“ CaseResource”(例如“ / cases / 1234abc”)。子资源“ CaseResource”由CaseResource传入的参数构造。在应用程序类的getClasses方法中仅添加CasesResource。
@Path("cases")
public class CasesResource extends ConfigurationDepenentResource
{
public CasesResource()
{
super();
}
@GET
@Produces({ MediaType.TEXT_XML,MediaType.APPLICATION_JSON })
public Response getList(@Context HttpServletRequest req,@QueryParam("sort") @Encoded String sort)
{
...
}
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public CaseInfoResource upload(...)
{
...
}
@Path("{id}")
public CaseResource getCaseResource(@PathParam("id") final String caseId,@Context HttpServletRequest req)
{
...
return new CaseResource(caseId,getConfigurationManager());
}
}
这是子资源
@Path("/cases/{id}")
public class CaseResource
{
private final String id;
private final AbstractWebConfigurationManager configurationManager;
public CaseResource(String id,AbstractWebConfigurationManager configurationManager)
{
super();
this.id = id;
this.configurationManager = configurationManager;
}
解决方法
我在发帖时已经弄清楚了,所以我认为最好把答案也贴出来。问题是子资源类上的@Path批注。一旦删除,它就会按预期工作。我想CXF不在乎,只要没有在getClasses()中添加类,但是Jersey都可以。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。