WEBAPI VERBO GET COM DOIS PARAMETROS

 Tópico anterior Próximo tópico Novo tópico

WEBAPI VERBO GET COM DOIS PARAMETROS

C#

 Compartilhe  Compartilhe  Compartilhe
#484791 - 04/10/2018 15:41:56

MRSILVA
MARINGA
Cadast. em:Julho/2015


Olá.

Estou fazendo a minha primeira WebApi   alguém pode me ajudar como fazer para passar os parâmetros para minha controller.
Exemplo tenho o seguinte método na minha controller:

[[HttpGet, Route("api/ProdutoGrupo/GetDescricao")]
        public IHttpActionResult GetDescricao(int id, int idTipo)
        {
            ProdutoGrupo produtoGrupo = new ProdutoGrupo();

            return Ok(produtoGrupo.GetDescricao(id, idTipo));
        }  


Como fazer para passar esses parâmetros quando chamar esse método na minha aplicação, tentei de varias formas inclusive informar na própria url mas sem sucesso:

  public async void  GetDescricao(int id, int idTipo)
        {
            string dados = "";
            using (HttpClient client = new HttpClient())
            {

                client.BaseAddress = new Uri("http://localhost:50775/api/ProdutoGrupo/GetDescricao");
                var resposta = await client.GetAsync("");
            
            }
        }  

O método ainda não está completo.

Desde já agradeço que puder me passar alguma ajuda.





Resposta escolhida #484794 - 04/10/2018 17:13:16

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
http://localhost:50775/api/ProdutoGrupo/GetDescricao/999/4444

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#484795 - 04/10/2018 17:49:11

MRSILVA
MARINGA
Cadast. em:Julho/2015


Olá Kerplunk Obrigado pelo retorno



Primeiramente quero agradecer pelos seus videos é através deles que estou dando meus primeiros passos com WEBAPI.

Consegui implementar o método conforme abaixo passando os parâmetros através de uma UriBuilder

  public async void  GetDescricao(int id, int idTipo)
        {
            string dados = "";
            using (HttpClient client = new HttpClient())
            {
                UriBuilder builder = new UriBuilder("http://localhost:50775/api/ProdutoGrupo/GetDescricao");
                builder.Query = "Id=" + id + "&idTipo="+ idTipo;

                //client.BaseAddress = new Uri(o");
                var resposta = client.GetAsync(builder.Uri).Result;

                string Dados = await resposta.Content.ReadAsStringAsync();

            }
        }  


O método acima é apenas um teste, é uma boa forma de se fazer?

Desde já agradeço.



#484796 - 04/10/2018 18:10:19

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Me parece meio estranho... um método de GET geralmente retorna alguma coisa, o seu não está retornando nada...

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#484797 - 04/10/2018 19:19:07

MRSILVA
MARINGA
Cadast. em:Julho/2015


Última edição em 04/10/2018 19:20:36 por MRSILVA

Kerplunk esse método e um só um teste, é que seu mudar para função a o invés de void teria que fazer algumas alterações na minha view que está chamando esse método, vou fazer os ajustes assim que minha WEBAPI tiver mais concistencia.
Minha dúvida era mais se é uma boa utilizar uma uriBuilder quando temos muitos parâmetros para passar para controller




#484802 - 05/10/2018 09:22:48

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
O UriBuilder é uma das alternativas para isso. Essa é justamente a função dele: compor uma URI
Pessoalmente, uso uma implementação fluid dela, mas no final das contas vai ser o mesmo que você está fazendo.
Com a implementação que uso fica:

FluidUri xxx = new FluidUri();
xxx.BaseAddress= "www.blabla.com";
xxx.Add("par1", "99");
xxx.Add("par2", "98");
xxx.Add("par3", "97");


Ela tem umas outras frescurinhas, mas nada muito milagroso. Uso ela pra fazer chamadas à API's OData

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#484808 - 05/10/2018 13:19:11

MRSILVA
MARINGA
Cadast. em:Julho/2015


Obrigado!



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MRSILVA em 05/10/2018 16:32:23