gpt4 book ai didi

java - 在带有 JAX-RS 的方法上使用 subPath

转载 作者:行者123 更新时间:2023-12-01 04:22:35 25 4
gpt4 key购买 nike

我正在尝试使用 JAX-RS 创建一个 API,并通过多种方式获取产品。例如,如果您输入

herp.com/products/11

您获得 ID 为 11 的产品,效果非常好。如果您输入:

herp.com/products/name/banana

您应该获得所有名为“香蕉”的产品。尽管按名称获取功能不起作用(参数内名称始终为空)。这是带有所有注释的函数。

@GET
@Path("/name/{name}")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public Response getByName(@PathParam("{name}") String name) {

Logger.getAnonymousLogger().log(Level.INFO, "getByName, name: " + name);
List<ProductProxy> found = new ArrayList<ProductProxy>();
for(ProductProxy proxy : products)
if(name.equals(proxy.getName()))
found.add(proxy);

return Response.ok(found).build();
}

尽管参数内始终为空。我的注释有问题吗?类注释是@Path("products")。

最佳答案

从路径参数中删除大括号,即更改

@PathParam("{name}") 字符串名称

@PathParam("name") 字符串名称

@Path("foo/{bar}) 中的大括号只是标识您有一个名为 bar 的路径参数,但不是参数的名称。

关于java - 在带有 JAX-RS 的方法上使用 subPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18782833/

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