@RequestBody
efecto:
i) Esta anotación se usa para leer los datos de la parte del cuerpo de la solicitud Request, usar el HttpMessageConverter configurado por el sistema para analizarlo y luego vincular los datos correspondientes al objeto que se devolverá;
ii) Luego vincule los datos del objeto devueltos por HttpMessageConverter a los parámetros del método en el controlador.
Cuándo usar:
A) Cuando utilice GET o POST, juzgue según el valor del tipo de contenido del encabezado de la solicitud:
- application/x-www-form-urlencoded, opcional (es decir, no obligatorio, porque los datos en este caso @RequestParam, @ModelAttribute también se pueden procesar, por supuesto @RequestBody también se pueden procesar);
- multipart/form-data, no se puede procesar (es decir, los datos en este formato no se pueden procesar usando @RequestBody);
- Se deben usar otros formatos (otros formatos incluyen application/json, application/xml, etc. Los datos en estos formatos se deben procesar usando @RequestBody);
B) Al enviar a través de PUT, juzgue de acuerdo con el valor del tipo de contenido del encabezado de la solicitud:
- application/x-www-form-urlencoded, requerido;
- multipart/form-data, no se puede manejar;
- otros formatos, requeridos;
Nota: el formato de codificación de datos de la parte del cuerpo de la solicitud se especifica mediante el tipo de contenido de la parte del encabezado;
@ResponseBody
efecto:
Esta anotación se usa para convertir el objeto devuelto por el método Controller al formato especificado a través de un HttpMessageConverter apropiado y luego escribirlo en el área de datos del cuerpo del objeto Response.
Cuándo usar:
Se utiliza cuando los datos devueltos no son una página con etiquetas html, sino datos en algún otro formato (como json, xml, etc.);