spring boot 对接第三方系统时定制化请求头
使用RequestInterceptor接口
使用feign调用的方式去调用第三方系统的接口
Feign 接口
url 为第三方服务器的ip端口地址
@FeignClient(value = "remoteCertService", contextId = "remoteCertService", url = "${url}",configuration = WebCertRequestHeaderInterceptor.class )
public interface RemoteCertService {
@PostMapping(value = "/api/accessAccount/webCertLoginToken", consumes = "application/json")
WebCertLoginRes webCertLoginToken(@RequestBody WebCertLoginReq req);
}
拦截器
@Configuration
public class WebCertRequestHeaderInterceptor implements RequestInterceptor {
public static final String APP_ID = "appId";
public static final String SECRET = "secretKey";
@Value("${appId:1579373552686243842}")
private String appId;
@Value("${secretKey:A5DAEC4D10A969AA7E0720159DF92127}")
private String appSecret ;
@Override
public void apply(RequestTemplate template) {
template.header(APP_ID, appId);
template.header(SECRET,appSecret);
}
这里我只想要在请求头中加入 appId和secretKey两个鉴权字段