Retrofit2添加Header方式

一、注解静态添加方式

    @Headers({"Content_Type:application/json", "charset:UTF-8"})
    @POST("/config/getvalue")
    fun getConfig(@Body req: ConfigReq): Observable<BaseRespone<ConfigRes>>

二、注解动态添加方式

@POST("order/carry")
fun takeOrder(
         @Header("groupID") groupID: String,
         @Body req: OperateOrderReq
    ): Observable<BaseRespone<Any>>

三、通用拦截器方式

//创建拦截器
val interceptor = Interceptor { chain ->
    val request = chain.request()
    val requestBuilder = request.newBuilder()
    val url = request.url()
    val builder = url.newBuilder()
    requestBuilder.url(builder.build())
        .method(request.method(), request.body())
        .addHeader("Content_Type", "application/json")
        .addHeader("charset", "UTF-8")
         chain.proceed(requestBuilder.build())
}
//创建OKhttp
val client = OkHttpClient.Builder()
		.addInterceptor(interceptor)
        .connectTimeout(10, TimeUnit.SECONDS)
        .readTimeout(20, TimeUnit.SECONDS)
        .retryOnConnectionFailure(false)
        .build()
//Retrofit实例化
retrofit = Retrofit.Builder()
    .baseUrl(BaseConstant.SERVICE_HOST)
    .addConverterFactory(GsonConverterFactory.create())
    .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
    .client(client)
    .build()

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值