Die minimale API mit . NET 6 mit C# | Kenji Elzerman | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Die minimale API mit . NET 6 mit C#

teacher avatar Kenji Elzerman

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      1. EINFÜHRUNG

      1:21

    • 2.

      2. Anforderungen

      0:50

    • 3.

      3. . NET 5 API

      2:24

    • 4.

      4. Erstelle die neue API

      3:34

    • 5.

      5. Dateien und Ordner

      2:22

    • 6.

      6. Mappings – Vorbereitungen

      3:04

    • 7.

      7. Map GET

      2:45

    • 8.

      8. Map GET mit Parameter

      1:40

    • 9.

      9. Map

      3:00

    • 10.

      10. Map

      2:41

    • 11.

      11. 11.

      2:08

    • 12.

      12. Hinzufügen von dependency

      6:28

    • 13.

      13. Es ASYNC machen

      3:08

    • 14.

      14. Fazit

      0:56

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

38

Teilnehmer:innen

1

Projekte

Über diesen Kurs

In diesem Kurs zeige ich dir, wie du eine minimale API mit erstellen kannst. NET 6. Nach diesem Kurs wirst du in der Lage sein, Mappings für verschiedene HTTP-Anfragen zu verstehen, der minimalen API mappings hinzuzufügen und die minimale API async zu machen. Mit einem Projekt werde ich dich von der Erstellung der minimalen API bis zum Ende begleiten, was ich tue, und warum erklären.

Was wir in diesem Kurs machen:

  • Schau dir mal an, wie wir APIs mit herstellen. NET 5.
  • Erstelle eine neue minimale API mit . NET 6 mit C#.
  • Ein step-by-step zum Erstellen einer neuen minimalen API in Visual Studio.
  • Füge Mappings hinzu (Endpunkte für die API). Ich werde GET, POST, DELETE und PUT.
  • Hinzufügen von dependency
  • Machen Sie die API Async für bessere Leistung.

Bitte beachte, dass es sich um einen Anfängerkurs handelt, und es ist ratsam, ein paar C# zu kennen und ein Verständnis dafür zu haben, was APIs sind. Einige Erfahrungen mit der Erstellung von APIs mit . NET 5 oder älter ist für diesen Kurs erforderlich. Ich werde nicht erklären, was APIs sind, da es viele Kurse zu diesem Thema gibt. Dieser Kurs ist nur für die Erstellung einer minimalen API.

Triff deine:n Kursleiter:in

Teacher Profile Image

Kenji Elzerman

Kursleiter:in

I am a C# developer for over 20 years. I worked on many different projects, different companies, and different techniques. I was a C# teacher for people diagnosed with ADHD and/or autism. Here I have set up complete training for them to learn programming with C#, basic cloud actions, and architecture. The goal was to help them to learn to develop software with C#. But the mission was to help them find a job suitable to their needs.

Now I am enjoying the freedom of traveling the world. Learning new ways to teach and bring information to people through the internet.

Vollständiges Profil ansehen

