Tutustu ASP.NET tärkeimmät ohjelmointirajapinnat
ASP.NET Core tukee kahta ohjelmointirajapintojen luontitapaa: ohjainpohjaista lähestymistapaa ja minimaalisia ohjelmointirajapintoja. Ohjainpohjainen ohjelmointirajapinta on perinteinen tapa luoda ohjelmointirajapintoja, joissa jokainen päätepiste liitetään tiettyyn ohjainluokkaan. Rekisterinpitäjä käsittelee pyynnön, suorittaa tarvittavan liiketoimintalogiikan ja palauttaa vastauksen.
Ohjainpohjainen ohjelmointirajapinta
Ohjainpohjainen verkko-ohjelmointirajapinta koostuu yhdestä tai useammasta rekisterinpitäjäluokasta, jotka johdetaan ControllerBase. Seuraavassa on esimerkki rekisterinpitäjästä:
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
WWW-ohjelmointirajapinnan ohjauskoneiden pitäisi yleensä olla peräisin ControllerBase pikemminkin Controller.
Controller perustuu ControllerBase ja lisää näkymien tuen, joten se on verkkosivujen käsittelyyn, ei verkon ohjelmointirajapintapyyntöihin.
ControllerBase-luokka tarjoaa useita ominaisuuksia ja menetelmiä, joista on hyötyä HTTP-pyyntöjen käsittelyssä. Esimerkiksi seuraavassa koodiesimerkissä CreatedAtAction palauttaa 201-tilakoodin:
[HttpPost]
[ProducesResponseType(StatusCodes.Status201Created)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
public ActionResult<Pet> Create(Pet pet)
{
pet.Id = _petsInMemoryStore.Any() ?
_petsInMemoryStore.Max(p => p.Id) + 1 : 1;
_petsInMemoryStore.Add(pet);
return CreatedAtAction(nameof(GetById), new { id = pet.Id }, pet);
}
Minimaalinen ohjelmointirajapinta
Vähäiset ohjelmointirajapinnat ovat yksinkertaistettu tapa luoda nopeita HTTP-ohjelmointirajapintoja ASP.NET Coren avulla. Voit luoda täysin toimivia REST-päätepisteitä vähäisellä koodilla ja määrityksillä. Ohita perinteiset rakennetoimet ilmoittamalla ohjelmointirajapinnan reitit ja toiminnot. Esimerkiksi seuraava koodi luo verkkosovelluksen pääkansioon ohjelmointirajapinnan, joka palauttaa tekstin "Hello World!".
var app = WebApplication.Create(args);
app.MapGet("/", () => "Hello World!");
app.Run();
Useimmat ohjelmointirajapinnat hyväksyvät parametreja osana reittiä.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/users/{userId}/books/{bookId}",
(int userId, int bookId) => $"The user id is {userId} and book id is {bookId}");
app.Run();
Vähäiset ohjelmointirajapinnat tukevat määrityksiä ja mukautuksia, joita tarvitaan skaalaamiseen useisiin ohjelmointirajapintoihin, monimutkaisten reititysten käsittelyyn, käyttöoikeuksien myöntämissääntöjen soveltamiseen ja API-vastausten sisällön hallintaan.