array von einem Objekt zu webapi

Habe ich eine .net mvc 4 webapi-Projekt, dass ich versuche, übergeben Sie ein array von einem Objekt zu einer Methode, die auf meinem controller.

Ich habe festgestellt, dass einige Beispiele hier auf, SO dass reden, dass mein Objekt Eigenschaften mit: param1=was&param2=bling&param3=bla.

Aber ich sehe nicht, wie ich kann in einer Sammlung benutzen.

Hier ist meine Signatur der Methode. Bemerken, ich habe dekoriert, das argument mit der [FromUri] - Attribut.

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 meine einfache 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 was ich mit zu übergeben:

http://localhost:3610/api/phonenumber/getphonenumbersbynumbers/
   [{"PhoneNumber":"8016667777","RfiDate":"","FinDate":"2012-02-11","State":"UT"},
    {"PhoneNumber":"8018889999","RfiDate":"2012-12-01","FinDate":"","State":"UT"}]

mithilfe dieser kommt zurück mit "bad request"

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"}]

die nicht erreichen, die Methode, aber das array ist null.

wie kann ich ein array übergeben von meinem PhoneRequest Objekt auf meine Web-API-Methode?

  • Wie ich bereits in einem comment zu @Maggie Ying Antwort, den Methodennamen (getphonenumbersbynumbers) soll nicht werden Sie Teil der URL in ASP.NET Web-API. Stattdessen wird die Methode zu verwenden ist, bestimmt in der Regel, indem das HTTP-verb. Siehe Routing in ASP.NET Web-API
Schreibe einen Kommentar