其他分享
首页 > 其他分享> > android – Rest API – 如何添加自定义标头?

android – Rest API – 如何添加自定义标头?

作者:互联网

我想用自定义标头发出POST请求.我无法使用AA Rest API – https://github.com/excilys/androidannotations/wiki/Rest%20API找到有关如何执行此操作的信息.

我应该使用ClientHttpRequestInterceptor,它用于经过身份验证的请求吗?
https://github.com/excilys/androidannotations/wiki/Authenticated-Rest-Client

谢谢你的帮助!

解决方法:

目前有一个未解决的问题:https://github.com/excilys/androidannotations/issues/323

目前,唯一的方法是使用自定义ClientHttpRequestInterceptor.这是一个小例子:

@EBean
public class CustomHeaderInterceptor implements ClientHttpRequestInterceptor {

    @Override
    public ClientHttpResponse intercept(HttpRequest request, byte[] data, ClientHttpRequestExecution execution) throws IOException {
        request.getHeaders().add("myHeader", "value");
        return execution.execute(request, data);
    }

}

然后,您需要将它链接到restTemplate,如下所示:

@EBean
public class MyService {

    @RestService
    RestClient restClient;

    @Bean
    MobileParametersInterceptor mobileParametersInterceptor;

    @AfterInject
    public void init() {
        List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>();
        interceptors.add(mobileParametersInterceptor);
        restClient.getRestTemplate().setInterceptors(interceptors);
    }

}

标签:android,android-annotations,resttemplate
来源: https://codeday.me/bug/20190901/1785539.html