Ekibim, .NET için Web API 2 platformunu kullanan bir REST API'sı (JSON) uygulamaktadır. verilerimiz kontrolör kodun bazı edilir buradaWeb API 2 REST Hizmeti Gelişmiş Veri Filtreleme
/api/schools
/api/schools/5000
/api/occupations
/api/occupations/22
Ve: Biz şimdi veri filtreleme sunuyoruz
public class OccupationsController : ApiController
{
// /api/Occupations/1991
public IHttpActionResult GetOccupation(int id)
{
var occupation = GetAllOccupations().FirstOrDefault((p) => p.OccupationID == id);
if (occupation == null)
{
return NotFound();
}
return Ok(occupation);
}
// /api/occupations
public IEnumerable<Occupation> GetAllOccupations()
{
var ctx = new TCOSDBEntities();
return ctx.Occupations.OrderBy(occupation => occupation.Title);
}
}
(kullanıcı onay kutusu seçime göre) ve ben merak ediyorum Biz gibi bazı çalışma URL'ler, var Mevcut API'mızda buna nasıl yaklaşılacağı, ya da filtreleme için REST'i terk edip farklı bir yaklaşımı hep birlikte denemeli miyim? İşte
bizim onay kutusu mekanizması filtrelediğini: Checkbox UInasıl DİNLENME hizmet ve DataController yöntemlerde arama parametrelerini tanıtabilir? Gibi, bir alandaki bir menzil filtresini nasıl alabilirim (Maliyeti?)? Maliyet, Öğrenim, vb. Gibi birden çok alan filtrelemeye sahip olabilir miyim? Yukarıdaki açıklamalar itibaren
Sen orada Web API için OData uygulamaya bakmak gerekir bir çift Yüklemeniz gereken MS NuGet paketleri. Bundan sonra, ortaya çıkarmak istediğiniz şeyi yapılandırmak, arayanları sınırlamak istediğiniz herhangi bir kısıtlama (maksimum sayfa boyutu gibi) ve geri kalanlar, URL tarafından filtrelenecek, sayfalara, sıralamalara vb. Bu bağlantı] (http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api) ve [bu] (http://www.odata.org/blog/how Başlamak için -to-use-web-api-oda-to-build-bir-odata-v4-hizmet-varlık-çerçeve /). – Igor
Bu arada, oData'yi her şey için bir battaniye yaklaşımı olarak kullandığınızı savunmuyorum. Sadece esnek alıcıya/istemciye başvurmak istediğiniz belirli modeller. – Igor
Entity Framework ile mümkün mü? OData örneğinin EF olmadan olduğunu fark ettim. Yine de hoşuma gitti! – AussieJoe