Saltar al contenido

Cómo PUBLICAR una carga JSON en un @RequestParam en Spring MVC

Estate atento porque en esta noticia vas a encontrar el hallazgo que buscas.Esta crónica ha sido probado por nuestros especialistas para garantizar la calidad y exactitud de nuestro post.

Solución:

Sí, es posible enviar tanto los parámetros como el cuerpo con un método de publicación: Ejemplo del lado del servidor:

@RequestMapping(value ="test", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public Person updatePerson(@RequestParam("arg1") String arg1,
        @RequestParam("arg2") String arg2,
        @RequestBody Person input) throws IOException 
    System.out.println(arg1);
    System.out.println(arg2);
    input.setName("NewName");
    return input;

y en su cliente:

curl -H "Content-Type:application/json; charset=utf-8"
     -X POST
     'http://localhost:8080/smartface/api/email/test?arg1=ffdfa&arg2=test2'
     -d '"name":"me","lastName":"me last"'

Disfrutar

Puede hacerlo registrando un Converter de String a su tipo de parámetro usando un cable automático ObjectMapper:

import org.springframework.core.convert.converter.Converter;

@Component
public class PersonConverter implements Converter 

    private final ObjectMapper objectMapper;

    public PersonConverter (ObjectMapper objectMapper) 
        this.objectMapper = objectMapper;
    

    @Override
    public Person convert(String source) 
        try 
            return objectMapper.readValue(source, Person.class);
         catch (IOException e) 
            throw new RuntimeException(e);
        
    

Reseñas y calificaciones

Recuerda que puedes recomendar esta reseña si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *