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.

  • Cómo hacer widget de tamaño 4x1 en la pantalla de inicio de Android?
  • COCOS 2D captura de pantalla es negro en Android
  • Intención de reanudar una actividad previamente detenida (llamada desde una notificación)
  • CSS en línea para hr no se aplica mientras se convierte html a pdf utilizando la biblioteca iText
  • ¿Por qué una clase de fragmento no puede ser válida?
  • No entiendo por qué se produce esta ClassCastException
  • 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?

  • ¿Cómo integrar ZXing Library a Android Studio para escanear códigos de barras?
  • Tome la foto de la cámara en fragmento
  • Desplazamiento por Android en la lista
  • Cómo mostrar la frontera a Imageview?
  • Android: SharedPreference: Los valores predeterminados no se establecen en el inicio
  • Dibujar un diseño cuadrado dentro de un círculo
  • 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.