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

标签 java json jersey jax-rs path-parameter

我正在用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/

相关文章:

Java .jar "Open With"Windows 资源管理器不断生成资源管理器进程

java - 根据用户输入在文本框 asp.net 中自动添加货币值(value)分 (12,345.00 , 12,345.55)

javascript - 如何将图像文件放入 json 对象中?

java - 将 SpringMVC 用于仅休息的 Web 项目会产生开销吗?

java - 复合 JTree 节点允许事件传递到下面的对象

java - 我这样写,但仍然出现错误 "A connection to XXX was leaked. Did you forget to close a response body? "

jquery - 使用 JQuery 将分隔字符串转换为分层 JSON

javascript - shift() 和 pop() 不是函数

java - Jersey 2单例依赖注入(inject)创建多个实例

java - 执行文件上传休息 Web 服务时缺少方法的依赖性