En la entrada de hoy veremos dos formas de acceder a la información JSON en un HttpServletRequest. La primera consiste en la lectura básica del buffer.

@RequestMapping(value="seeJsonFromBuffer")
public void verContenidoBufer(HttpServletRequest request) {
 StringBuilder sb = new StringBuilder();
 BufferedReader reader = null;
 try {
  reader = request.getReader();
 } catch (IOException e) {
  e.printStackTrace();
 }
 try {
  String line;
  try {
   while ((line = reader.readLine()) != null) {
    sb.append(line).append('\n');
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
 } finally {
  try {
   reader.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 System.out.println("JSON: " + sb.toString());
}

Y la segunda es la que gracias a Spring nos simplifica todo el trabajo anterior a un simple parámetro de entrada que contiene ya la información JSON.

@RequestMapping(value = "seeJsonFromRequestBody", method=RequestMethod.POST)
@ResponseBody
public void seeJson(@RequestBody String jsonRecived,
HttpServletRequest request, HttpServletResponse response) {
  System.out.println("JSON: " + jsonRecived);
}

Para probar el funcionamiento de estos controladores podemos desde nuestra aplicación crear la petición o si no controlamos de script, la alternativa sencilla es utilizar un RESTCLIENT, por ejemplo el de Mozilla Firefox.

petición desde restclient de firefox con información json en el body

Petición a controlador seeJsonFromBuffer

 

RestClient_seeJsonFromRequestBody

Petición al controlador seeJsonFromRequestBody

En ambos casos la salida es la misma.

{“email”:”admin”, “password”:”123″}

 

 

Categorías:

  • Hugo Vázquez Andrés

    Me cae de maravilla, ando empezando en el desarrollo y estoy de suplente, como le haría para obtener cada dato del arreglo json, por ejemplo si quisiera hacer un if o algo similar para un login

Entradas relacionadas

DevOps

OpenShift: Instalación local con Docker o binarios

Llevo una tarde entera pegándome con la documentación de OpenShift para instalarlo en un servidor CentOS 7.3 que he levantado en una máquina de Azure. Mi objetivo sencillamente vocacional, tengo la intención de manejar con Leer más…

Linux

Crear una VPN con nuestra Raspberry Pi

Para mi disponer de mi propia VPN es una gran ventaja, ya que me permite varias cosas: Acceder desde fuera de casa a la red local de mi casa: Pudiendo controlar cualquier equipo de forma Leer más…

Proyectos

Kaptis: Como usar una WebCam para vigilar con tu Raspberry

¿Qué es el proyecto Kaptis? El proyecto Kaptis nace de una solución de seguridad a medida que tuve que desarrollar para cubrir con un presupuesto muy reducido las necesidades de instalar un sistema de seguridad Leer más…

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies