How to avoid Url encoding in retrofit

Please Use encoded = true

@Query(value = "email", encoded = true)

@HTTP(method = "DELETE", path = ApiConstant.DELETE_CONTACT_INFO, hasBody = true)

Observable deleteContactInfo( @Query(value = "email", encoded = true) String email);


the issue I believe is that you're including callback param as part of env one. Try adding @Query("callback") boolean callback to your retrofit interface (and using just store://0TxIGQMQbObzvU4Apia0V0 for env)


better solution from Github issue 1199 , we can have custom interceptor is one way to solve this issue. and this solution work for me.

from your case i want to replace %26 with = in url.

OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
    @Override
    public Response intercept(Chain chain) throws IOException {
        Request request = chain.request();
        String string = request.url().toString();
        string = string.replace("%26", "=");
        Request newRequest = new Request.Builder()
                .url(string)
                .build();
        return chain.proceed(newRequest);
    }
});