سلام
سوالی که دارم این هست که دقیقا Header ها کاربردشون چی هست
مثلا چه دلیلی داره وقتی میخواهیم request رو ارسال کنیم دیتایی که داره ارسال میشه رو بگیریم و یه سری تغییرات روشون اعمال کنیم (چه با انوتیشن(تکی یا ارایه ای) و چه با Interpolator Chain) ممنون میشم دوستانی که کاربردشو در مثال های واقعی میدونن توضیحی ارایه بدن
حتی چه بسا لینکی باشه که این کاربرد رو توضیح داده باشه (چون سرچ هایی که زدم بدتر گیچ شدم:D)
سپاس گزارم ازتون .
سلام پوریا جان خوبی؟
به خاطر اینکه با استفاده از هدر به سرور همراه درخواستمون اطلاعاتی میدیم که سرور بفهمه مثلا چجوری بهت ریسپانس بده مثال زیر رو ببین:
object ApiServiceContainer {
private var apiService: ApiService? = null
fun getApiService(): ApiService {
if (apiService == null) {
val logging = HttpLoggingInterceptor()
logging.level = HttpLoggingInterceptor.Level.BODY
val httpClient = OkHttpClient.Builder()
httpClient.addInterceptor { chain ->
val original = chain.request()
// Request customization: add request headers
val requestBuilder = original.newBuilder()
.header("Authorization", "Bearer " + token) // <-- this is the important line
.header("Accept", "application/json")
.header("Content-Type", "application/json")
val request = requestBuilder.build()
chain.proceed(request)
}
httpClient.connectTimeout(30, TimeUnit.SECONDS)
httpClient.readTimeout(30, TimeUnit.SECONDS)
httpClient.addNetworkInterceptor(logging)
val okHttpClient = httpClient.build()
val gson = GsonBuilder()
.setLenient()
.create()
val retrofit = Retrofit.Builder()
.baseUrl(EndPoints.API_BASE_URL)
.addConverterFactory(
GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(okHttpClient)
.build()
apiService = retrofit.create(ApiService::class.java)
}
return apiService!!
}
}