Я использую модификацию с помощью gson вместо android, так как она быстрее и надежнее.Специальные символы для переоснащения
Проблема заключается в том, что модификация кодирует специальные символы, такие как =
и ?
, а url, который я использую, не может декодировать эти символы.
Это мой код:
апи класс:
public interface placeApi {
@GET("/{id}")
public void getFeed(@Path("id") TypedString id, Callback<PlaceModel> response);
}
Основной класс:
String url = "http://api.beirut.com/BeirutProfile.php?";
String next = "profileid=111";
//Creating adapter for retrofit with base url
RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint(url).setRequestInterceptor(requestInterceptor).build();
//Creating service for the adapter
placeApi placeApi = restAdapter.create(placeApi.class);
placeApi.getFeed(id, new Callback<PlaceModel>() {
@Override
public void success(PlaceModel place, Response response) {
// System.out.println();
System.out.println(response.getUrl());
name.setText("Name: " + place.getName());
}
@Override
public void failure(RetrofitError error) {
System.out.println(error.getMessage());
}
});
Я попытался решить эту проблему с помощью этого метода gson, но он не работает, большинство вероятно, потому, что он включает только первую часть URL-адреса, а не тот, который я отправляю на интерфейс placeApi
:
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
и прибавил при создании restadapter:
RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint(url).setRequestInterceptor(requestInterceptor).setConverter(new GsonConverter(gson)).setConverter(new GsonConverter(gson)).build();
Любая помощь пожалуйста?
Спасибо, он отлично работает !! –
добро пожаловать, вы также можете проголосовать за мой ответ. – Ehsan
ok что такое TypeString? –