每次测试找我,如同被“死神”盯上,毕竟大多时候不是什么好消息啊。
之前的一个导出 Excel 接口,因为数据量太大,无奈折中设置了导出量为 300 的上限。
我也清楚这个接口迟早要改的,一个月后,业务方说 300 的数量太小不能满足日常使用。
先说一说之前为什么只设置了 300 的数据量。
N 久之前的需求,我分析之后,导出的数据来源太过分散,不可能直接用 SQL 语句直接跨库拿数据,就算可以也不推荐。
比较推荐的方式是在业务层进行数据拼接。
后面发现用一组类型为 List<String> 的 ids 去调用一个接口结果炸了。
错误提示如下:
There was an unexpected error (type=Internal Server Error, status=500).
status 400 reading
大概意思呢就算参数太多了承受不住。
因为接口入参是列表,列表长度有可能超长的时候,会报 400 的错误!
不过这次要修改了,幸好解决方法也找到了。
只需修改两个地方即可
1.把接口的 method = RequestMethod.GET 改为 method = RequestMethod POST;
2.把接受参数的注解 @RequestParam 该为 @RequestBody
例如
修改前:
@RequestParam(value = "Ids", required = true) List<String>Ids
修改后:
@RequestBody List<String> Ids
记住,入参的列表不要用 RequestParam,要用 POST 方法和 RequestBody,否则会报400。
PS:继续摸鱼学习咯~
网友评论