正确输入应该是 http://localhost:8080/test?id=7777777 结果用户输入了 http://localhost:8080/test?id=bye
我该如何返回 json 中带 msg 告知用户输入参数错误 而不是返回 400
目前想法是接受 id 为 String,不过这也太蠢了,请问有其他方法吗?谢谢
try{
Integer idd = Integer.valueOf(id);
}catch(Exception e){
return Result.validationError("参数错误");
}
1
CStarter 2019-12-17 15:12:00 +08:00 via Android
正则比 exception 好
|
2
speedofstephen 2019-12-17 16:58:20 +08:00
??你用的什么框架。如果是 spring 为什么不直接用 Integer 呢?
|
3
linauror 2019-12-17 17:14:24 +08:00
错误码+错误消息
|
4
gotonull 2019-12-17 17:54:52 +08:00
定义一个全局异常处理啊
|
5
securityCoding 2019-12-17 17:56:38 +08:00
@xzceprint +1
|
6
tubimasky 2019-12-17 18:10:10 +08:00 via Android
hirenate 验证包?
|
7
crella 2019-12-17 18:17:50 +08:00 via Android
html 路径的参数不都是 string 的吗?
如果 java 里面不是这样,先把所有参数都转为 string,然后尝试转 integer,如果转换结果为 0 或者抛出异常就判断是错误参数。 |
8
superrichman 2019-12-17 18:49:57 +08:00
这种就应该不做任何提示给前端. 等你以后吃过亏了就会懂.
|
9
sandman511 OP @Tranvin 好的 我把异常处理改成正则
|
10
sandman511 OP @speedofstephen springboot 改成 Integer 的话,如果用户输入字母,直接报错了 400 了。无法返回 json
|
11
sandman511 OP @superrichman 请问这是为什么呢?直接给前端 400 吗
|
12
sandman511 OP @xzceprint 百度了一下,这好像确实是我想要的解决方法 谢谢!
|
13
speedofstephen 2019-12-18 14:10:32 +08:00
@sandman511 对阿,400 不就是外部错误么。
|