Dato il controller:WebAPI: parametro personalizzato mappatura
public class MyController : ApiController
{
public MyResponse Get([FromUri] MyRequest request)
{
// do stuff
}
}
E il modello:
public class MyRequest
{
public Coordinate Point { get; set; }
// other properties
}
public class Coordinate
{
public decimal X { get; set; }
public decimal Y { get; set; }
}
e l'URL API:
/api/my?Point=50.71,4.52
mi piacerebbe la proprietà Point
di il tipo Coordinate
da convertire dal valore di querystring 50.71,4.52
prima di raggiungere il controller.
Dove posso collegarmi a WebAPI per farlo accadere?
Il problema con che che io devono associare ogni singola proprietà manualmente. Diciamo che il modello ha anche una proprietà 'int Radius', mi piacerebbe che legasse automaticamente. Sarebbe possibile? – David
AFAIK, sì, devi legare tutto. Dopotutto, stai dicendo al sistema come trasformare la querystring in un'istanza di un tipo. Immagino che potresti aggiungere un po 'di riflessione hocus pocus per analizzare il resto, ma che non ho fatto in questo contesto. – ssarabando
È possibile associare solo un determinato tipo di proprietà, maggiori dettagli: http://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web- api – David