簡體   English   中英

在Retrofit2中如何正確處理重定向作為響應

[英]How to properly handle a redirect as a response in retrofit2

我正在使用一個API ,該API通過POST請求成功創建資源時返回308 我如何通過retrofit2最好地解決這個問題?

還是API不返回308

如下所示創建Interceptor ,然后調用addInterceptor(getRedirectInterceptor()) (在OkHttpClient.Builder實例上)

protected Interceptor getRedirectInterceptor() {
    return new Interceptor() {
        @Override
        public okhttp3.Response intercept(Chain chain) throws IOException {
            Request request = chain.request();
            okhttp3.Response response = chain.proceed(request);
            if (response.code() == 308) {
                request = request.newBuilder()
                        .url(response.header("Location"))
                        .build();

                response = chain.proceed(request);
            }

            return response;
        }
    };
}

內部onResponse

if(response.code() == 308)
{
    //created done
}
 else 
{
    //not done
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM