java.lang.IllegalStateException: Optional int parameter 'i' is not present but cannot be translated

落日映苍穹つ 2022-05-21 00:10 269阅读 0赞

开发中访问方法时报

  1. java.lang.IllegalStateException: Optional int parameter 'i' is not present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type.
  2. at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.checkValue(HandlerMethodInvoker.java:742)
  3. at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveRequestParam(HandlerMethodInvoker.java:511)
  4. at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:348)
  5. at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)
  6. at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
  7. at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
  8. at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
  9. at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
  10. at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

方法代码:

  1. @RequestMapping("/app/store/index.htm")
  2. public void app_store_list(Double address_longitud,Double address_latitude,int i) {
  3. ...........
  4. }

从报错信息上看 是i不能赋值为null,于是查了下资料

大意是说 如果参数是非必须的,则会赋值为null,因此参数应该是一个object,它才能接受这个null值。

而上面代码参数page 的类型 为 int,它接受不了null值。

解决办法就是将 int 转换成包装类型 integer

突发问题 ,记录.

发表评论

表情:
评论列表 (有 0 条评论,269人围观)

还没有评论,来说两句吧...

相关阅读