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解决!!

相关推荐
阿蒙Amon13 分钟前
C#每日面试题-Array和ArrayList的区别
java·开发语言·c#
daidaidaiyu18 分钟前
Spring IOC 源码学习 一文学习完整的加载流程
java·spring
2***d88531 分钟前
SpringBoot 集成 Activiti 7 工作流引擎
java·spring boot·后端
五阿哥永琪31 分钟前
Spring中的定时任务怎么用?
java·后端·spring
计算机毕设VX:Fegn089535 分钟前
计算机毕业设计|基于springboot + vue小型房屋租赁系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
gelald43 分钟前
AQS 工具之 CountDownLatch 与 CyclicBarry 学习笔记
java·后端·源码阅读
better_liang1 小时前
每日Java面试场景题知识点之-XXL-JOB分布式任务调度实践
java·spring boot·xxl-job·分布式任务调度·企业级开发
会游泳的石头1 小时前
一行注解防死循环:MyBatis 递归深度限制(无需 level 字段)
java·mybatis
q***o3761 小时前
Spring Boot环境配置
java·spring boot·后端
hhzz1 小时前
Springboot项目中使用POI操作Excel(详细教程系列3/3)
spring boot·后端·excel·poi·easypoi