@Headers Annotaion در اندروید

پرسیده شده
فعالیت 1406 روز پیش
دیده شده 1082 بار
0

سلام 

سوالی که دارم این هست که دقیقا Header ها کاربردشون چی هست

مثلا چه دلیلی داره وقتی میخواهیم request رو ارسال کنیم دیتایی که داره ارسال میشه رو بگیریم و یه سری تغییرات روشون اعمال کنیم (چه با انوتیشن(تکی یا ارایه ای) و چه با Interpolator Chain) ممنون میشم دوستانی که کاربردشو در مثال های واقعی میدونن توضیحی ارایه بدن 

حتی چه بسا لینکی باشه که این کاربرد رو توضیح داده باشه (چون سرچ هایی که زدم بدتر گیچ شدم:D)

سپاس گزارم ازتون .

فایل پیوست

پوریا شفیعی
پوریا شفیعی

8 تیر 99

3
حذف شده

سلام پوریا جان خوبی؟

به خاطر اینکه با استفاده از هدر به سرور همراه درخواستمون اطلاعاتی میدیم که سرور بفهمه مثلا چجوری بهت ریسپانس بده مثال زیر رو ببین:

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!!
    }
}

 

فایل پیوست

وحید گروسی

توسط

وحید گروسی

8 تیر 99