Optional long parameter 'userId' is present but cannot be translated into a null value due to being

调试过程中发现,从用户名+密码改为用户ID+密码的登录方式后,直接浏览器访问无法正常登录,通过$.ajax()却能成功。原因是浏览器自动将userId变为userid,导致后台接收为空值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天调试后台的时候修改原来的用户名+密码的登录方式
login(String userName, String psw)
为用户ID+密码的登录方式,且用户ID为long型(是不是Long型似乎问题不大)
login(long userId, String psw)
,但是前端直接浏览器输入 localhost:8080/login?userId=0&psw=admin
始终不能正确的访问到后台,反复修改无果之后使用 $.ajax()的方式调用却发现访问后台成功了!
最后调出ajax的network,对比访问成功与失败的两个url之间的区别。我发现我在浏览器输入的userId竟然自动变成了userid,导致最终后台的userId一直接受为空值。
吐槽:谷歌浏览器会自动将地址栏输入的英文字符全部变成小写,有点坑!
测试时可以通过添加前缀http的方式避免 http://localhost:8080/login?userId=0&psw=admin
或者后台就别写带大写字符的接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值