LoadUserProfileApiService

유저 데이터를 가져오는 API 관리 interface

getLoadUserProfile

  • 프로필 조회 서버 API를 호출한다.

  • POST 방식/ 요청값 : iuid

@Headers("Content-Type: application/json;charset=UTF-8")
@POST("app/selectMobileProfileA.do")
fun getLoadUserProfile(@Body params:JsonObject): Observable<ApiModel.userProfile>

create

  • interface 객체를 만들어 반환한다.

  • provideLoggingInterceptor : HTTP call Log를 보기 위한 함수

companion object {
    fun create(): LoadUserProfileApiService {
        val retrofit = Retrofit.Builder()
            .client(provideOkHttpClient(provideLoggingInterceptor()))
            .addCallAdapterFactory(
                RxJava2CallAdapterFactory.create()) //retrofit 과 rx의 조합
            .addConverterFactory(
                GsonConverterFactory.create())
            .baseUrl(SharedPreferenceManager.getBaseUrl())
            .build()

        return retrofit.create(LoadUserProfileApiService::class.java)
    }

    private fun provideOkHttpClient(interceptor: HttpLoggingInterceptor): OkHttpClient {
        val b = OkHttpClient.Builder()
        b.addInterceptor(interceptor)
        return b.build()
    }

    //Interceptor 객체를 생성합니다.
    private fun provideLoggingInterceptor(): HttpLoggingInterceptor {
        val interceptor = HttpLoggingInterceptor(HttpLoggingInterceptor.Logger {
            Log.i("DEBUG-API-LOG", it)
        })
        interceptor.level = HttpLoggingInterceptor.Level.BASIC

        return interceptor
    }
}

Last updated

Was this helpful?