问题描述:
第三方调用或者调用其他服务时,明确要求使用application/x-www-form-urlencoded类型请求,并且要求参数放入请求body中
其中 服务器返回414,413都是因为参数直接拼接到请求url的后面,参考get请求方式,https://editor.youkuaiyun.com/md?not_checkout=1&spm=1&articleId=142519179
调试建议:在fegin请求时要开启调用日志方便问题排查
解决方案:
1、服务器修改接收参数的大小,一般调整nginx或者网关类的前置配置,但是调大后会影响服务器性能,一般情况对方也不会理会这种解决方式。治标不治本
2、调整参数从url放入请求体中
正常的请求使用@RequestParam传参,PostMapping设置application/x-www-form-urlencoded
@RequestParam传参格式在fegin调用的时候会自动拼接到url上去
数据量小时如所谓,如果你的参数特别大比如说超过8k服务器就会报错414,413等错误
@FeignClient(value = "startWorkflow2",url = "")
@Component
public interface StartWorkflow2Proxy {
@PostMapping(value = "",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
@ResponseBody
JSONObject startW

最低0.47元/天 解锁文章
1万+






