spring boot 坑: HTTP406 Not Acceptable ,Get请求参数问题 向右看齐 2021-09-26 14:16 530阅读 0赞 spring boot 坑: HTTP406 Not Acceptable ,Get请求参数问题 项目中发现某个请求后台Spirng boot 接口时候并无返回,显示HTTP 406报错。 1、查看后台日志并无报错信息。坑 2、其他类似请求可以正常请求,经过测试请求json字符,跟请求体无关。 3、当检查替换其他url请求参数的时候,请求能正常访问,检查请求参数的区别,发现一个请求参数为空。如 name=abc&timeout= 。timeout为空时才会报错。去掉timeout参数或者设置timeout值,不报错了。 4、检查spring boot 请求参数自动封装实体类,发现timeout类型为long 。 总结: spring boot请求参数封装比较严格,long类型的GET参数不能为空,必须设置值。假如不设置值,后台无报错,请求返回406 Not Acceptable错误。如果不仔细排查,定位很麻烦。 解决办法: 1、Get请求实体的类型为long时该参数必需不为空 2、Get请求实体的类型为long时改为包装类Long。也可以解决此问题。本人采用第二种办法,以免留下坑。
还没有评论,来说两句吧...