RESTEASY使用空查询参数抛出异常

时间:2016-02-11 18:42:49

标签: java jax-rs resteasy undertow

我有一个基于Tomcat / Jersey的遗留应用程序,我们正在移植到Undertow / RestEasy,但是我遇到了REST调用带有空查询参数的问题。

示例资源类:

@Path("books")
class BookResource {
    @QueryParam("start") int _start;
    @QueryParam("limit") int _limit;

    @Get
    public List<Books> getBooks {
       //implementation
    }
}

使用上面的资源,当我制作类似下面的资源时,它适用于我的Jersey应用程序,但抛出RestEasy错误。我知道这个请求看起来很奇怪,但是请求来自UI,这取决于用户的选择。这可能是RestEasy配置吗?

{{baseUrl}}/books?start=&limit=

1 个答案:

答案 0 :(得分:1)

如果未定义查询参数,则当它作为输入传递给服务器端服务方法时,它们的值将为null。因为int是原始的并且不能保持null值抛出异常。将int更改为Integer可以解决您的问题。