Mam następujący API Web (GET):Jak opracować interfejs API sieci ASP.NET, aby zaakceptować obiekt złożony jako parametr?
public class UsersController : ApiController
{
public IEnumerable<Users> Get(string firstName, string LastName, DateTime birthDate)
{
// Code
}
}
Jest to GET, więc mogę nazwać tak:
http://localhost/api/users?firstName=john&LastName=smith&birthDate=1979/01/01
i otrzymać wynik xml użytkownika (-ów).
Czy można upakować parametry do jednej klasy tak:
public class MyApiParameters
{
public string FirstName {get; set;}
public string LastName {get; set;}
public DateTime BirthDate {get; set;}
}
I wtedy:
public IEnumerable<Users> Get(MyApiParameters parameters)
Próbowałem go i wszędzie staram się uzyskać wynik od http://localhost/api/users?firstName=john&LastName=smith&birthDate=1979/01/01
, parameter
ma wartość null.
Niezły chwyt. Wiem, że czegoś mi brakowało! :) – Tohid
To wydaje mi się gryźć KAŻDY POJEDYNCZY CZAS Wracam do programowania Web API. Chciałabym, aby Swashbuckle zrobił coś, aby upewnić się, że interfejs Web API był zsynchronizowany z ich założeniami, czy te dane przychodzą/pojawiają się jako zapytania o dane lub dane o ciele. I chciałbym, aby interfejs Web API NIE zakładał, że złożone typy były odczytywane z wywołań Body na GET - to nie ma sensu, a zwłaszcza nie jako domyślne. Dzięki Tohid i @Filip - to pytanie zaoszczędziło mi wiele razy! – Jaxidian