Ho un controllerAsp.net parametro WebAPI enum con valore di default
[HttpGet]
[RoutePrefix("api/products/{productId}")]
public HttpResponseMessage Products(int productId,TypeEnum ptype=TypeEnum.Clothes)
{
if(!Enum.IsDefined(typeOf(TypeEnum),ptype))
//throw bad request exception
else
//continue processing
}
MyEnum è dichiarato come
public TypeEnum
{
Clothes,
Toys,
Electronics
}
Attualmente se, qualche valore spazzatura viene passato si è sempre trasformato in valore di default. Quello che voglio fare è chiamare il controller come api/products/1, quindi al ptype dovrebbe essere assegnato il valore predefinito i vestiti. Se chiamo il controller come api/products/1? PType = somegarbagevalue, il controller dovrebbe lanciare un'eccezione di richiesta non valida. Come posso raggiungere questo obiettivo?
Non capisco questa soluzione. Da dove viene il tuo codice usando/trattando 'TypeEnum' dalla domanda? Ho chiesto una [domanda correlata] (https://stackoverflow.com/questions/48424564/jsonconverter-equivalent-for-http-get-parameter) che collega anche al tuo. –