Retrofit 2 elimina los caracteres después de hostname de url de base

Estoy utilizando Retrofit para acceder a una API RESTful. La url de base es:

Http://api.example.com/service

Este es el código para la interfaz:

public interface ExampleService { @Headers("Accept: Application/JSON") @POST("/album/featured-albums") Call<List<Album>> listFeaturedAlbums(); } 

Y esta es la forma en que enviar solicitud y recibir la respuesta:

 new AsyncTask<Void, Void, Response<List<Album>>>() { @Override protected Response<List<Album>> doInBackground(Void... params) { Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://api.example.com/service") .addConverterFactory(GsonConverterFactory.create()) .build(); ExampleService service = retrofit.create(ExampleService.class); try { return service.listFeaturedAlbums().execute(); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Response<List<Album>> listCall) { Log.v("Example", listCall.raw().toString()); } }.execute(); 

El registro que recibo es lo extraño:

V / Ejemplo: Respuesta {protocolo = http / 1.1, código = 404, mensaje = no encontrado, url = http://api.example.com/album/featured-albums }

¿Que está pasando aqui?

One Solution collect form web for “Retrofit 2 elimina los caracteres después de hostname de url de base”

Retrofit 2 utiliza las mismas reglas que una <a href=""> .

La dirección principal / en su URL relativa indica a Retrofit que es una ruta absoluta en el host. He aquí un ejemplo de una presentación que he presentado:

Introduzca aquí la descripción de la imagen

Anote la URL incorrecta que se resolvió en la parte inferior.

Al eliminar el / principal, la URL se vuelve relativa y se combinará con los segmentos de ruta que forman parte de la URL de base. Corregido en la presentación, la URL final es correcta:

Introduzca aquí la descripción de la imagen

En su ejemplo, no tiene una URL de seguimiento / en la URL base. Es probable que desee añadir uno para que las rutas relativas se resuelven en la parte superior de ella en lugar de como un hermano de la misma.

  • ¿Hay alguna manera de agregar parámetros de consulta a cada solicitud con Retrofit 2?
  • Reajustar varios parámetros POST
  • Recupere la respuesta http en Retrofit antes de pasarla a la actividad de llamada
  • ¿Cómo puedo usar retrofit library con la barra de progreso?
  • ¿Necesita ayuda en el archivo de imagen múltiple POST usando retrofit?
  • Causado por: retrofit.RetrofitError: método POST debe tener un cuerpo de solicitud
  • Detener y reanudar las descargas utilizando Retrofit
  • Retrofit java.net.SocketTimeoutException
  • Excepción Outofmemory utilizando la biblioteca retrofit android
  • Uso de Retrofit consiguiendo error onFailure: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: closed
  • Retrofit 2: URL dinámica
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.