美文网首页
Spring | 测试说我的导出接口炸了!!!

Spring | 测试说我的导出接口炸了!!!

作者: ProudLin | 来源:发表于2019-10-29 13:59 被阅读0次

每次测试找我,如同被“死神”盯上,毕竟大多时候不是什么好消息啊。

之前的一个导出 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:继续摸鱼学习咯~

相关文章

网友评论

      本文标题:Spring | 测试说我的导出接口炸了!!!

      本文链接:https://www.haomeiwen.com/subject/dtmwvctx.html