Optional int parameter 'pId' is present but cannot be translated into a null value due to being declared as a primitive type.
2024-09-08 10:08:57
接口测试的时候遇到了一个问题,导致测试阻断了好久,在此记录,谨防忘记。
具体报错如下:
Optional int parameter 'pId' 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.
接口报错.png
接口测试代码如下:
图片.png
出问题的就是这个pId,
百度了下这个问题的原因,归根结底就是参数类型错误了:
可选的参数 pId不存在,但无法被转换为NULL,是因为你把它给定义为 基本类型。建议将其修改为 包装类型。
就是说,你定义了参数:String pId,但没有值,那按理来说按照null来处理,结果倒霉的事情来了:pId= null; 是不允许的,因为基础类型不能赋值为null。
所以建议把参数定义修改为Inteter pId.
那为啥用Integer可以,用int不行呢,原因如下:
Integer 允许为null值,int默认0,数据库里面如果有个字段没有值可能默认值为null,所以用Integer。
在hashmap中只能用Integer而不能用int
int是基本数据类型,定义一个整型数据。Integer是一个类,在hashmap中代表一个对象,所以用object表示。
原文地址:https://www.jianshu.com/p/1153070468e1
最新文章
- Java并发编程核心方法与框架-Semaphore的使用
- Raspberry Pi 学习笔记之一
- 单调队列 I
- 使用 systemd timer 备份数据库
- CSS优化技巧
- jstl的forEach使用和jstl变量实现自增
- leetcode题解:Binary Tree Postorder Traversal (二叉树的后序遍历)
- 一段画对角线的canvas代码,之前没有写过canvas代码,现在记录下来
- [OC笔记] static 关键字
- Linux下Apache重启遇到No space left on device错误的解决方法
- 使用git克隆指定分支的代码
- centos 7 上Hive-2.1.1的安装与基本操作
- vue,在模块中动态添加dom节点,并监听
- rman restore spfile from backup
- Luogu3514 POI2011 Lollipop 递推、构造
- hdwiki 前后台版权信息在哪修改
- linux 常见音乐、视频播放器简介
- Spring Boot加载配置文件
- QQ去除聊天框广告详解——2016.9 版
- UOJ 310 黎明前的巧克力(FWT)