@RequestLine 发送 application/json 的请求
微服务使用feign 通讯的模块,使用了@RequestLine注解,默认的请求格式是plant/text.
如果想发送 application/json 格式的请求,加上@Header就可以了
/**
* <p></p>
*
* @author : snx cn.shennaixin@gmail.net
* @date : 2020-06-15 15:11
*/
@FeignClient(value = "system", fallback = FeignDemoHystrix.class)
public interface FeignDemo {
/**
* 如果 ss.equals("1")那么抛出异常
*
* @param ss
* @return
*/
@RequestLine("POST /public/ex")
@Headers({
"Content-Type: application/json", "Accept: application/json"})
R req(String str);
}
@Headers 注解也可以加在类上,优先级方法上比较高
实现原理
在 feign.Contract; 接口下
Default 类.提供一个默认的约定.
注册类上的Header注解.,下面还有注册方法上的Header
通过循环调用 RequestTemplate.appendHeader,来覆盖或追加header.放到RequestTemplate 的 头模板里.
