Web api aracılığıyla erişilebilen özel olarak adlandırılan yöntemlerin yanı sıra, her denetleyici için birden çok Get() yöntemini desteklemeye çalışıyorum. Bunu MVC 5'te yaptım, ancak MVC 6'da nasıl yapıldığını anlayamıyorum. Herhangi bir fikir var mı? Teşekkürler.MVC 6 Çoklu Yöntemleri Al
cevap
Sen nitelik yönlendirme linki kullanabilirsiniz -
[Route("api/[controller]")] /* this is the defualt prefix for all routes, see line 20 for overridding it */
public class ValuesController : Controller
{
[HttpGet] // this api/Values
public string Get()
{
return string.Format("Get: simple get");
}
[Route("GetByAdminId")] /* this route becomes api/[controller]/GetByAdminId */
public string GetByAdminId([FromQuery] int adminId)
{
return $"GetByAdminId: You passed in {adminId}";
}
[Route("/someotherapi/[controller]/GetByMemberId")] /* note the/at the start, you need this to override the route at the controller level */
public string GetByMemberId([FromQuery] int memberId)
{
return $"GetByMemberId: You passed in {memberId}";
}
[HttpGet]
[Route("IsFirstNumberBigger")] /* this route becomes api/[controller]/IsFirstNumberBigger */
public string IsFirstNumberBigger([FromQuery] int firstNum, int secondNum)
{
if (firstNum > secondNum)
{
return $"{firstNum} is bigger than {secondNum}";
}
return $"{firstNum} is NOT bigger than {secondNum}";
}
}
daha fazla ayrıntı için buraya bakınız - Müthiş http://nodogmablog.bryanhogan.net/2016/01/asp-net-5-web-api-controller-with-multiple-get-methods/
Aynı URL modeline sahip birden fazla Get yöntemine sahip olamazsınız. Öznitelik yönlendirme özelliğini kullanabilir ve farklı URL kalıpları için çoklu GET yöntemini ayarlayabilirsiniz.
[Route("api/[controller]")]
public class IssuesController : Controller
{
// GET: api/Issues
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "item 1", "item 2" };
}
// GET api/Issues/5
[HttpGet("{id}")]
public string Get(int id)
{
return "request for "+ id;
}
// GET api/Issues/special/5
[HttpGet("special/{id}")]
public string GetSpecial(int id)
{
return "special request for "+id;
}
// GET another/5
[HttpGet("~/another/{id}")]
public string AnotherOne(int id)
{
return "request for AnotherOne method with id:" + id;
}
// GET api/special2/5
[HttpGet()]
[Route("~/api/special2/{id}")]
public string GetSpecial2(int id)
{
return "request for GetSpecial2 method with id:" + id;
}
}
Sen benim rota kalıplarını tanımlamak için hem HttpGet
ve Route
özelliklerini kullandığını görebiliriz. Siteniz/API/sorunlar/
Sonucu ["value1","value2"]
talep URL: Yukarıdaki yapılandırma ile
, size aşağıda yanıtları
talep Url alacak: yourSite/api/issues/4
Sonucu
request for 4
talep URL: Siteniz/API/special2/6
Sonucu
request for GetSpecial2 method with id:6
talep URL: Siteniz/başka/3
Sonucu
request for AnotherOne method with id:3
! Çok teşekkür ederim. –
, lütfen [soru] 'u (https://stackoverflow.com/questions/46680893/passing-multiple-parameters-to-web-api-get-method) – faisal1208
- 1. ASP.NET mvc 6
- 2. Belirsiz Eylem Yöntemleri - ASP.net MVC
- 3. Asp.net Mvc 6 olsun kullanıcı Ben özelleştirilmiş hemen Asp.net Mvc 6 web sitesinde
- 4. ASP.NET MVC 6 Denetleyicisi'nin JSON
- 5. ASP.NET MVC 6 Denetleyici Fabrika
- 6. Çevirme ASP.NET MVC 6 DI
- 7. Facebook iOS 6 - kullanıcı bilgisini al
- 8. Görüntüyü Asp.Net Mvc 6'ya Dönüştürme Mkt 6
- 9. MVC uygulamasında genel yöntemleri nereye koyarım
- 10. Firebase Veritabanı - Çoklu Girişleri Geri Al
- 11. Çoklu seçimlerde en son tıklanan seçeneği al
- 12. Çoklu Alanlarda MVC Form Doğrulama
- 13. ASP.NET MVC: Çoklu Projeler Hata
- 14. MVC açılır menüsünden Metin al Liste
- 15. Çoklu ASP.NET MVC Yol Eşlemelerini Önlemek İçin
- 16. MVC 6: RESX dosyaları nasıl kullanılır?
- 17. Dosya ASP'ye yükleyin. NET MVC 6 çalışmıyor
- 18. ASP.Net 5 (MVC 6) bir sarıcı
- 19. MVC 6 Custom Taghelper Doğrulama - Çözüm
- 20. Microsoft Uygulama Bilgileri, MVC 6 (.Net 5)
- 21. ASP.NET 5 (MVC 6) - Kaynaklar Yerelleştirme
- 22. ASP.NET 5 MVC 6 - Ajax, öğesinde çalışmıyor
- 23. MVC 6 uygulamasında SSL nasıl etkinleştirilir?
- 24. ASP 5, MVC 6 e-posta gönderiliyor
- 25. Asp.net 5 (ve MVC 6) barındırma
- 26. MVC 6 içine OData v4 enjekte etme
- 27. iPhone 6 aygıtında ve simülatöründe kırılan anlık görüntü yöntemleri
- 28. Aynı sayfadaki çoklu görünümler MVC ASP.NET
- 29. ASP.NET MVC. Autofac ve çoklu bağlantı dizeleri
- 30. Telerik Kendo MVC TextBox Çoklu Hat Modu
teşekkürler! Normal iç içe rotaları kullanabileceğim için bu daha iyi bir çözümdü. –
, lütfen [soru] konusunu inceleyin (https://stackoverflow.com/questions/46680893/passing-multiple-parameters-to-web-api-get-method) – faisal1208