java.lang.IllegalArgumentException: Request header is too large的解决
刚开始的用@Getmapping+@RequestParam实现的接口,但是当传输的参数数据量过大时,就会出现标题所出现的错误。为了避免上述错误,我把@RequestParam注解改成了@RequestBody,将参数放到请求体里,就可以传输的数据量可能会大一些。但是紧接着又报了如下的错误
ERROR [-,fc69e0550e1539fb,fc69e0550e1539fb,true] 9604 --- [nio-9200-exec-1] c.l.c.t.e.CustomExceptionHandler : Request method 'POST' not supported
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported
很明显@GetMapping注解提供不了POST请求,所以又将方法上的注解改成@PostMapping,结果就可以正常调用了。
因此,当使用Get方式调用的时,应该考虑参数的数据量大小,如果过大,应该采取拆分或者Post的方式来进行修改。以免在实际生产中出现问题。
这里我感觉好的做法应当是,对id数据量进行拆分,进行分批处理,这样对数据库的查询也友好很多。
Post方式只是验证了,可以这样做,但是不是一个特别好的方式。