springcloud feign接口调用错误

2022年8月9日12:14:46

feign接口调用错误

错误信息

This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Aug 21 20:56:07 CST 2020
There was an unexpected error (type=Internal Server Error, status=500).
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is feign.FeignException: status 405 reading MClassServiecApi#selectClassByexamId(Integer); content: {"timestamp":1598014567043,"status":405,"error":"Method Not Allowed","exception":"org.springframework.web.HttpRequestMethodNotSupportedException","message":"Request method 'POST' not supported","path":"/class/getClass"}

错误图片

springcloud feign接口调用错误FeignClient定义

@FeignClient(value = "kaoJinBang-examination-setting-provider")
public interface MClassServiecApi {
	@RequestMapping(value = "/class/getClass",method = RequestMethod.GET)
	public Map<String,Object> selectClassByexamId(Integer examId);
}

明明定义的是GET请求,结果在发起service to service call时,被转换成了POST请求。原因是OpenFeign在构造请求时需要足够多的@RequestMapping/@RequestParam/@PathVariable/@RequestHeader等来构造http请求。通过阅读自己定义的FeignClient可以发现,GET请求中的参数定义缺少注解@RequestParam报错。 将参数examId明确定义为@RequestParam(“examId”)

  • 作者:yanhuobuzai
  • 原文链接:https://blog.csdn.net/yanhuobuzai/article/details/108157682
    更新时间:2022年8月9日12:14:46 ,共 1045 字。