Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo enviar una solicitud getForObject con parámetros Spring MVC

Tengo un método en el lado del servidor que me da la información sobre un nombre específico registrado en mi base de datos. Lo accedo desde mi aplicación de Android.

La solicitud a servidor se realiza normalmente. Lo que estoy tratando de hacer es pasar el parámetro al servidor dependiendo del nombre que quiero obtener.

  • ¿Pasar un paquete en startActivity ()?
  • Android - Redondear a 2 decimales
  • Android: ¿Cómo obtener un diálogo modal o un comportamiento modal similar?
  • Android Studio 0.4: No se pudo encontrar el método jniDir ()
  • Desbordamiento de pila al utilizar Retrofit rxjava concatWith
  • MediaBrowserService y MediaStore
  • Aquí está mi método del lado del servidor:

    @RequestMapping("/android/played") public ModelAndView getName(String name) { System.out.println("Requested name: " + name); ........ } 

    Aquí tienes la solicitud de Android:

     private Name getName() { RestTemplate restTemplate = new RestTemplate(); // Add the String message converter restTemplate.getMessageConverters().add( new MappingJacksonHttpMessageConverter()); restTemplate.setRequestFactory( new HttpComponentsClientHttpRequestFactory()); String url = BASE_URL + "/android/played.json"; String nome = "Testing"; Map<String, String> params = new HashMap<String, String>(); params.put("name", nome); return restTemplate.getForObject(url, Name.class, params); } 

    En el lado del servidor, sólo estoy recibiendo:

     Requested name: null 

    ¿Es posible enviar parámetros a mi servidor de esta manera?

  • Cualquier forma de ejecutar comandos de shell en android mediante programación?
  • Compartir a través de Seekable Pipe o Stream con otra aplicación para Android?
  • Android SQLite: ¿Qué consulta ("query" o "rawQuery") es más rápida?
  • ¿Cómo instalar Android Studio en Ubuntu?
  • ¿Qué pasaría si se lanzara la aplicación Android con debuggable?
  • Por qué alguna vez lanza FileNotFoundException
  • One Solution collect form web for “Cómo enviar una solicitud getForObject con parámetros Spring MVC”

    La plantilla restante espera que la variable "{nombre}" esté allí para reemplazarla.

    Lo que creo que estás buscando hacer es construir una URL con parámetros de consulta que tienes una de dos opciones:

    1. Utilizar un UriComponentsBuilder y agregar los parámetros por ese
    2. String url = BASE_URL + "/android/played.json?name={name}"

    Opción 1 es mucho más flexible sin embargo. La opción 2 es más directa si sólo necesita hacer esto.

    Ejemplo solicitado

     // Assuming BASE_URL is just a host url like http://www.somehost.com/ URI targetUrl= UriComponentsBuilder.fromUriString(BASE_URL) // Build the base link .path("/android/played.json") // Add path .queryParam("name", nome) // Add one or more query params .build() // Build the URL .encode() // Encode any URI items that need to be encoded .toUri(); // Convert to URI return restTemplate.getForObject(targetUrl, Name.class); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.