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);
}
});