我有一个基于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=
答案 0 :(得分:1)
如果未定义查询参数,则当它作为输入传递给服务器端服务方法时,它们的值将为null。因为int是原始的并且不能保持null值抛出异常。将int更改为Integer可以解决您的问题。