Rumah > pembangunan bahagian belakang > C++ > Bagaimana Mengendalikan Kaedah GET Berbilang dalam Pengawal API Web ASP.NET Tunggal?

Bagaimana Mengendalikan Kaedah GET Berbilang dalam Pengawal API Web ASP.NET Tunggal?

Patricia Arquette
Lepaskan: 2025-01-05 09:43:08
asal
425 orang telah melayarinya

How to Handle Multiple GET Methods in a Single ASP.NET Web API Controller?

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) });
Salin selepas log masuk

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)
    {
    }
}
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan