1
resposta

Como adequar API para consultas outros domínios passando mais parâmetros?

Olá, em grandes projetos, o final das paginas não são os mesmos assim como feito nesse projeto, onde é usado o v1/fotos. Usam o mesmo caminho configurado no Vue.http.options.root, porem o final muda.

Pensando nisso eu fiz uma adaptação para passar junto com o service, o caminho da consulta, conforme exemplo:

this.service = new ajaxService(this.$resource,'caminho/da/consulta');

Seria essa a melhor solução? Ja que não posso fixar um valor no construct?

Segunda parte seria como passar mais de um parâmetro para fazer o get? Tentei fazer de várias formas porem sem sucesso.

Creio que a forma certa seja passar o caminho com os identificadores corretos no evento create:

created() {

      this.service = new ajaxService(this.$resource,'controller/estabelecimentos/favorito.php{/id_estabelecimento}{/id_usuario');

      this.service
            .favorita(this.id, this.id_usuario)
            .then(result =>{
              this.fav = !this.fav;
            });
  }

E dentro da classe ajaxService a função favorita fica assim:

favorita(id_estabelecimento, id_usuario) {
        return this._resource
            .get({ id_estabelecimento, id_usuario })
            .then(res => res.json());
    }

Só que não deu certo. Poderiam me ajudar? Obrigado.

1 resposta

Opa Matheus, essa solução de passar o caminho de consulta é ótima por que o AjaxService é genérico, correto? Dessa forma, informar onde a requisição será feita é uma boa alternativa sim.

A parte de passar mais de um parâmetro para fazer o get eu não entendi muito bem, quer tentar me explicar um pouco mais este caso?