Web Api - Dois Metodos iguais
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?
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
Curtidas 0
Respostas
Joel Rodrigues
16/08/2017
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.
Poderia colar aqui o código dos seus dois métodos par analisarmos?
Abraço.
GOSTEI 0
Adriano Costa
16/08/2017
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;
}
(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;
}
GOSTEI 0
Wilson Neto
16/08/2017
Não seria melhor passar um parâmetro para decidir entre 1 e outro?
- api/temperatura/
- api/temperatura/diario
- api/temperatura/
- api/temperatura/diario
GOSTEI 0
Wilson Neto
16/08/2017
Não seria melhor passar um parâmetro para decidir entre 1 e outro?
- api/temperatura/
- api/temperatura/diario
- api/temperatura/
- api/temperatura/diario
Só complementando o exemplo:
- api/temperatura/
- api/temperatura/semanal
Seguindo na ordem dos métodos que você postou. :)
GOSTEI 0
Joel Rodrigues
16/08/2017
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.
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.
GOSTEI 0