Spring Boot项目误将Integer类型写成int来进行传参

在处理项目中Idea中无报错

问题:

localhost:8080/param/m2在浏览器中输入:localhost:8080/param/m2

产生报错:

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Tue Feb 27 20:55:33 GMT+08:00 2024

There was an unexpected error (type=Internal Server Error, status=500).

Optional int parameter 'id' is 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.

原因为:Spring Boot项目误将Integer类型写成int来进行传参

该项目具体的代码为:(错误示范)

复制代码
@RestController
@RequestMapping("/param")
public class ParamController {

    @RequestMapping("/m1")
    public String m1(String name){
        return "这是你的姓名:"+name;
    }

    @RequestMapping("/m2")
    public String m2(String name,int id){  //错误代码,需要将int更改为Integer(包装类)
        return "序列号为:"+ id +"这是你的姓名:"+name;
    }
}

解决方案:

因此,正确的代码为:(正确示范)

复制代码
@RestController
@RequestMapping("/param")
public class ParamController {

    @RequestMapping("/m1")
    public String m1(String name){
        return "这是你的姓名:"+name;
    }

    @RequestMapping("/m2")
    public String m2(String name,Integer id){  
        return "序列号为:"+ id +"这是你的姓名:"+name;
    }
}

重启程序,在浏览器输入:localhost:8080/param/m2?id=5&name=zhangsan

运行结果为:

在Postman中测试为:

Bug解决!!

相关推荐
AMoon丶5 分钟前
Golang--多种控制结构详解
java·linux·c语言·开发语言·后端·青少年编程·golang
indexsunny6 分钟前
互联网大厂Java面试实战:微服务与Spring Boot在电商场景下的应用解析
java·spring boot·redis·docker·微服务·kubernetes·oauth2
薛定谔之死猫7 分钟前
Ruby简单粗暴把图片合成PDF文档
java·pdf·ruby
moxiaoran57538 分钟前
Spring Bean线程安全性分析
java·spring
小鸡脚来咯9 分钟前
正则表达式考点
java·开发语言·前端
liuyao_xianhui18 分钟前
递归_反转链表_C++
java·开发语言·数据结构·c++·算法·链表·动态规划
无关868818 分钟前
Springboot集成kafka
spring boot·kafka
星辰_mya19 分钟前
线上故障排查实战经验总结一
java·开发语言·jvm·面试
填满你的记忆24 分钟前
JVM 内存模型详解:Java 程序到底是如何运行的?
java·开发语言·jvm