Web Api - Dois Metodos iguais

16/08/2017

0

Ola!

Criei dois metodos iguais Web API, ou seja, que retornam listas pra montagem de graficos, porem, um é diario, o outro semanal.

Mas dá o erro: StatusCode: 405, ReasonPhrase: 'Method Not Allowed'

Se eu comentar um deles, o outro o serviço web api permiti.

Como faço?
Adriano Costa

Adriano Costa

Responder

Posts

17/08/2017

Joel Rodrigues

Olá, Adriano. Não é possível/permitido ter dois métodos exatamente iguais em assinatura ou em URL, pois o framework não saberia qual invocar para responder a URL.

Poderia colar aqui o código dos seus dois métodos par analisarmos?

Abraço.
Responder

18/08/2017

Adriano Costa

Opa! O retorno de ambos sao diferentes:
(1) Retorna os registros diarios;
[HttpGet]
public List<Entidade.Temperatura> GetAllTemperatura()
{
List<Entidade.Temperatura> lista = new List<Entidade.Temperatura>();

TemperaturaNegocio negocio = new Negocio.TemperaturaNegocio();

lista = negocio.GetAllTemperatura();


return lista;

}


(2) Retorna os registros semanal.
[HttpGet]
public List<Entidade.Temperatura> GetTemperaturaSemanal()
{
List<Entidade.Temperatura> lista = new List<Entidade.Temperatura>();

TemperaturaNegocio negocio = new Negocio.TemperaturaNegocio();

lista = negocio.GetTemperaturaSemanal();

return lista;
}
Responder

18/08/2017

Wilson Neto

Não seria melhor passar um parâmetro para decidir entre 1 e outro?
- api/temperatura/
- api/temperatura/diario
Responder

18/08/2017

Wilson Neto

Não seria melhor passar um parâmetro para decidir entre 1 e outro?
- api/temperatura/
- api/temperatura/diario



Só complementando o exemplo:

- api/temperatura/
- api/temperatura/semanal

Seguindo na ordem dos métodos que você postou. :)
Responder

21/08/2017

Joel Rodrigues

Nesse caso, Adriano, até por questões de melhorar a interface da sua API, indico que defina uma rota específica para cada método, como o Wilson indicou acima.

Atualmente dos dois métodos retornam um List<Entidade.Temperatura> e são do tipo Get sem parâmetro, por isso o framework não consegue definir automaticamente qual é o método padrão para a rota api/temperatura.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar