MVC4'teki yeni Api Denetleyicisi'ni kullanarak bir sorunla karşılaştım. Ben aşağıdaki yöntemleri varsa:Birden fazla bildirim bildiren Api denetleyicisi Get deyimi
public IEnumberable<string> GetAll()
public IEnumberable<string> GetSpecific(int i)
Bu çalışacaktır. Ancak, ben $.getJSON
GetAllIntegers
yönteme ayarlanmış olsa bile, GetAll
yönteme varsayılan olarak, farklı türde bazıları farklı veri almak isterseniz:
public IEnumberable<int> GetAllIntergers()
(kötü adlandırma kuralları)
Bunu yapmam mümkün mü?
Web API denetleyicisinde yalnızca bir GetAll
yöntemine sahip olabilir miyim?
Neyi başarmaya çalıştığımı görselleştirmenin daha kolay olduğunu düşünüyorum.
public IEnumerable<string> GetClients()
{ // Get data
}
public IEnumerable<string> GetClient(int id)
{ // Get data
}
public IEnumerable<string> GetStaffMember(int id)
{ // Get data
}
public IEnumerable<string> GetStaffMembers()
{ // Get data
}
Hızlı soru, can I rota böyle ve ben bir ActionNameAttribute eklerseniz hala benim yöntemlerini yalnızca "Post" arayıp otomatik sadece HttpPost kabul ediyorum? – Alxandr
@Alxandr Hala AcceptVerbsAttribute (veya HttpPostAttribute, HttpGetAttribute vb.) Kullanmanız gerekecek – tpeczek
Yönlendirmede bazı sorunlar yaşıyorum - Birden çok "GET" yöntemini tanımlayabilirim, ancak/api/{controller} sunucusuna çarptıysam bir 404 yerine bir HTTP 500 "çoklu eylem bulundu" verir. Bunu engelleme hakkında herhangi bir fikriniz var mı? İstediğim, "Al, Yayınla, Kola, Sil, vb." Yoluna/api/{controller}/{id} rotasına sahip olmak, ardından/api/{controller}/{id}/{action} rotasına sahip olmaktır/api/Müşteriler/5/Ürünler gibi belirli bir eylem. Çalışmıyor - her şey "birden çok eylem bulundu" hatası veriyor. – ShadowChaser