Ich habe ein .net MVC 4 Webapi-Projekt, das ich versuche, ein Array eines Objekts an eine Methode auf meinem Controller übergeben.übergeben Array eines Objekts an Webapi
Ich habe einige Beispiele hier auf SO gefunden, die darüber sprechen, dass ich die Eigenschaften meines Objekts einstellen muss mit: param1 = was auch immer & param2 = bling & param3 = blah.
Aber ich sehe nicht, wie ich in einer Sammlung damit umgehen kann.
Hier ist meine Methode Unterschrift. Hinweis Ich habe das Argument mit dem Attribut [FromUri] versehen.
public List<PhoneResult> GetPhoneNumbersByNumbers([FromUri] PhoneRequest[] id)
{
List<PhoneResult> prs = new List<PhoneResult>();
foreach (PhoneRequest pr in id)
{
prs.Add(PhoneNumberBL.GetSinglePhoneResult(pr.PhoneNumber, pr.RfiDate, pr.FinDate, pr.State));
}
return prs;
}
hier ist mein einfaches PhoneRequest Objekt:
public class PhoneRequest
{
public string PhoneNumber { get; set; }
public string RfiDate { get; set; }
public string FinDate { get; set; }
public string State { get; set; }
}
und hier ist ein Beispiel dessen, was ich verwende passieren in: mit „bad Anfrage
http://localhost:3610/api/phonenumber/getphonenumbersbynumbers/
[{"PhoneNumber":"8016667777","RfiDate":"","FinDate":"2012-02-11","State":"UT"},
{"PhoneNumber":"8018889999","RfiDate":"2012-12-01","FinDate":"","State":"UT"}]
mit diesem kommt zurück "
Ich habe auch versucht, diese
http://localhost:3610/api/phonenumber/getphonenumbersbynumbers?
id=[{"PhoneNumber":"8016667777","RfiDate":"","FinDate":"2012-02-11","State":"UT"},
{"PhoneNumber":"8018889999","RfiDate":"2012-12-01","FinDate":"","State":"UT"}]
erreicht zwar die Methode, aber das Array ist null.
Wie kann ich ein Array meines PhoneRequest-Objekts an meine Web-API-Methode übergeben?
Wie ich in einem [Kommentar] (http://stackoverflow.com/questions/13962748/pass-array-of-an-object-to-webapi/13963155#comment28579974_13963155) zu @Maggie Ying [Antwort] (http://stackoverflow.com/a/13963155/326110), sollte der Methodenname ('getphonenumberbynumbers') ** nicht ** Teil der URL in ASP.NET Web API sein. Stattdessen wird die zu verwendende Methode normalerweise durch das HTTP-Verb bestimmt. Weitere Informationen finden Sie unter [Routing in ASP.NET Web API] (http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api) –