gpt4 book ai didi

java - Jersey/JAX-RS 中的嵌套内部类

转载 作者:行者123 更新时间:2023-12-02 00:47:44 25 4
gpt4 key购买 nike

我有这个资源,位置完美:

@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 没有将内部类视为资源。

最佳答案

您需要使用Sub-Resource Locators 。基本上,您将在 Grouper 类中拥有一个方法,它将实例化 AdoptableAnimalsResource 类。 AdoptableAnimalsResource 不应具有 @Path 注释。可以,但会被忽略。它的方法可以有子资源@PathGrouper 类中的方法应具有标识 AdoptableAnimalsResource 子资源的 @Path

所以它可能看起来像这样

@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";
}
}
}

关于java - Jersey/JAX-RS 中的嵌套内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27643164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com