Study
ASP.NET Core

Controllers: Gaya MVC

Penjelasan

Untuk API dengan banyak endpoint, gaya Controller lebih terorganisir dibanding Minimal API — class ditandai [ApiController] dan [Route("api/[controller]")], extends ControllerBase, tiap method ditandai atribut HTTP ([HttpGet], [HttpPost], dst). [controller] di [Route] otomatis diganti nama class Controller (tanpa kata "Controller").

Contoh Konsep

[ApiController]
[Route("api/[controller]")]
public class ProdukController : ControllerBase
{
    [HttpGet]
    public IActionResult FindAll()
    {
        return Ok("Daftar semua produk");
    }

    [HttpPost]
    public IActionResult Create()
    {
        return Ok("Produk baru berhasil dibuat");
    }
}

// Program.cs
// builder.Services.AddControllers();
// app.MapControllers();

Praktikum

Buat ArtikelController dengan [ApiController], [Route("api/[controller]")], method FindAll() ([HttpGet], mengembalikan Ok("Daftar semua artikel")) dan Create() ([HttpPost], mengembalikan Ok("Artikel baru dibuat")).

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Controller HARUS didaftarkan di Program.cs lewat builder.Services.AddControllers() DAN app.MapControllers() supaya route-nya benar-benar aktif — atribut [ApiController] saja TIDAK CUKUP, dua baris registrasi itu wajib ada, biasanya sudah otomatis dari template dotnet new webapi.