Como passar JSON por parametro via javascript pro spring boot

Atualmente tenho passado meus parâmetros tudo por URL.
Por exemplo, tenho uma tela de cliente que salva nome, data de nascimento e CPF, minha URL ficaria mais o menos assim
localhost:8080/salvarCliente/João/02-10-2001/11111111111
E no spring boot, eu consigo pegar cada parâmetro desse e com a anotação @pathvariable e salvar no banco de dados.
Mas acredito que não esteja fazendo da melhor maneira, então minha dúvida é a seguinte.
Teria como eu passar um JSON inteiro pela URL, e no meu método eu capturar os valores deles?
Por exemplo, mandar a url: localhost:8080/salvarCliente/cliente
E no meu método Java pegar tipo, cliente.get(“nome”)?
Se sim, como eu poderia fazer isso?

Você vai passar via post?
Se sim, no método da controller, você vai dizer que está esperando um @RequestBody

@RequestMapping(value = "/meuMetodo", method = RequestMethod.POST)
public ResponseEntity<Entidade> gravar(@RequestBody MeuObjeto objeto) {
    //Faz algo
}

Aí você já teria o objeto pronto.
Se eu bem me lembro, no próprio spring.io/guides existem exemplos disso.

A algaworks possui uma apostila de Spring Boot bem bacana. Vale a pena dar uma olhada.

1 curtida

deu certo dessa maneira!!!
aproveitando o tópico, alguém teria alguma dica que eu possa fazer, pra pegar o valor de um campo em uma tela, e jogar para outra tela somente com javaScript?

Está usando o que de JS? Puro?

jquery e ajax

jQuery permite que você obtenha os parâmetros a partir da URL.
Dá uma conferida

interessante, então estava pensando em seguir nessa linha: Tenho uma tabela com todos os valores, e um botão de editar, quando eu clico no botão de editar eu jogo para a url de update, com os valores que estão atualmente no banco de dados, para quando abrir a tela de update, os campos serem preenchidos, mas me surge uma questão, caso eu tenha um tipo de cadastro com por exemplo, 20, 30 campos, seria vantajoso eu mandar todos eles para a tela de update via url? ou teria uma outra maneira?

Particularmente, eu prefiro a abordagem de criar um método que busque os dados do elemento a ser editado a partir de um identificador (código, id, etc) e, retorne tudo o que a tela de cadastro/edição precisa.