@RequestLine 发送 application/json 的请求

微服务使用feign 通讯的模块,使用了@RequestLine注解,默认的请求格式是plant/text.

如果想发送 application/json 格式的请求,加上@Header就可以了


/**
 * 

* * @author : snx [email protected] * @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; 接口下

@RequestLine 发送 application/json 的请求_第1张图片
Default 类.提供一个默认的约定.

注册类上的Header注解.,下面还有注册方法上的Header

@RequestLine 发送 application/json 的请求_第2张图片

通过循环调用 RequestTemplate.appendHeader,来覆盖或追加header.放到RequestTemplate 的 头模板里.

你可能感兴趣的:(@RequestLine 发送 application/json 的请求)