Rumah >pembangunan bahagian belakang >C++ >Bagaimana Mengendalikan Kaedah GET Berbilang dalam Pengawal API Web ASP.NET Tunggal?
Pengawal Tunggal dengan Pelbagai Kaedah GET dalam API Web ASP.NET
Mengatasi ralat berbilang tindakan yang sepadan dengan permintaan boleh dicapai melalui laluan definisi dalam WebApiConfig.
Penyelesaian yang disediakan menyokong untuk menggunakan gabungan laluan untuk menyokong pelbagai Kaedah GET dan kaedah REST standard:
routes.MapHttpRoute("DefaultApiWithId", "Api/{controller}/{id}", new { id = RouteParameter.Optional }, new { id = @"\d+" }); routes.MapHttpRoute("DefaultApiWithAction", "Api/{controller}/{action}"); routes.MapHttpRoute("DefaultApiGet", "Api/{controller}", new { action = "Get" }, new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) }); routes.MapHttpRoute("DefaultApiPost", "Api/{controller}", new { action = "Post" }, new { httpMethod = new HttpMethodConstraint(HttpMethod.Post) });
Untuk menunjukkan ini, pertimbangkan pengawal ujian berikut:
public class TestController : ApiController { public string Get() { return string.Empty; } public string Get(int id) { return string.Empty; } public string GetAll() { return string.Empty; } [HttpPost] public void Post([FromBody] string value) { } [HttpPut] public void Put(int id, [FromBody] string value) { } [HttpDelete] public void Delete(int id) { } }
Dengan laluan yang ditentukan, pengawal ini boleh mengendalikan permintaan berikut:
GET /Test GET /Test/1 GET /Test/GetAll POST /Test PUT /Test/1 DELETE /Test/1
Penyelesaian ini memastikan bahawa walaupun dengan pelbagai kaedah GET, titik akhir RESTful kekal utuh, memberikan fleksibiliti dan pematuhan kepada HTTP piawaian. Ambil perhatian bahawa jika tindakan GET anda tidak bermula dengan 'Get', anda boleh menambah atribut HttpGet untuk kejelasan.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Kaedah GET Berbilang dalam Pengawal API Web ASP.NET Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!