Level: Beginner

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. 1. EINFÜHRUNG: Hallo zusammen. Dies ist ein Tutorial über die minimale API in Dotnet Six. Bevor ich mit diesem Tutorial beginne, werde ich ein wenig erklären, was Sie in diesem Tutorial erwarten können und was nicht. Was Sie also erwarten können, ist, dass ich Ihnen zeige , wie wir APIs in dotnet erstellen. Gut, es ist dein Weg. Nach dem Tod zeige ich Ihnen, wie Sie eine minimale API in Dotnet Six erstellen können. Dafür werde ich ein neues Projekt erstellen, also fangen wir bei Null an. Sie können also alles sehen, was benötigt wird , um eine minimale API zu erstellen, was nicht viel ist, daher das Namensminimum. Ich werde Ihnen ein wenig über die Dependency Injection und die Minimal-API zeigen . Außerdem zeige ich Ihnen, wie Sie eine asynchrone Minimal-API erstellen können . Was Sie also nicht erwarten können, ist eine eingehende Erklärung zu API und APIs im Allgemeinen. Ich hoffe, Sie wissen etwas darüber , denn ich werde es Ihnen nicht sagen. Dies ist auch kein Tutorial für C Sharp für Anfänger. Wenn Sie nicht genügend Kenntnisse über C-Sharp haben, empfehle ich Ihnen dringend, zuerst einen Grundkurs zu absolvieren , bevor Sie mit diesem Tutorial beginnen. Lassen Sie uns damit beginnen. 2. 2. Anforderungen: Bevor ich mit dem Tutorial oder Kurs anfange, sage ich den Leuten normalerweise, welche Anforderungen sie erfüllen müssen, um dem Tutorial oder Kurs zu folgen. In diesem Fall verwende ich die Community-Version von Visual Studio 2022, die kostenlos und einfach aus dem Internet heruntergeladen werden Community-Version von Visual Studio 2022, kann. Eine weitere Voraussetzung sind Grundkenntnisse von C Sharp. Wenn Sie Anfänger oder C-Sharp sind oder noch nie in C-Sharp programmiert haben, ist es nicht ratsam, deren Ergebnisse zu verfolgen. Eine weitere Sache, auf die Sie achten sollten ist die Abhängigkeitsinjektion. Sie sollten die Grundidee der Dependency Injection kennen , wie sie funktioniert, wie Sie sie in Ihren Programmen konfigurieren wie Sie sie verwenden. Und die letzte Anforderung ist asynchron. Zumindest hat es dem Begriff nicht geschadet. Und Sie wissen ein bisschen darüber was es tut und wofür es verwendet wird. Also, wenn Sie diese Anforderungen erfüllen, fängt das an. 3. 3. . NET 5 API: Wie ich bereits sagte, schauen wir uns diese fünf APIs an , bevor wir mit der Netflix-Minimal-API für Erwachsene beginnen. Also habe ich auf meinem Bildschirm die Adult Net Five API geöffnet. Das ist das Projekt. Es hat eine Lösung. Es hat ein Projekt wie jede Dotnet-Anwendung, die Sie erstellen. Das meiste, was auffällt, sind die Ordner-Controller. Innerhalb der Controller gibt es Klassen, in diesem Fall eine, die der eigentliche Controller ist. Wenn wir einen Controller öffnen, können Sie bestimmte Methoden, Attribute und Eigenschaften sehen. Wenn Sie einen Controller öffnen, sehen Sie die öffentliche Klasse, den Namen des Controllers, der den Controller erbt. Dies ist Gerüstcode, also das gibt Ihnen Microsoft, wenn Sie eine neue API erstellen, und das ist in Ordnung. Ich werde keine ganz neue Dotnet-Suchanwendung für kleine Informationen erstellen . Es gibt keinen Konstruktor und es gibt auch eine Methode, die als Aktion bezeichnet wird. Nun, das ist normalerweise die Dotnet Five API. Es hat einen Ordner Controller, der die Klassen enthält, die die Controller innerhalb der Aktionen des Controllers sind . Und jede Aktion hat bestimmte Rückgabetypen oder nicht. Außerdem müssen wir Dinge über den Haufen werfen, program.cs und dann Startups. Ja. Die Epstein-Dinge dienen der Konfiguration Ihres Programms, das ebenfalls in Dotnet Six enthalten ist. Das ist also nicht etwas, von dem wir uns verabschieden werden. Wovon wir uns verabschieden , ist das Start-up to Startup Punkt cs ist im Grunde die Konfiguration Ihres Projekts. Hier können Sie konfigurieren, ob Sie Swagger oder Dependency Injection oder irgendeine Art von Logging oder was auch immer verwenden möchten oder Dependency Injection oder . Sie können Ihren DB-Kontext konfigurieren, falls Sie einen mit Entity Framework und vielem mehr haben , dieser wird in die program.cs verschoben. Und die program.cs ist wie, wissen Sie, jede Dotnet-Anwendung hat eine Programm-Punkt-CS-Datei. Hier beginnt die Anwendung tatsächlich. Wenn ich das ausführen sollte, funktioniert es einfach wie eine normale API. Es wurde gebaut, es startet Ihren Standardbrowser und Sie haben eine API und Sie können es ausprobieren, wenn Sie möchten. Nun, das ist alles cool und so. Aber das ist nicht das, was wir schaffen werden. Wir werden eine CICS-API für Erwachsene erstellen. Das ist der alte Weg. Vielleicht kommt mir das bekannt vor. Ich wollte es dir nur für alle Fälle zeigen. Jetzt werden wir die Netflix-API für Erwachsene erstellen. 4. 4. Erstelle die neue API: Jetzt wissen wir, wie die alte Methode von Dotnet Five funktioniert. Lassen Sie uns eine neue API in Dotnet Six erstellen. Das erste, was Sie tun müssen, ist natürlich Visual Studio zu starten. Normalerweise haben Sie einige aktuelle Projekte oder entfernen sie alle für diese Demonstration. Um die API zu erstellen, müssen Sie jedoch ein neues Projekt erstellen. Wenn Sie darauf klicken, werden alle Vorlagen geladen und Sie können die gewünschte Vorlage auswählen. Auf der linken Seite habe ich einige aktuelle Projektvorlagen, die bereits den Projekttyp enthalten, den ich erstellen möchte. Aber zum Spaß suchen wir danach. Ich möchte eine API erstellen. Also gebe ich in das Suchfeld API ein. Es werden einige Ergebnisse angezeigt. Die ersten beiden sind die asp.net Core Web API und die dritte ebenfalls. Es gibt einfach einen wirklich großen Unterschied. Der große Unterschied sind die Sprachen. Der erste ist cisp, der zweite ist fish und der dritte ist eigentlich nicht die API. Es ist die asp.net Core Web App. Ich möchte eine API erstellen, also wähle ich die erste aus, weil ich sie in C-Sharp und nicht in Fis erstellen möchte . Außerdem sehen Sie im Text Linux, macOS, Windows, Cloud, Server, Web, Web-API. Das bedeutet also im Grunde, dass Sie diese API auch unter Linux und macOS ausführen können, wenn Sie möchten. Klicken Sie auf Weiter. Jetzt muss ich ihm einen Projektnamen geben. Ich werde nur einen Demo-Namen verwenden, aber denke immer über den Namen nach, den du geben möchtest , weil er dich an das erinnern soll , was du kreierst. Ich werde das die minimale API-Demo nennen. Ich werde den Speicherort beibehalten, der nicht die Standardeinstellung Welches ist das Repository irgendwo? Nun, Fisher Studio speichert Ihre Projekte standardmäßig. Und der Lösungsname wird auch dem Projektnamen entsprechen. Ich klicke auf Weiter. Jedes Projekt hat seine eigenen zusätzlichen Informationen. In diesem Fall benötigt die API einige Extras. Wenn Sie eine Konsolenanwendung erstellen, müssen Sie nur das Framework auswählen. In diesem Fall muss ich einige weitere Optionen auswählen. In diesem Fall werde ich das Doughnut Six Framework verwenden. Wenn ich es öffne, kann ich Dotnet Five auswählen, was auch besagt, dass die Unterstützung nicht Wenn ich auf das Hundenetz Five klicke, wird. Wenn ich auf das Hundenetz Five klicke, werden einige Optionen unten verschwinden. Bei diesen Optionen dreht sich alles um die minimale API. Let Five unterstützt also keine minimale API, und daher muss ich Dotnet Six oder höher auswählen. Ich möchte es für HTPS konfigurieren, natürlich dunkler aktiviert. Ich habe Docker auf diesem Computer installiert, aber ich werde es derzeit nicht aktivieren. Dann gibt es ein Kontrollkästchen mit der Aufschrift „Controller verwenden“ und „ Aktivieren, minimale APIs verwenden“. Wenn Sie das erste Mal damit beginnen, wird dies überprüft. Wenn du das Häkchen lässt, bekommst du den Breitenunterschied, um das zu kontrollieren, was wir dieses Mal nicht wollten , weil wir eine minimale API erstellen wollen. Also wollen wir die Controller loswerden. Also lasse ich dieses Häkchen bei Enable OpenAPI support deaktivieren. Das ist ein schicker Name für Prahlerei. Halte es auf aktiviert. Denn auf diese Weise können wir unsere API testen, wenn wir sie ausführen. Verwenden Sie nicht die Aussagen der obersten Ebene. Das ist auch etwas für Dotnet Six und höher. Sie können es auswählen oder nicht. Ich lasse es für dieses Tutorial einfach unaktiviert. Wenn Sie mit Ihren Einstellungen zufrieden sind, wählen Sie Erstellen aus. 5. 5. Dateien und Ordner: Jetzt müssen wir die erstellte CICS-API ablegen und wir haben Visual Studio geöffnet. Und schauen wir uns die Ordnerstruktur dieser neuen Projekte genauer an . Schauen wir uns diesen Lösungs-Explorer genauer an. Auch hier haben wir unsere Lösung und unsere Projekte, und das sind die Gerüstdateien und -ordner. Ich werde nicht ausführlich über sie alle sprechen. Ich möchte dir nur zeigen, dass die Dinge, die Jason noch verfügbar sind und es nur eine Klassendatei gibt, die program.cs, die Ordnercontroller sind weg und die startup.js ist auch nicht verfügbar. Wenn Sie also die Datei program.cs öffnen, werden Sie sehen, dass in dieser Datei alles konfiguriert ist. Sie haben jetzt einen Builder, in dem die Webanwendung und die Methode zum Erstellen erstellt werden, oder Sie können Ihrer Anwendung Dienste hinzufügen. Dies gilt auch für das Rentenarbeitsblatt und Ihren Datenbankkontext sowie Protokollierung und andere Dinge, die Sie beim Aufbau Ihrer API benötigen. Sie werden auch sehen, dass das gesamte Gerüst über die Wettervorhersage ebenfalls in diesem Programm enthalten ist . Punkt c. Ja. Alles, was in verschiedenen Klassen und in einem Controller war , ist jetzt in dieser speziellen Datei abgelegt. Hier können Sie die Zusammenfassung der Art der Wettertypen sehen. Unten. Es handelt sich um eine Map Gets , bei der es sich eigentlich um eine Zuordnung zu einem bestimmten Endpunkt Ihrer API handelt. Dieser Code befand sich tatsächlich im Controller in Dotnet Five. Das ist jetzt in einer Datei. Es hat einen Lambda-Ausdruckstext, der eigentlich die Funktion ist , die die Prognose zurückgibt, was einfach nicht die tatsächliche Prognose ist. Dies ist also Ihr erstes Beispiel für die minimale API, bei der sich alles in einer Datei befindet. Und mit Mappings können Sie die verschiedenen Endpunkte Ihrer API erstellen . Starten Sie diese Anwendung. Wir können sehen, was es macht. Starten Sie den Standardbrowser und Sie werden Swinger sehen. Und das sieht genauso aus wie bei der Dotnet-Anwendung denn hier habe ich meinen Endpunkt für die Wettervorhersage. Ich kann es ausprobieren. Ich kann hinrichten. Draußen. Nichts hat sich geändert, aber im Inneren hat sich viel geändert, weil ich jetzt keine Controller mehr habe. Ich habe nur eine Dateibank und konfiguriere, erstelle und verwalte meine gesamte API. 6. 6. Mappings – Vorbereitungen: Das ist also das Grundgerüst für Informationen und Code für die API in Dotnet Six. Der nächste Schritt besteht darin, weitere Mappings zu erstellen. Wir haben ein Mapping für verschiedene HTTP-Anforderungsmethoden. In diesem Fall möchte ich Get the Post verwenden, um dies für das Update zu löschen. Bevor ich das mache, werde ich einige zusätzliche Schichten und Präparationen auftragen, bevor ich zu den anderen Metriken übergehe. Also werde ich zuerst eine neue Klasse für einen Film erstellen. Dish erstellt eine ID, die ein Int ist. Ich möchte einen Titel erstellen. Also kann ich den Film tatsächlich benennen. Und ich möchte ihm eine Bewertung geben, die ebenfalls eine Ganzzahl ist, mit einer Bewertung von 1-5. Als Nächstes möchte ich eine Liste mit dem dunklen Film erstellen , den ich gerade erstellt habe. Und ich möchte den Film benutzen. Id ist eins. Die Bewertung ist, geben wir eine Fünf. Und der Titel ist Trek. Kein Film. Id2-Bewertung. Eins. Titel ist Täuschung. Neu. Idee. Drei. Die Bewertung ist drei. Titel ist, fragst du nur , weil er wirklich alt ist. Und wieder ist die neue ID für Rating 1 und der Titel lautet The Green Lantern. Und nicht zuletzt ist die ID fünf. Die Bewertung ist fünf. Der Titel ist die Matrix. Jetzt gibt es mir eine rote Linie und es heißt, dass die Stellungnahmen auf höchster Ebene bearbeitet werden müssen. Namespace-Deklarationen. Lass uns das verschieben. Verschieben wir das ein wenig nach oben und der Fehler ist weg. Ordnung, also löschen wir jetzt auch die Map-Gets und die internen Datensätze. Lass den App-Punkt laufen. Wenn Sie dieses entfernen, wird die Anwendung nicht ausgeführt. Und es ist wirklich wichtig, ich werde wirklich nicht breiter, abduct John ist nicht zu spät mit den Integralen der letzten Zeile, sondern hat auch die Zusammenfassungen entfernt weil wir sie nicht mehr verwenden werden und wir haben eine wirklich klare Anwendung. Das ist also die Vorbereitung. Und jetzt erstellen wir die Mappings, indem wir bei get beginnen, was die einfachste ist. 7. 7. Map GET: Ordnung, das erste Mapping, das wir erstellen werden, ist das Get, das auch die Anforderungsmethoden ist, HTTP GET. Dies ist die einfachste , da die API eine Anfrage von außen erhält , um einige Daten zurückzugeben. Und diese Daten sind genau das, was wir zurückgeben wollen. Das erste, was wir tun müssen, ist App Dot Map Gets zu erstellen. Das bedeutet, dass wir eine HTTP-Get-Anfrage erstellen möchten. In Dotnet Five mussten wir einige Attribute hinzufügen, um der API mitzuteilen , dass es sich um ein GET oder einen Post oder was auch immer handelt. Wir müssen das nicht mehr tun. Wir können einfach eine App-Punktmap erstellen, hol. Stellen Sie sicher, dass Sie die neuen Zuordnungen und alle anderen Zuordnungstypen über dem App-Punkt Run erstellen . Erstelle sie nicht unter ihnen. Landkarte. Holen Sie sich. Der erste Parameter ist das Muster. Das Muster ist eigentlich der Endpunkt der API, auf andere Anwendungen verweisen können, um die Daten abzurufen. In diesem Fall möchte ich es Filme nennen, aber es ist eine API. Also werde ich die API in den Vordergrund stellen, damit wir wissen, dass es sich um Daten handelt. Wir beziehen von einer API. Fügen wir einen weiteren Schrägstrich davor hinzu. Der zweite Parameter ist der Delegate Learn, oder in diesem Fall der Lambda-Ausdruckskörper , der ausgeführt wird, um in diesem Fall Filme zurückzugeben. Ich beginne also mit einer anonymen Funktion, erstelle Datensätze und sage, dass Ergebnisse zurückgegeben werden. Okay, der Anrufer weiß also, dass er den Statuscode 200 erhalten wird, was bedeutet, dass es okay ist. Entschuldigung. 204 bedeutet, dass es okay ist. Es wurde ausgeführt, aber Sie haben keine Daten zurückgegeben. In diesem Fall werden es 200 sein, weil ich die Filme zurückgebe. Und vergiss das Semikolon am Ende nicht. Dies ist im Grunde das einfachste API-Mapping. Du wirst bekommen. Dot Map Gets, das sind die Slash-Filme der Endpunkt-API. Der Körper gibt Ergebnisse zurück, okay? Und der Umkreis besteht aus Filmen, was die Liste der Filme ist. I can start ist jetzt die API und wir bauen und starten den Standardbrowser. Die Wettervorhersage ist weg. Wir sehen jetzt die API-Slash-Filme. Ich kann es anklicken, öffnen, ausprobieren, ausführen. Und ich habe es. Das sind meine Filme. Das ist also die Karte. Holen Sie sich das einfachste. Und lassen Sie uns zu etwas anderem übergehen. Lassen Sie uns einen Film anhand der ID abrufen, was auch eine GET-Anfrage ist. Übrigens ein Parameter in der URL. 8. 8. Map GET mit Parameter: Das nächste ist also die Map, die sich mit einem Perimeter fortbewegt, in diesem Fall der ID eines Films. Was ich erstellen möchte, ist der, Sie können einen einzelnen Film von der API abrufen , indem Sie eine ID im Endpunkt angeben Er ist ziemlich ähnlich als in der vorherigen Map. Also kann ich das tatsächlich kopieren und einfügen. Und das einzige, was ich ändern werde , ist das Hinzufügen einer ID in geschweiften Klammern am Endpunkt der Filme, und davor muss ein Schrägstrich stehen. Ich erstelle jetzt einen Endpunkt, auf API-Filme und die ID eines Films stehen. Und der nächste Teil ist, dass ich in einer anonymen Funktion den Perimeter in diese Fall-ID einfüge. Die API bemerkt, dass es einen zusätzlichen Parameter gibt , und dann zeigt sie, sie wird versuchen, diesen Perimeter zu einer Ganzzahl zu analysieren, und dann kann ich ihn in meinen Methoden verwenden. In diesem Fall geben Sie die Ergebnisse zurück, okay? Filme verbrannt, eine einzige ID entspricht einer ID. Das ist im Grunde alles. Ich kann die API jetzt starten. Ich sehe eine zweite Endpunkt-API, Filme, geschweifte Klammer-ID und geschweifte Klammern. Ich kann es öffnen, es für die ID ausprobieren , ich entscheide mich für die Ausführung. Und da haben wir unseren Film mit Ausweis dazu. Ich kann die ID auf vier ändern, ausführen und ich sehe mir den Film mit einer ID für diesen Fall an, normalerweise The Green Lantern. 9. 9. Map: Im nächsten Teil geht es also um das Posting. In einigen Fällen möchten Sie Daten von den Clients an die API senden. Und um die API für eine Post-Anfrage vorzubereiten, werden wir den Beitrag zuordnen. Um dies zu erstellen, erstellen wir einfach eine neue Punktkarte, Map Boast. Und es hat den gleichen Endpunkt. Oder um Filme zu starten. Und das war's, weil ich einen Film an die Endpoint-API-Filme senden wollte . Kurz gesagt, indem wir nur die ID zuordnen, mussten wir einen Parameter in der URL erstellen. In diesem Fall wurde der Endpunkt als S entlastet, in diesem Fall als API-Filme. Aber ich werde den Klassen-Typ Movie mit einem Namen in die Parameterliste meines Körpers aufnehmen. In diesem Fall weiß die API, dass beim Aufruf des API-Movies-Endpunkts mit den Post-Request-Methoden ein Objekt im Body vorhanden sein sollte , das die Movie-Klasse darstellt. Ich bin zu Dots gegangen. In diesem Fall kann ich weitermachen, ich kann Filme, Printmedien, Werbefilme sagen. Und das war's. Normalerweise gibt man bei einem Boss keine Daten zurück und vielleicht nur ein erstelltes Objekt. Zu Demozwecken verwende ich eine Return-Funktion und gebe alle Filme zurück. Sie können also sehen, dass der Film zur Liste der Filme hinzugefügt wurde. Also gib die Ergebnisse zurück. Okay. Vergiss das Semikolon am Ende der Zeile nicht. Und lass es uns starten. Jetzt muss ich mir also drei Endpunkte besorgen. Ein Beitrag und der Posttest, den wir gerade erstellt haben. Ich kann es öffnen. Ich kann sagen, probier es aus. Und der Anfragetext grenzt im Grunde genommen an. Nun, IDs werden normalerweise eigenständig erstellt. In meinem Fall nicht. Also füge ich meine eigene ID hinzu und verwende ICD-9. Der Titel lautet The Muppets und die Bewertung ist fünf. Das war's. Dies wird an meiner API veröffentlicht. Ich führe aus. Und der Code ist 200, was das Ergebnis ist, aber okay. Und am Ende steht ICD-9, die Muppets bewerten fünf. Also habe ich jetzt Daten an die API gepostet. Wenn ich zum Endpunkt API-Filme zurückkehre, aber für die GET-Anforderungsmethoden, führe ich diese aus. Ich werde die Muppets wiedersehen , weil ich meine API nicht herunterfahren wollte. Es ist also immer noch im Speicher in der Liste, wenn ich die API heruntergefahren habe und sie ICD-9 neu gestartet haben, werden die Muppets weg sein. 10. 10. Map: Jetzt haben wir drei Endpunkte für ein Gas erstellt, holen uns meine ID und prahlen. Der nächste Moment wird das Löschen sein. Dieser sendet eine Löschanfrage an die API, damit die API weiß, dass etwas gelöscht wird. Der Map-Löschvorgang, bei dem es sich um das Mapping für den zu löschenden Endpunkt handelt, ist dem vorherigen ziemlich ähnlich. Ich werde eine App-Map erstellen, löschen. Und der Endpunkt wird derselbe sein wie der Beitrag und das erste GET, das wir erstellt haben. Und dahinter erstelle ich den Perimeter für ID und lasse ihn zu einer Ganzzahl werden , die dem Gate nach ID entspricht . Es gibt keinen Konflikt zwischen diesen beiden Endpunkten, da sie durch die Methoden get und delete requests getrennt sind. Wenn ich also eine GET-Anforderungsmethode mit einer ID im Endpunkt sende, erhalte ich den Film mit einer bestimmten ID und sehe ihn mir an. Wenn ich dieselbe URL oder dieselben Endpunkte verwende und sie mit einer Löschanforderungsmethode an die API sende , wird dieser bestimmte Film gelöscht. Ich füge die ID auch in die Parameterliste ein. Damit ich es in meinem Körper verwenden kann. Und das ist im Grunde allgemein bekannt. Wenn Sie mit C-Sharp arbeiten, Filme, Filme entfernen, Single, und suchen Sie die ID. Und das war's. Dies ist normale Methode, um ein Element über eine API zu löschen. Du gibst nichts zurück. Der Kunde erhält 200 Mädchen, was okay ist oder 204 oder Fehler wie 400, 500. Das ist alles, was Sie auf der Kundenseite wissen müssen. Aber in unserem Fall wollen wir sehen, ob es wirklich funktioniert. Also werde ich die Ergebnisse zurückgeben. Okay. Filme. In Ordnung. Das war's. Lass es uns testen. Ich starte die API. Der Standardbrowser wird erneut geöffnet. Und Sie werden jetzt nach Endpunkten suchen, um die zu erhalten, den Beitrag zu erhalten und zu löschen. Um das zu bekommen, erweitere ich die Leads, ich probiere es aus. Und lassen Sie uns den Film mit ID zwei löschen. Ich habe keine Ahnung, welcher Film das ist, aber okay, läuft. Und in diesem Fall sehe ich, dass der erste Shrek mit der ID eins ist und der zweite Jaws mit der ID drei ist, und die ID zwei wurde gelöscht. So lösche ich Arbeit. 11. 11. 11.: Das letzte Mapping, das wir erstellen werden, ist das Update. Oder besser gesagt, der Fuß wird verwendet, um anzuzeigen, dass Sie ein vorhandenes Objekt oder einen vorhandenen Wert ändern möchten. Die Ausgabe ist eigentlich das Gleiche wie Prahlerei, außer dass du meine Posterkarte änderst. Ordnen Sie in diesem Fall also beide Endpunkte zu. Einfach API-Filme und ich füge der Parameterliste einen Film hinzu. Wenn Sie ein vorhandenes Objekt aktualisieren möchten, müssen Sie wissen, wo es zu finden ist. Ich gehe also davon aus, dass der Ausweis aus dem Film ausgefüllt wurde. In diesem Fall muss ich das vorhandene Objekt aus der Liste abrufen . gefunden. Film ist eine Einzelpunkt-ID für Filme. Und jetzt kann ich den Inhalt der Datei ändern , wenn ich sie verschiebe. So entspricht z. B. die Bewegungsbewertung der Filmbewertung , die im Durchlauf an die API übermittelt wird. Und das war's. Normalerweise haben Sie Entity Framework, um die Änderungen und das Personal zu verwalten, aber in diesem Fall, Justin List, kann ich jetzt sagen, dass Ergebnisse zurückgegeben werden. Okay, Filme. In Ordnung, und lass uns damit anfangen. Mal sehen, ob es funktioniert. Ich höre meine Stiefel und einen ausgestreckten. Probiere es aus. Lass uns den zweiten Filmtitel ändern. Ich kann ein Feld leer lassen, weil ich das nicht aktualisiere. Und die Bewertung ist auf fünf gesetzt. Lass es uns ausführen. Ich gebe alle Filme zurück. Und los geht's. Id2 ist der Titel, Inception. Ich habe das auf eine zufällige Eins gesetzt und jetzt sind es fünf. Und damit ist die Aktualisierungsreihenfolge abgeschlossen. 12. 12. Hinzufügen von dependency: Jetzt haben wir die grundlegenden Bedürfnisse der API in Dotnet Six besprochen . Wir müssen über das allgemeine Setup sprechen und darüber, wie wir Endpunkte durch Mappings erstellen können. nächste Punkt auf der Liste ist die Dependency Injection, etwas, das wir als Entwickler häufig in unserem Code verwenden. Und eine Amino-API akzeptiert auch das Abhängigkeitsinjektionsmuster. Und wie wir das machen können, ist fast dasselbe wie in Dotnet. Fein. Mach es einfach nicht in einem Startup, weil es nicht da ist. Wir müssen es jetzt in der program.cs konfigurieren. Also habe ich zunächst einige Änderungen an meiner Bewerbung vorgenommen. Lassen Sie uns das zuerst durchgehen, bevor ich erkläre, wie Sie die Dependency Injection verwenden können. Das ist also meine Anwendung und ich erstelle eine neue Ordnerlogik. Und in dem Ordner befinden sich zwei Dateien, Movie Dossier und Movie Surface Dot. Da ist also der Film, der ja sagt. Eigentlich Objektfilm, vorher in der program.cs war, aber ich habe ihn in diese Datei verschoben. Und die Filmserver sind eine Klasse, die sich um alles rund um Filme kümmert. Als ich das geöffnet habe, gibt es eine private Liste von Filmen, die dieselben Filme und die program.cs enthält. Und in diesem Fall gibt es ein paar Methoden: löschen, alle abrufen, nach ID abrufen und einfügen. Ich habe das Update entfernt , weil ich es einfach und kurz halten möchte. Die Datei program.cs wurde bereinigt. Hier initialisiere ich den Filmservice in eine Variable. Lassen Sie uns das aus offensichtlichen Gründen umbenennen. es in movie service when a small m umbenannt. Und ich habe alle Endpunkte mit Movie Service anstelle einer Liste von Filmen geändert Endpunkte mit Movie Service anstelle einer Liste von Filmen , weil das hier nicht mehr ist. Also habe ich die Filmklasse und die Liste der Filme aus dieser Datei entfernt und sie in die Ordnerlogik verschoben. Okay, cool. Um die Bußspritze zu erstellen, benötigen wir eine Schnittstelle. In diesem Fall möchte ich eine Schnittstelle des Filmdienstes erstellen . Es gibt weniger öffentliche Methoden , die in der Schnittstelle sein müssen. Zuerst erstelle ich ein neues Interface in der Dateilogik und nenne es Movie Service. Und ich kopiere, lösche und verschiebe dann zumindest. Und dann beweg es. Gute, schlechte Idee und Beilagen. In Ordnung, und das sind Lücken. In Ordnung? Sie haben eine Schnittstelle. Jetzt verbinde ich das Interface mit der Klasse Movie Service. Und sie haben es hinzugefügt. Jetzt habe ich also eine Schnittstelle, die mit der Movie Service-Klasse verbunden ist. Ich gehe zurück zur Datei program.cs und fange an, nach dem Builder-Dot-Service zu suchen, vor allem, weil wir dort unsere Abhängigkeitsinjektion konfigurieren. Normalerweise suche ich also dem Ad-Swagger-Gin und darunter gebe ich Filler Services Scoped ein. Ordnung, Umzugsdienst und verbinde ihn mit der Filmservice-Klasse. Das war's. Jetzt haben wir unsere Dependency Injection für den Filmservice konfiguriert . Aber wie werden wir es in unseren Endpunkten verwenden? Sie fügen es im Grunde in die Parameterliste der Funktion ein. Fangen wir mit dem einfachsten an, map.get oder map get rich hat einen Endpunkt von API-Filmen, eine leere Parameterliste und return, die ebenfalls übernommen wurden. Soldaten, hol alles, Kumpel. Diese werden sehr einfach sein , da ich die Schnittstelle in die Parameterliste des Körpers einfügen werde . Also in diesem Fall, I Movie Service, gebe ich ihm einen Namen, Movie Service. Es gibt einen Fehler. Jetzt kann ich das gleich lassen, weil sie eins zu eins sind. Ich habe den iMovie-Dienst in meine Methode eingefügt. Wie funktioniert das mit dem zweiten Film, dem Middarm, und ich kann einen Film per ID bekommen, ganz einfach, int id comma i movie service. Und es funktioniert. Sie können die Bußinjektion einfach hinter die Parameterliste der Endpunktabfragen oder andere Teile der Aktion stellen. Das Gleiche gilt für die Post. Ich habe hier einen Film , der von einem Kunden auf den API Coma Movie Service, Movie Service und Delete gepostet wird von einem Kunden auf den API Coma Movie Service, Movie Service . Das Gleiche wie das Gate per ID. Es gibt schon den Hinweis, vielleicht willst du ja den iMovie servieren. Ich will. Und jetzt ist es fertig. Ich kann die Realisierung des Filmservices entfernen. Und es funktioniert immer noch, wenn ich jetzt nur F5 drücke, wird die API gestartet. Und du kannst sehen, ob es tatsächlich funktioniert hat. Ich sehe immer noch meinen gesamten Endpunkt hier. Und lass uns versuchen, dass es austrocknet, exekutiert. Und ich sehe immer noch alle meine Filme. Versuchen wir uns zu rühmen, probieren wir es aus. Ich habe neun Muppets und die Bewertung ist fünf. Führt aus. Wie Sie sehen können, wurden die Muppets zu dieser Liste hinzugefügt. Natürlich ist dies nicht das beste Beispiel für die Dependency Injection, da ich die Dependency Injection verwende , konfiguriere und sie direkt verwende. Normalerweise ist es überall und das ist okay. Aber kurz gesagt als Abhängigkeitsinjektion. 13. 13. Es ASYNC machen: Im letzten Kapitel dieses Kurses geht es darum, die API zu einer Senke zu machen, sodass die API mehrere Anfragen gleichzeitig verarbeiten kann . Und das macht die API ein bisschen schneller, um Ihre Aktionen und Methoden asynchron zu machen , um Ihre Aktionen und Methoden asynchron . Wir müssen die Ziele ein wenig ändern und es ist wirklich einfach. Es ist nicht wirklich viel Arbeit. Als erstes möchte ich zum Interface gehen und alles für ein Singen vorbereiten. Also werde ich allen Methoden eine Aufgabe hinzufügen. In diesem Fall verschiebt sich die Aufgabenliste. Ich ziehe um. Und ändere die Stimme auf Abenddämmerung. In Ordnung, das ist einfach. Gehen Sie nun zur Oberfläche und Sie werden feststellen, dass es kaputt geht weil die Implementierung des Dienstes nicht mehr mit der Schnittstelle übereinstimmt. Also lasst uns auch diesen schnell ändern. Auch dies sollten Sie wissen, bevor Sie mit diesem Kurs beginnen, und ich muss alles asynchron machen, sonst funktioniert es nicht. Das ist also nur eine Aktion zum Kopieren und Einfügen. Weil dies eine Demo ist, in der es darum geht, etwas Asynchron zu machen. Normalerweise sollte etwas innerhalb der Methode verfügbar sein. Nun, das ist nicht der Fall, aber ich sorge dafür, dass alle Methoden asynchron in der API auf sie warten, was der Sinn dieser Demonstration ist. In Ordnung, also ist jetzt alles für asynchrone Aufgaben vorbereitet. Ich gehe zurück zur program.cs. Hier kann man sehen, dass sich nichts geändert hat. Es gibt keine Warnungen, keine Fehler. Aber wenn ich den Mauszeiger darüber bewege, hole ich mir einfach alles und du wirst sehen, dass es verfügbar ist. Also kann ich einfach hier tippen und warten. About Debt funktioniert nicht, weil es in gewisser Weise immer innerhalb einer asynchronen Methode verwendet werden muss und diese Methode oder der Hauptteil nicht asynchron ist. Um es asynchron zu machen, geben Sie hier einfach async ein und dann funktioniert es. Jetzt sehe ich, dass der Movie Service Dot Insert ebenfalls verfügbar ist. Also haben wir das auch gemacht. Ich kann also alles asynchron machen, indem ich einfach Async zu allen Lambda-Ausdrücken hinzufüge allen Lambda-Ausdrücken und die Movie-Service-Methoden erstelle. Ich warte. Das war's. Also starte ich jetzt die API und es ist immer noch dasselbe. Es hat sich nichts geändert. Lassen Sie uns das Get ausführen, um es auszuprobieren, wird ausgeführt. Und ich habe es. Ich kann das auch für den anderen Endpunkt tun. Aber ich denke, du verstehst, worum es geht. So machen Sie die minimale API asynchron. 14. 14. Fazit: Nun, damit ist unsere minimale API in Dotnet Six abgeschlossen. Es ist eine großartige Möglichkeit, kleinere APIs mit weniger Mädchen zu erstellen. Und ist er nicht auseinandergefallen? Ich mag weniger Code. Der Nachteil ist, dass Sie, wenn Sie eine wirklich große API haben, eine große Datei mit allen Endpunkten haben. Was also passiert, ist, dass die Leute die verschiedenen Endpunkte auf verschiedene Dateien verteilen . Und dann im Grunde wieder Controller zu erstellen , funktioniert nicht wirklich. Ich denke schon, wenn Sie kleine APIs und Microservices haben, aber nicht für größere Projekte, bei denen Sie eine wirklich große API haben , die viele Anfragen verarbeitet. Danke fürs Zuschauen. Ich hoffe du hast etwas gelernt. Wenn Sie Fragen haben, lassen Sie es mich einfach in den Kommentaren wissen oder senden Sie mir eine Nachricht. Vergiss nicht, mir zu folgen, um in naher Zukunft weitere Tutorials zu erhalten. Danke und auf Wiedersehen.