gpt4 book ai didi

java - 如何使用 "?"no get Path Rest?

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

我正在用java、netbeans开发一个休息服务器。我有我的 GET 请求:

//myip/application/v1/cardapio/id=1

@Stateless
@Path("v1/cardapio")
public class CardapioResource {
@GET
@Produces("application/json")
@Path("id={id}")
public String getCardapio(@PathParam("id") int id) {

JsonArray array = (JsonArray) gson.toJsonTree(ejb.findById(id));
JsonObject obj = new JsonObject();
obj.add("dados", array);
return obj.toString();
}
}

它工作正常。

但我想做不同的事情,正如我在其他示例中看到的那样,我想用“?”标记变量的开头。

例如://myip/application/v1/cardapio/?id=1

    @Stateless
@Path("v1/cardapio")
public class CardapioResource {
@GET
@Produces("application/json")
@Path("?id={id}")
public String getCardapio(@PathParam("id") int id) {

JsonArray array = (JsonArray) gson.toJsonTree(ejb.findById(id));
JsonObject obj = new JsonObject();
obj.add("dados", array);
return obj.toString();
}
}

因此出现错误 404,找不到页面。

最佳答案

您在“其他示例”中看到的只是 URL 查询部分的正常用法。只需将其与 @Queryparam

一起使用即可
   @Stateless
@Path("v1/cardapio")
public class CardapioResource {
@GET
@Produces("application/json")
@Path("/") // can be removed actually
public String getCardapio(@QueryParam("id") int id) {

JsonArray array = (JsonArray) gson.toJsonTree(ejb.findById(id));
JsonObject obj = new JsonObject();
obj.add("dados", array);
return obj.toString();
}
}

这里您将 getCardapio 映射到 v1/cardapio/ 并且您将尝试从查询字符串中获取 id

例如://myip/application/v1/cardapio/?id=1

就可以了。

关于java - 如何使用 "?"no get Path Rest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57415369/

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