REST az ASP.NET Core-ban
- 3 perc
Weblap megnyitásakor a webkiszolgáló HTML, CSS és JavaScript használatával kommunikál a böngészővel. Ha például egy bejelentkezési űrlap elküldésével vagy egy vásárlás gombra kattintva lép kapcsolatba a laptal, a böngésző visszaküldi az információkat a webkiszolgálónak.
Hasonló módon a webkiszolgálók számos ügyféllel (böngészőkkel, mobileszközökkel, egyéb webkiszolgálókkal stb.) kommunikálhatnak webszolgáltatások használatával. Az API-ügyfelek HTTP-en keresztül kommunikálnak a kiszolgálóval, és a két adatcserét olyan adatformátum használatával végzik, mint a JSON vagy az XML. Az API-kat gyakran használják egyoldalas alkalmazásokban (SPA-k), amelyek a legtöbb felhasználói felületi logikát egy webböngészőben hajtják végre. A webkiszolgálóval való kommunikáció elsősorban webes API-kon keresztül történik.
REST: Az API-k HTTP-vel való készítésének gyakori mintája
A reprezentációs állapotátvitel (REST) egy architektúrastílus a webszolgáltatások létrehozásához. A REST-kérések HTTP-en keresztül jönnek. Ugyanazokat a HTTP-parancsokat használják, amelyeket a webböngészők a weblapok lekérésére és a kiszolgálóknak való adatküldésre használnak. Az igék a következők:
-
GET
: Adatok lekérése a webszolgáltatásból. -
POST
: Hozzon létre egy új adatelemet a webszolgáltatásban. -
PUT
: Egy adatelem frissítése a webszolgáltatásban. -
PATCH
: Frissítsen egy adatelemet a webszolgáltatásban az elem módosítására vonatkozó utasítások leírásával. A modul mintaalkalmazása nem használja ezt az igét. -
DELETE
: Adatelem törlése a webszolgáltatásban.
A REST-hez igazodó webszolgáltatás-API-kat RESTful API-knak nevezzük. Definiálásuk az alábbiakon keresztül történik:
- Egy alapszintű URI.
- HTTP-metódusok, például
GET
,POST
,PUT
,PATCH
vagyDELETE
. - Az adatok médiatípusa, például JavaScript Object Notation (JSON) vagy XML.
Az API-knak gyakran kell szolgáltatásokat nyújtaniuk néhány különböző, de kapcsolódó dologhoz. A pizza API például kezelheti a pizzákat, az ügyfeleket és a rendeléseket. Az útválasztással URI-kat (egységes erőforrás-azonosítókat) rendelünk a kód logikai osztásaihoz, így a kérések https://localhost:5000/pizza átirányítása PizzaController
és a kérések https://localhost:5000/order átirányítása.OrderController
API-k létrehozásának előnyei a ASP.NET Core-ban
A ASP.NET ugyanazokkal a keretrendszerekkel és mintákkal hozhat létre weblapokat és szolgáltatásokat is. Újra felhasználhatja a modellosztályokat és az érvényesítési logikát, és akár weblapokat és szolgáltatásokat is kiszolgálhat egymás mellett ugyanabban a projektben. Ennek a megközelítésnek előnyei vannak:
Egyszerű szerializálás: ASP.NET modern webes élményekhez lett tervezve. A végpontok automatikusan szerializálják az osztályokat, lehetővé téve, hogy a JSON formázása megfelelő legyen már az alapértelmezett beállításokkal. Nincs szükség speciális konfigurációra. Testre szabhatja az egyedi követelményekkel rendelkező végpontok szerializálását .
Hitelesítés és engedélyezés: A biztonság érdekében az API-végpontok beépített támogatást nyújtanak az iparági szabványnak megfelelő JSON-webjogkivonatokhoz (JWT-khez). A szabályzatalapú engedélyezés rugalmasan definiálhat hatékony hozzáférés-vezérlési szabályokat a kódban.
Útvonalmeghatározás a kód mellett: Az ASP.NET lehetővé teszi, hogy attribútumok használatával útvonalakat és HTTP igéket közvetlenül a kódban definiáljon. A kérelem elérési útjának, a lekérdezési sztringnek és a kérelem törzsének adatai automatikusan a metódusparaméterekhez vannak kötve.
HTTPS alapértelmezés szerint: A HTTPS a modern, professzionális webes API-k fontos része. A titkosítás a végpontok közötti titkosításra támaszkodik az adatvédelem biztosítása érdekében, valamint annak biztosítása érdekében, hogy az API-hívások ne legyenek elfogva és módosítva az ügyfél és a kiszolgáló között.
Az ASP.NET gyárilag támogatja a HTTPS-t. Automatikusan létrehoz egy teszttanúsítványt, és egyszerűen importálja a helyi HTTPS engedélyezéséhez, így a közzététel előtt biztonságosan futtathatja és hibakereséssel végezheti el az alkalmazásokat.
Kód és tudás megosztása .NET-alkalmazásokkal
A .NET-készségei és ökoszisztémája segítségével megoszthatja a logikát a webes API-ból a .NET-lel készült egyéb alkalmazásokra, például a mobileszközökre, a webre, az asztalra és a szolgáltatásokra.
Webes API-k tesztelése a .NET HTTP REPL használatával
Ha hagyományos webhelyet fejleszt, általában webböngészőben tekinti meg és teszteli a munkáját. A webes API-k html helyett fogadnak el és adnak vissza adatokat, így a webböngésző nem a legjobb webes API-teszteszköz.
A webes API-k felfedezésének és interakciójának egyik legegyszerűbb módja a .NET HTTP REPL (olvasási-kiértékelési-nyomtatási ciklus). Ez egy egyszerű és népszerű módszer interaktív parancssori környezetek létrehozására. A következő egységben létrehoz egy egyszerű web API-t, majd a .NET HTTP REPL használatával lép kölcsönhatásba vele.