springCloud feign @RequestMapping @GetMapping 注意点

@Controller内的返回值是和配置的视图解析器InternalResourceViewResolver挂钩的;

我们使用feign是为了获去数据并不需要什么视图,所以一定不要忘记在方法上加@ResponseBody注解

  

示例:

@FeignClient(
        name = "card",
        url = "http://localhost:7913",
)
@RequestMapping(value = "/v1/card")
public interface CardFeignClient {
 
    @RequestMapping(value = "/balance", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    Info info();
 
}  

  

如果 @RequestMapping注解被用在FeignClient类上,当像如下代码请求/v1/card/balance时,注意有Accept header

 

1
2
3
4
Content-Type:application/json
Accept:application/json
 
POST http://localhost:7913/v1/card/balance

那么会返回 404。

如果不包含Accept header时请求,则是OK:

 


public interface CardFeignClient {
 
  @RequestMapping(value = "/v1/card/balance", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
  Info info();
 
}



posted on 2020-11-27 10:59  bkytian  阅读(2616)  评论(0编辑  收藏  举报

导航