[英]Nested inner class in Jersey / JAX-RS
我有位于完美的此资源:
@Path("/adoptable")
public class AdoptableAnimalsResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String get()
{
return "dogs";
}
}
现在,如何将此类转换为嵌套内部类? 例如,
public class Grouper
{
@Path("/adoptable")
public class AdoptableAnimalsResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String get()
{
return "dogs";
}
}
}
尝试时,出现404 Not Found错误,提示Jersey并未将内部类视为资源。
您需要使用子资源定位符 。 基本上,您将在Grouper
类中有一个方法,该方法将实例化AdoptableAnimalsResource
类。 AdoptableAnimalsResource
不应具有@Path
批注。 可以,但是将被忽略。 它的方法可以具有子资源@Path
。 Grouper
类中的方法应具有@Path
,以标识AdoptableAnimalsResource
子资源。
所以看起来可能像
@Path("/groups")
public class Grouper {
@Path("/adoptable")
public AdoptableAnimalsResource animalSubResource() {
return new AdoptableAnimalsResource();
}
public class AdoptableAnimalsResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String get() {
return "dogs";
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.