getActivity / EasyHttp

Android 网络请求框架,简单易用,so easy
Apache License 2.0
1.4k stars 191 forks source link

[疑惑]:如何动态设置请求头 #218

Closed GuoLiangjun123 closed 10 months ago

GuoLiangjun123 commented 10 months ago

问题描述【必填】

我们的请求头并不是固定的,而是根据不同的接口参数来设置不同的请求头,比如接口A的请求参数是a1,a2那么请求头就是a1,a2,如果接口B的请求参数是B1,B2那么这个时候请求头就变成了b1,b2。请问这种动态设置请求头的需求可以实现吗?

框架文档是否提及了该问题【必答】

是否已经查阅框架文档但还未能解决的【必答】

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

GuoLiangjun123 commented 10 months ago

我看了一下在EasyConfig中有一个addHeader的方法,但是我想在api类里面进行addHeader,现在的问题是我如何在api类里面获取到EasyConfig对象从而进行addHeader

getActivity commented 10 months ago

小伙子,你确定这个问题文档上面没有写?

GuoLiangjun123 commented 10 months ago

小伙子,你确定这个问题文档上面没有写?

EasyConfig.getInstance().addHeader("key", "value"); 这个吗哥

getActivity commented 10 months ago

@GuoLiangjun123 不是这个,你再仔细找找

GuoLiangjun123 commented 10 months ago

@GuoLiangjun123 不是这个,你再仔细找找

给字段加上 @HttpHeader 注解即可,则表示这个字段是一个请求头,如果没有加上此注解,则框架默认将字段作为请求参数,就是这个了吧哥

getActivity commented 10 months ago

@GuoLiangjun123 小伙子,还是找错了,你现在还是认真把文档看一遍再说。

GuoLiangjun123 commented 10 months ago

@GuoLiangjun123 小伙子,还是找错了,你现在还是认真把文档看一遍再说。

IRequestInterceptor 接口来实现,是这个吗?如果是这个的话相当于返回一个全新的header,但是我们的需求是有两个全局的header和一个根据每个接口参数定义的动态header,我们现在要做的是这个动态header,所以看了整个文档下来还是觉得在文档的描述下 @HTTPHeader 注解最适合我们的需求

FOnlyJack commented 8 months ago

我看了一下在EasyConfig中有一个addHeader的方法,但是我想在api类里面进行addHeader,现在的问题是我如何在api类里面获取到EasyConfig对象从而进行addHeader

image 这样都能自定义的