Skip to content

Enviando parâmetros do front para o back (javascript) #1110

@schirrel

Description

@schirrel

Percebi um comportamento estranho quando tento fazer uma busca no backend mandando parametros.
Por exemplo, tenho meu objeto filtros que esta da seguinte maneira:
{usuario:'', email:'', perfil:{id:'', nome:''}}
em caso do mesmo estar preenchido ficara:
{perfil:{id:'1', nome:'adm'}}

Quando vou mandar ele pro backend, possuo um objeto busca:

public class BuscaUsuario {
		private String email;
		private String usuario;
		private Perfil perfil;
...
}

Meu metodo recebe esse parametro busca:

	@Get("/buscar")
	public Pagina<Usuario> buscar(BuscaUsuario busca) {

teoricamente o envio do parametro para o backend deveria ser:
UsuarioService.buscar(filtros ).$promise.then ...

porem se eu tento enviar o mesmo objeto que usei no ng model dos campos, o backend recebe como nulo.

mesmo se eu colocar
UsuarioService.buscar({'busca': filtros}).$promise.then

entao basicamente estou tendo que fazer

  for (var p in filtros) {
                parametros['busca.' + p] = filtros[p];
                if(angular.isObject(filtros[p])) {
                	for(var pObject  in filtros[p]){
                		 parametros['busca.'+pObject+'.' + pObject] = filtros[p][pObject];
                	}
                }
            }

e colocar essa string 'busca.' ou busca.nomeDoObjeto, no caso perfil, no json de busca, estou fazendo algo errado que o vraptor nao consegue identificar meu objeto enviado?
no network do navegador, o objeto é enviado normalmente pela requisicao se eu nao mando com esse 'busca.usuario' por exemplo mas o backend nao recebe

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions