Ben şu Web API (GET) vardır:Karmaşık bir nesneyi parametre olarak kabul etmek için ASP.NET Web API'sı nasıl geliştirilir?
public class UsersController : ApiController
{
public IEnumerable<Users> Get(string firstName, string LastName, DateTime birthDate)
{
// Code
}
}
Bu bir GET, bu yüzden böyle diyebilirsiniz:
http://localhost/api/users?firstName=john&LastName=smith&birthDate=1979/01/01
ve kullanıcıya (ler) in bir xml sonuç alırsınız.
mümkün böyle bir sınıfa parametreleri saklanması mı: o zamanpublic class MyApiParameters
{
public string FirstName {get; set;}
public string LastName {get; set;}
public DateTime BirthDate {get; set;}
}
Ve var: Ben her zaman denedim ve
public IEnumerable<Users> Get(MyApiParameters parameters)
Elde http://localhost/api/users?firstName=john&LastName=smith&birthDate=1979/01/01
sonucu deneyin parameter
boş.
Nice catch -
Web API parametresi MSFT Mike Stall tarafından mükemmel makalesinde bağlayıcı yapar hakkında daha fazla bilgi edinebilirsiniz. Biliyorum bir şey kaçırıyordum! :) – Tohid
Bu bana HER SESSLE ZAMANI Web API geliştirmeye geri döndüğümü ısırıyor gibi görünüyor. Swashbuckle'ın emin olmak için bir şeyler yapmasını ve Web API'sının bu verilerin gelip gitmediğini/querystring verileri veya vücut verileri olarak kalmasına ilişkin varsayımları ile senkronize olmasını diliyorum. Ve Web API'sının GET çağrıları üzerinden Vücuttan karmaşık tiplerin okunduğunu düşünmüyorum - bu hiç bir anlam ifade etmiyor ve özellikle bir varsayılan olarak değil. Teşekkürler Tohid ve @Filip - Bu soru beni defalarca kurtardı! – Jaxidian