public class CarrinhoController : ApiController
{
[HttpGet]
public Carrinho Get(int id)
{
return BDFake.Carrinhos.Where(c => c.Id == id).FirstOrDefault();
}
[HttpGet]
public List<Carrinho> Get()
{
List<Carrinho> carrinhos_de_compra = BDFake.Carrinhos.ToList();
return carrinhos_de_compra;
}
}
http://localhost:49403/Api/Carrinho/1 - Esse funciona perfeitamente http://localhost:49403/Api/Carrinho/Get?id=1 - Esse funciona perfeitamente
http://localhost:49403/Api/Carrinho/Get - Esse não funciona. erro:
<Error>
<Message>A solicitação é inválida.</Message>
<MessageDetail>
O dicionário de parâmetros contém uma entrada nula para o parâmetro 'id' de tipo que não permite valor anulável 'System.Int32' para o método 'LojaAPI.Models.Carrinho Get(Int32)' em 'LojaAPI.Controllers.CarrinhoController'. Um parâmetro opcional deve ser um tipo de referência, um tipo que permite valor anulável ou declarado como opcional.
</MessageDetail>
</Error>
Ja assim funciona o metodo GET sem parametro
public class CarrinhoController : ApiController
{
/*[HttpGet]
public Carrinho Get(int id)
{
return BDFake.Carrinhos.Where(c => c.Id == id).FirstOrDefault();
}*/
[HttpGet]
public List<Carrinho> Get()
{
List<Carrinho> carrinhos_de_compra = BDFake.Carrinhos.ToList();
return carrinhos_de_compra;
}
}
http://localhost:49403/Api/Carrinho/Get - Esse funciona perfeitamente