Transkripte
1. Einführung: Hallo, Willkommen zu diesem Microservices-Kurs
mit ASP.Net Core. Mein Name ist S1 und ich führe Sie
durch diesen Kurs. Ich bin ein Softwareentwickler und wertvollste Fachmann von
Microsoft. Ich habe diesen Kurs
so konzipiert, dass Sie
Microservices von Anfang an
lernen können . In diesem Kurs werden wir keine Copy-Paste-Technik
verwenden. In der Tat werden wir
alles von Grund auf neu abdecken. Um an diesem Kurs
teilnehmen zu
können, müssen Sie jedoch über Kenntnisse der
ASP.Net-Kern-RESTful-APIs verfügen. Nun, drei bis sechs Monate Rest-API-Kenntnisse reichen aus
, um diesen Kurs zu beginnen. Am Ende dieses Kurses werden
Sie in der Lage sein, die Microservices der
lokalen Desktop-Anwendung zu verwässern . In Ordnung, worauf wartest
du? Nimm an diesem Kurs teil und
lass uns anfangen zu lernen.
2. Voraussetzungen: Bevor Sie mit diesem Kurs
beginnen, sollten Sie unbedingt
die Video Studio 2022
Community Edition herunterladen . Wenn Sie eine
andere Ausgabe von
Videostudio wie
Professional oder Enterprise verwenden , die Punkt und
Kern unterstützt, ist das in Ordnung. We'll Studio Community
Edition ist kostenlos. Wenn Sie sich das
Unternehmen oder eine andere Ausgabe nicht leisten können, fahren
Sie einfach mit
dieser Community-Edition fort. Ich habe einen Download-Link
des Filmstudios angehängt , damit Sie ihn herunterladen und entsprechend
auf Ihrem Computer installieren
können. Ich möchte Ihnen auch sagen
, dass
ich in diesem Kurs die verkürzte
Version sechs verwenden werde. Stellen Sie sicher, dass Sie die
neueste Version von dotnet verwenden. Um
diesen Kurs abzuschließen, müssen
Sie über drei
bis sechs Monate Erfahrung mit dotnet
Core RESTful APIs verfügen. Wenn Sie ein absoluter Anfänger sind
, empfehle
ich Ihnen,
diesen Kurs zu unterbrechen und einfach zu meiner Rest-API zu
gehen, einem Anfängerkurs,
in dem Sie die restliche
API-Entwicklung von Grund auf
lernen. Und gleich nach dem
Rest des APA-Kurses können
Sie diesen
Microservice-Kurs belegen. Okay, das ist alles worüber ich sprechen
möchte. Ich hoffe du bist auf derselben Seite. Jetzt fangen wir an zu lernen.
3. Kursstruktur: In diesem Kurs haben Sie
Microservices von Anfang
an gelernt . Lassen Sie mich Ihnen zeigen,
was in den nächsten Abschnitten
auf Sie zukommt . Im nächsten Abschnitt
beginnen wir mit den Grundlagen wie was sind Microservices und
wie Microservices funktionieren. Dann richten wir die
Projekte für Microservices ein. Gleich danach. Wir erstellen einen Microservice für Fahrzeuge. Dann erstellen wir den
Mikroservice für Kunden. Und gleich danach deckt der
Microservice des Kunden den Azure Service Bus für die
Kommunikation des Microservices ab. In diesem Abschnitt senden wir die Daten an den
Azure Service Bus. Dann erstellen wir den
Reservierungs-Microservice. Und gleich danach werden die Daten aus
der Azure
Service Bus-Warteschlange abgerufen . Sobald wir diese Dinge behandelt
haben, werden wir auch das API-Gateway
mit gepunkteten Kurven
mithilfe von Microservices
abdecken . Das sind also die Dinge, die
wir in diesem Kurs behandeln werden. In Ordnung? Die Zeit ist sehr kurz und es gibt eine
Menge Dinge zu behandeln. Wir sehen uns also
im nächsten Abschnitt.
4. Monolithische Architektur: Bevor wir über die
Microservices-Architektur sprechen, müssen
wir zunächst
die monolithische Architektur verstehen. Eine monolithische Anwendung
wird als eine Einheit gebaut. Nehmen wir ein einfaches Beispiel. Angenommen, Sie
wurden gebeten, eine Anwendung für
eine
Fahrzeugprobefahrt zu erstellen . In diesem Szenario
wird
unsere Anwendung aus drei Teilen bestehen. Die Datenbank, die aus
einer oder mehreren Tabellen
mit einigen Relationen besteht . Die clientseitige Benutzeroberfläche, die aus HTML-Seiten besteht, eine Benutzeroberfläche die
auf der Clientseite verwendet wird. Die serverseitige Anwendung, die alle HTTP-Anfragen bearbeitet, die
domänenspezifische Logik
ausführt, die
Daten abruft ,
aktualisiert
und löscht und die Daten in die clientseitige Anwendung ,
damit der Kunde die Daten anzeigen
kann. Das sind also unsere
Monolith-Architekturarbeiten. In der Monolith-Architektur sind
alle Komponenten miteinander verbunden. Wenn wir an
einem bestimmten Dienst etwas ändern wollen, müssen wir
die gesamte Anwendung erneut bereitstellen da alle Dinge
miteinander verbunden und abhängig sind. den Code ändern, wird die gesamte Anwendung beschädigt. Und um ehrlich zu sein,
ist das wirklich nervig wenn Sie eine Anwendung auf
Unternehmensebene erstellen. Um dieses Problem zu lösen, benötigen
wir Microservices. Und in der nächsten Lektion werden
wir die
Microservice-Architektur besprechen. Wir sehen uns im nächsten.
6. Microservices Kommunikation: In der letzten Lektion haben wir über die
Microservice-Architektur
gesprochen. Lassen Sie mich Ihnen nun erklären, wie wir diese
Kommunikation zwischen
den Microservices und einer einfachen
monolithischen Anwendung
durchführen . Wir haben Tabellen und Relationen, und
mit Diensten
können mithilfe von
Beziehungen miteinander kommunizieren , da diese Dienste
dieselbe Datenbank verwenden. Im Fall von Microservices enthält jetzt jeder Dienst
seinen eigenen Datenspeicher. Wie ist es möglich, mit
anderen Microservices zu kommunizieren? Nun, es gibt
mehrere Möglichkeiten, wie ein Microservice mit einem anderen Microservice kommunizieren
kann. Aber zuerst
nehmen wir ein Beispiel. Angenommen, wir haben eine einfache
E-Commerce-Anwendung mit einigen Diensten
wie Kunden, Produkten, Warenkorb, Inventar,
Zahlungen, Bestellungen und E-Mail. Der Kunde
legt das Produkt in den Warenkorb oder Warenkorb
und entscheidet dann, wie
viele Produkte er benötigt. Angenommen, der
Kunde möchte fünf Produkte in den Warenkorb legen. sind jedoch nur zwei Produkte Für diesen
Warenkorb-Service sind jedoch nur zwei Produkte mit
Dark-to-the-Inventar-Service
über HTTP-Aufrufe, Rest-APIs,
verfügbar . Bei dieser Kommunikation handelt es sich interne
Microservice-Kommunikation. Sobald der Kunde
die Zahlung geleistet hat, wird er die Bestellung aufgeben. Der Kunde hat die Bestellung aufgegeben, aber die Bestellung steht noch aus. Und im Backend prüft
der Administrator nach der
Bewerbung, prüft
der Administrator nach der
Bewerbung ob die Zahlung erfolgreich
ist oder nicht. Wenn die Zahlung erfolgreich ist, sendet der Administrator dem Kunden
die E-Mail , dass die Bestellung erfolgreich aufgegeben
wurde. Und dieser Prozess ist asynchron, denn
sobald der Kunde die Bestellung
aufgegeben werden die Bestelldaten an externen
Dienstleister wie Azure Messaging
oder Rabbit MQ weitergeleitet. Und das sind Message Brokers. Lassen Sie mich Ihnen jetzt sagen
, was Message Broker ist. Ein Message Broker
ist eine Software, die es den
Anwendungen, Systemen
und Diensten ermöglicht ,
miteinander zu kommunizieren und Informationen
auszutauschen. Okay, was hier passiert, ist, wenn der Kunde die
Bestellung aufgibt, dann werden die Daten
an den Nachrichtenbroker gesendet. Kurz gesagt, wir senden die
Daten an den Nachrichtenbroker. Auf der anderen Seite interagiert
der böse Dienst mit
dem Nachrichtenbroker erhält die Bestelldetails
von diesem Nachrichtenbroker. Und wenn die Zahlung erfolgreich
ist, sendet dieser E-Mail-Dienst eine E-Mail an den Kunden. Die Bestellung wurde erfolgreich
aufgegeben. Diese Art der Kommunikation, die mit
Message Brokern stattfindet, ist eine externe
Microservice-Kommunikation oder asynchrone Kommunikation. Die andere Art der
Kommunikation, die wir zuvor besprochen
haben, ist asynchrone Kommunikation oder interne
Microservice-Kommunikation. Denn ohne zu wissen
, welche Inventargegenstände übrig
sind, können wir die
Artikel im Warenkorb nicht vergrößern. Okay, das ist alles
aus dieser Lektion. Wir sehen uns jetzt
in der nächsten.
7. Wann man Microservices einsetzt: In dieser Lektion werden wir
sprechen, wann wir
Microservices verwenden sollten und wann wir die
Microservices nicht nutzen
sollten. Aber vorher vergleichen wir die
monolithische Microservices-Anwendung. Lassen Sie uns nun über
die Bereitstellung sprechen. Stellen Sie die monolithische
Anwendung bereit. Sie müssen die gesamte Anwendung veröffentlichen oder erneut bereitstellen
. Bei Microservices können
Sie
diesen Microservice jedoch bereitstellen. Dann können Sie auch
die anderen Microservices bereitstellen. Wenn wir über
die Skalierbarkeit sprechen, ist
es viel einfacher die
Microservice-Anwendung
zu skalieren. Lassen Sie uns nun über die
plattformabhängige Funktion sprechen. Die einfachen monolithischen
Anwendungen sind plattformabhängig. Das heißt, wenn wir
diesen ersten Dienst in
Dotnet Core und MS SQL-Datenbank erstellt haben, müssen wir auch
die anderen Dienste in
derselben Sprache erstellen . Aber im Fall von Microservices
ist das nicht der Fall. Sie können diesen ersten
Service im dominanten Kern erhalten. Und mit Microsoft SQL-Datenbank. Dann können Sie
die anderen Dienste in einer anderen
Programmiersprache erhalten. Sie können auch einige
andere Datenbankanbieter
wie MongoDB oder MySQL usw. verwenden , aber die Arbeit an
Microservices erhöht auch die
Entwicklungsgeschwindigkeit. Denn in
Unternehmensanwendungen ist
jeder Entwickler
mit einem bestimmten Dienst verbunden . Und das bedeutet, dass die Wahrscheinlichkeit von Fehlern
geringer ist. Markieren Sie in der
monolithischen Anwendung $1 pro Asteroiden, den gesamten Code. Der Entwickler kann mit
vielen Fehlern konfrontiert werden und reduziert auch
die Codierungsgeschwindigkeit. Okay, genug über
die monolithischen und
Microservice-Anwendungen geredet . Lassen Sie uns nun über
den wichtigen Teil sprechen , dass wir
Microservices verwenden
sollten und dann keine Microservices verwenden sollten. Wenn Ihre Bewerbung einfach ist, eine Zwischenstufe, wie eine
normale Kinokartenbuchung. Und wenn Sie mit
verschiedenen Programmiersprachen
und Entwicklungsumgebungen nicht
vertraut verschiedenen Programmiersprachen sind, müssen Sie die Microservices nicht
schreiben. Sie können mit einer
einfachen Modellarchitektur fortfahren. Aber wenn Ihre Anwendung sehr komplex
ist, wie die
E-Commerce-Aktivierung, oder? Buchung, Flug, Reservierung und
Anwendungen wie Netflix. Sie sollten wahrscheinlich
über Microservices nachdenken. Also, Die Wahl liegt
ganz bei Ihnen. Die
Verwendung
von Microservices hat Hunderte von
Vor- und Nachteilen. In diesem Kurs
konzentrieren wir uns jedoch ausschließlich auf Microservices,
da der Markt neue Dinge
lernen muss. Okay, das ist alles
aus dieser Lektion. Wir sehen uns jetzt
im nächsten Abschnitt.
8. Welche Microservices wir erstellen: In diesem Kurs
erstellen wir die Microservices für die Aktivierung lokaler
Festplattenlaufwerke. Nehmen wir an, es gibt ein berühmtes
Automobilunternehmen wie Tesla. Und Leute wie ich wollen ein
bestimmtes
Fahrzeug testen . Also werden wir einen Microservice
für die Fahrzeug-Desktop-Anwendung erstellen . Und ich weiß, dass die Anwendung ziemlich klein
ist, aber dies gibt Ihnen einen perfekten Start in der
Welt der Microservices. Okay, lassen Sie mich Ihnen den grundlegenden
Ablauf dieser Anwendung erklären. Wir werden drei
Microservices erstellen. Die erste wird verwendet, um die Lebenszyklusdaten zu
verarbeiten. Das zweite Problem ist der
Umgang mit den Kundendaten, und das dritte Problem wird für die
Bearbeitung der Reservierungsdaten verwendet. Nehmen wir an, es gibt eine
Mobil- oder Webanwendung , in der wir
diese Microservices nutzen werden. Zunächst zeigen wir also die Daten
der Fahrzeugliste an. Und diese Daten werden aus
dem Fahrzeug-Microservice stammen. Und nachdem Sie
ein Fahrzeug ausgewählt haben, erhalten Sie weitere
Details des Fahrzeugs. Wenn wir jetzt auf die
Buch-Desktop-Option
drücken , wurden wir
gebeten, die Details anzugeben. Und sobald wir
diese Details angegeben
haben, gehen diese Daten an den Microservice des
Kunden. In ähnlicher Weise werden diese
Daten auch an den
Azure-Messaging-Dienst gesendet. Jetzt gibt es auch eine
Admin-Seite der Aggregation. Mit dem Admin können die Lakers hinzugefügt, aktualisiert und gelöscht werden. Und der Administrator kann die E-Mails auch
an Kunden senden , die
sich für
den Desktop der
Firmenfahrzeuge interessieren . Wenn der Administrator die Anwendung öffnet und auf
die Reservierungsoption klickt, wird die
Liste der Kunden angezeigt, die
daran interessiert sind, eine
bestimmte Fahrzeugfahrt zu testen. Und diese Daten stammen vom Azure Messaging
Service Bus, okay, dann kann der Administrator diese E-Mail
zur Bestätigung an
diese Kunden
senden . Also werden wir diese Microservices
in diesen Kurs aufnehmen. Okay, fangen wir mit
der nächsten Lektion an.
9. Lösung für Microservices erstellen: In dieser Lektion erstellen
wir das Lösungs- und
Microservices-Projekt. Es ist besser, wenn du willst, Katie, anders werden wir
Studio-Projekte für Microservices machen. Dies verbraucht aber auch
mehr RAM und Rechenleistung. Anstatt die
andere Instanz von Field Studio zu
öffnen, wird nur eine Inzidenz
des fetalen Studios geöffnet. Und darin entsteht eine Lösung, die
alle Mikroservice-Projekte enthält . Okay, lass uns
das richtige Studio eröffnen. Zum Zeitpunkt der Aufnahme
dieses Kurses mit Studio 2022 ist die neueste Version. Okay, dann erstelle ein neues Projekt. Hier müssen wir nach einer
leeren oder leeren Lösung suchen. Sie werden sehen, dass diese leere
Lösungsvorlage
eine leere Lösung erstellt ,
die keine Projekte enthält. In Ordnung, wählen wir
das aus und klicken auf Weiter. Hier müssen wir unserer Lösung
einen Namen geben. Geben wir einen benutzerfreundlichen
Namen, da wir die Microservices für
unsere Fahrzeugtestfahrten erstellen. Deshalb benennen wir diese Lösung
als lokalen Speicherplatz für Testfahrten. Diese Option. Los geht's. Wir werden
im Videostudio eine leere Lösung sehen. Jetzt werden
wir innerhalb der Lösung zwei verschiedene
Kern-Web-API-Projekte hinzufügen. Okay, klicken wir mit der rechten Maustaste
auf die Lösung. Dann kriegen wir ein neues Projekt. Und in der Suchleiste suchen
wir nach dotnet Core. Scrollen Sie einfach nach unten
und wir sehen eine ASP.Net Core Web
API-Projektvorlage. Wählen Sie dies einfach aus und klicken Sie auf Weiter. Wir müssen unserem Projekt einen
Namen geben. Nennen wir es legale API. Und klicken Sie auf Weiter. Hier sehen Sie das
Framework, das ich verwende, dot und six, das
derzeit der neueste Favorit ist. Wir brauchen keine
Authentifizierung und dunkler. Und deshalb
müssen wir hier nichts ändern. Ordnung, dann stellen Sie sicher, dass diese
aktivierte offene API-Unterstützung
aktiviert ist , da dies
die
Swagger-API-Dokumentation für uns hinzufügt . In Lehre sechs haben
wir auch die Möglichkeit, die minimalen APIs zu
verwenden. Bei minimalen APIs verwenden wir
keine Controller. Wir fügen einfach den Code
in der Startup-Klasse hinzu. Aber das ist irgendwie was
für Anfänger. Anstatt also
die minimalen APIs zu verwenden, wählen
wir den
Controller-Ansatz. Stellen Sie also sicher, dass Sie die Option „Controller verwenden“ aktiviert
haben , die dieses Projekt steuert. Okay, los geht's. Unser Fahrzeug-API-Projekt
wurde erstellt. Jetzt werden
wir genau wie bei diesem
Fahrzeug-API-Projekt zwei weitere Projekte hinzufügen. wir also mit der rechten Maustaste
auf die Lösung. Dann Neues Projekt hinzufügen und wählen Sie die API-Projektvorlage
für gepunktete Kurven aus. Gleich danach werden wir
dieses Projekt der Kunden-API benennen . In Ordnung, holen wir uns dieses Projekt. Los geht's. Jetzt haben wir zwei
Projekte, Fahrzeuge, API und die Kunden-API. Es ist an der Zeit,
das dritte Projekt hinzuzufügen, nämlich die Reservierungs-API. Wir klicken also mit der rechten Maustaste
auf die Lösung. Sie dann „Neues Projekt hinzufügen Wählen Sie dann „Neues Projekt hinzufügen“ die ASP.Net Core
Web API-Vorlage. Dann überlassen wir dieses
Projekt der Reservierungs-API. Und lass uns das schaffen. Wir haben Lösung
T-Projekte
hinzugefügt. In der nächsten Lektion installieren
wir jetzt die
NuGet-Pakete für Microservices. Wir sehen uns in der nächsten Lektion.
10. Installieren von Nuget Packages: In der letzten Lektion
haben wir die Lösungs
- und T-Projekte für
Microservices gestartet . In dieser Lektion fügen
wir nun die NuGet-Pakete in
diese Mikroservice-Projekte ein. Derzeit werden
die NuGet-Pakete benötigt. Eine ist für Entity
Framework Core, zweite für die SQL
Server-Datenbankverbindung und die dritte für
Migrationszwecke. Okay, wir müssen
diese beiden NuGet-Pakete
in diesen drei
Micro-Service-Projekten installieren diese beiden NuGet-Pakete . Anstatt die Pakete
einzeln innerhalb
dieser Mikroservices hinzuzufügen , wir mit der rechten Maustaste auf
die Lösung und
wählen dann NuGet-Pakete für Lösung verwalten aus. nun in der Suchleiste wir nun in der Suchleiste nach dem Entity
Framework Core NuGet-Paket. Und hier werde ich
dieses NuGet-Paket in
all diesen Projekten installieren . Okay, lassen Sie uns
dieses NuGet-Paket für
Entity Framework Core installieren . Los geht's. Das Paket wurde erfolgreich
installiert. Suchen wir nun nach
einem anderen Paket, das für die SQL
Server-Datenbank bestimmt ist. Und wieder
werden wir
das Paket in
diesen Projekten installieren . Once wird dieses Paket installieren. Dann suchen wir nach diesem
Paket für Migrationszwecke, bei dem es sich um Microsoft
Dot Core Dot-Tools handelt. Und wieder
werden wir
dieses Paket in
allen Projekten installieren . Wir haben alle
notwendigen Pakete installiert. Jetzt, wo wir weitermachen, werden
wir auch
andere NuGet-Pakete installieren. Aber bis dahin
haben wir genug Material , um unser
Microservice-Projekt zu starten. Fangen wir also im
nächsten Abschnitt an, unseren ersten
Micro-Service zu schreiben .
11. Vehicle: In diesem Abschnitt erhalten
wir
den Mikroservice für Fahrzeuge. Lassen Sie mich Ihnen den grundlegenden
Ablauf dieses Fahrzeugs erläutern. Microservice,
auch Microservice genannt, wird auf fünf
verschiedenen Methoden basieren. Holen Sie sich Fahrzeuge, die
alle Fahrzeuglisten zurückgeben. Holen Sie sich das Fahrzeug nach ID, wodurch das
spezifische Fahrzeugdetail
gemäß der Fahrzeug-ID zurückgegeben wird . Add-Methode wird verwendet
, um sie später hinzuzufügen. Aktualisierungsmethode wird verwendet
, um den Fahrzeugdatensatz zu aktualisieren und das Fahrzeug löschen wird verwendet, um das
Fahrzeug zu löschen. Diese beiden Methoden
erhalten das Fahrzeug und werden durch die IDR GET-Methoden
gewackelt. Dieses Anzeigenfahrzeug
ist eine Post-Methode, es ist eine PUT-Methode, und dieses Löschfahrzeug ist
eine Löschaktionsmethode. In diesem Kurs werden wir die mobile Anwendung oder
Webanwendung nicht
erhalten ,
da unser Fokus ausschließlich auf den
Microservices
liegt. Okay, also fangen wir
in der nächsten Lektion an,
den Fahrzeug-Microservice zu erstellen .
12. Modelle für den Fahrzeugservice erstellen: In dieser Lektion
bekommen wir den Fahrzeug-Microservice. Zunächst beginnen wir
mit einer Modellklasse. Bevor ich die Mörtelklasse hinzufüge, möchte ich den
unnötigen Code wie
diese Wettervorhersage und
diese
Wettervorhersage-Controller-Klasse löschen diese Wettervorhersage und . Löschen Sie auch die
Wettervorhersage und Bedford-Kostencontroller
aus den beiden anderen Projekten. Okay. Jetzt
holen wir uns den Ordner innerhalb des
Fahrzeug-Microservice-Projekts und nennen ihn Modelle. dann im Ordner dieses Modells Fügen
wir dann im Ordner dieses Modells eine neue C-Sharp-Klasse hinzu. Und ich werde diese Klasse
Waco
benennen . In Ordnung, los geht's. Innerhalb dieser Klasse fügen wir
einige Eigenschaften hinzu, wie
Idee des Fahrzeugs, Name des Fahrzeugs, Preis des Fahrzeugs, in welcher URL des Fahrzeugs. Dann fügen wir die Eigenschaft für die Verschiebung des Fahrzeugs hinzu. Gleich danach
fügen wir die Höchstgeschwindigkeit und fügen auch
die Eigenschaften Länge,
Breite und Höhe des Fahrzeugs hinzu. Sie können
in dieser
Fahrzeugklasse auch weitere Eigenschaften hinzufügen , wenn Sie möchten. Aber ich habe nur
ein paar Eigenschaften hinzugefügt , um die Dinge einfach zu halten. In Ordnung? Sobald Sie diese Eigenschaften innerhalb
dieser Fahrzeugklasse hinzugefügt
haben, erstellen wir
den DB-Kontext. Lassen Sie uns also
in der nächsten Lektion den DB-Kontext betrachten.
13. DbContext Für den Fahrzeugservice: Zu Beginn dieses Kurses haben
wir die
Modalklasse für Fahrzeuge erstellt. Und jetzt in dieser Lektion werden
wir
die DB-Kontext-Klasse erstellen. Die DB-Kontext-Klasse
ist eine wichtige Klasse. Es fungiert als Brücke zwischen Ihrer Modellklasse
und Ihrer Datenbank. Und es ist auch dafür verantwortlich LINQ-Abfragen
in SQL-Abfragen
umzuwandeln und die Datenbank zu
senden. Was ich meine ist
, wenn wir
die Crud-Operationen
mit der Datenbank durchführen , dann verwenden wir die Link-Abfragen. Und diese DVI-Kontexte
konvertieren diese LINQ-Abfragen in SQL-Abfragen und
senden sie dann an die Datenbank. Bevor wir also die
DB-Kontext-Klasse hinzufügen, erstellen
wir einen neuen
Ordner und nennen ihn data. Dann füge
ich in diesem Datenordner eine neue Klasse hinzu. Dann haben wir diese Klasse
dem API-DB-Kontext zugewiesen. Fügen wir diese Klasse hinzu. Dann müssen wir
diese Klasse nur noch aus dem DB-Kontext ableiten. Und dieser DB-Kontext stammt aus dem Entity Framework
Core-Namespace. Und wir müssen den
Namespace für diese Klasse auflösen. Dann füge
ich innerhalb der EPA
DB-Kontextklasse eine Eigenschaft hinzu. Fügen wir eine Eigenschaft hinzu. Die Frage ist nun, was diese Eigenschaft schreiben
wird? Nun, es wird
das DB-Set des Fahrzeugs zurückgeben. Okay, die Salzigkeit
für dieses kleine Glas. Dann haben wir dieses
Anwesen Lakers benannt. Zur Laufzeit ordnet Entity
Framework
diese TV-Set-Eigenschaft
einem Datenbanktabellennamen zu. Wenn wir diese
Eigenschaft hier beispielsweise
als Fahrzeuge benennen, erhält Entity Framework eine Tabelle innerhalb einer Datenbank mit demselben
Namen, also vehicles. In Ordnung, jetzt geben wir die Verbindungszeichenfolge für
diese DB-Kontext-Klasse an. Zu diesem Zweck verwenden wir
unsere Methode zum Hinzufügen, die
sich bei der Konfiguration befindet. Sobald wir dies
über die Konfigurationsmethode schreiben, entfernen Sie diese Zeile. Und hier fügen wir
diesen Optionen-Builder hinzu. Rufen Sie dann die Servermethode use
sequel auf, die die
Verbindungszeichenfolge übernimmt. Also gehen wir zum SQL
Server Object Explorer. Hier sehen wir den Servernamen. Kopieren wir den Servernamen. Dann wird in der Verwendung von SQL Server
Methode Server Equals hinzugefügt. Fügen Sie dann den Namen des
SQL Servers hinzu, den wir kopiert haben. Unmittelbar nach diesem Schritt werden
wir database equals verwenden. Und hier müssen wir einen
benutzerfreundlichen
Namen unserer Datenbank angeben . Weil wir einen
Microservice von Fahrzeugen machen. Also überlassen wir unsere
Datenbank der legalen API-DB. Ordnung, jetzt in der nächsten Lektion werden
wir die Migrationen zur
Datenbank in
einem SQL Server hinzufügen . Wir sehen uns also in
der nächsten Lektion.
14. Migration Im Fahrzeugservice: In der letzten Lektion haben wir die Verbindungszeichenfolge
eingerichtet. Und jetzt müssen
wir
die Migrationen hinzufügen, um eine Datenbank zu erhalten . Um die Migrationen zu ermöglichen. Zunächst benötigen wir ein
NuGet-Paket, das Microsoft Dot Core Dot-Tools enthält. Und wir haben
dieses NuGet-Paket bereits installiert. Also gehen wir zur
Package Manager-Konsole. Und dort werden
wir sie Migrationen hinzufügen. Bevor Sie jedoch
die Migrationen hinzufügen, wählen Sie
einfach dieses Projekt aus
, in dem wir
die Migrationen hinzufügen. Wenn Sie beispielsweise
die Migration im
Fahrzeug-Microservice hinzufügen , wählen
Sie das
Fahrzeug-Microservice-Projekt aus. Sie in der Package Manager-Konsole Stellen Sie in der Package Manager-Konsole das Standardprojekt
auf Microservice ein. Wenn wir
die Migrationen in einem anderen
Projekt hinzufügen , müssen wir auch
das Standardprojekt ändern. Zu diesem Zeitpunkt möchten wir die Migrationen in den Microservice von
Michel aufnehmen. Stellen Sie also sicher, dass
das Fahrzeugprojekt ausgewählt ist. Dann fügen
wir in der Package
Manager-Konsole den Befehl add dash migration hinzu und geben
dann benutzerfreundliche Namen
für die Migration an. Hi limit, initiale Erstellung,
und lass uns die Eingabetaste drücken. Dadurch wird
das Migrationsskript generiert. Dieses Skript wird verwendet, um die Datenbank und die Tabellen
hinzuzufügen, aber wir haben die Datenbank noch nicht
erstellt. also erneut in der Package
Manager-Konsole Verwenden
wir also erneut in der Package
Manager-Konsole den Befehl update dash database,
und drücken wir die Eingabetaste. Dadurch werden nun die
Datenbank und die Tabellen
im SQL Server
Object Explorer hinzugefügt . Lassen Sie mich zum SQL
Server Object Explorer gehen. Lassen Sie uns den Server aktualisieren. Und es wird diesen Server erweitern. Dann sehen wir den
Datenbankordner. Sie wird dies weiter ausweiten. Dann sehen wir uns unsere Datenbank an. Darin wird
auch die Tabelle zu sehen sein. Öffnen wir den Tisch. Und hier sehen
Sie, dass wir in
dieser Tabelle
alle Eigenschaften haben , die wir in der
Fahrzeugmodellklasse
definiert haben . Okay, bisher haben wir
die Datenbank und die Tabelle hinzugefügt. Fahren wir nun mit der
nächsten Lektion fort.
16. Erstellen von Fahrzeugservice: Zuvor haben wir mit
den Schnittstellen gearbeitet und
beginnen
nun in dieser Lektion mit den Diensten zu arbeiten. Grundsätzlich haben
wir in der
Fahrzeugschnittstelle diese Methoden definiert. Und jetzt bekommen wir einen
Fahrzeugservice, in dem
wir die Implementierung von Eye Legal
Methods hinzufügen. Holen wir uns einen neuen Ordner
und benennen die IT-Dienste um. In diesem Ordner fügen
wir nun eine neue C-Sharp-Klasse und benennen sie um lokaler Dienst. Jetzt in diesem
Fahrzeugservice
die Implementierung
von Methoden, die wir in die
Fahrzeugschnittstelle geschrieben
haben. Implementieren wir also diese
Fahrzeug-Serviceklasse von einer Fahrzeugschnittstelle aus. Dann lösen Sie den Namespace
für diese Schnittstelle auf. In Ordnung, wir müssen die Methoden
dafür per Fahrzeugschnittstelle
implementieren . Und wir werden die
veal Studio-Funktion
verwenden die Methoden zu implementieren. Wenn Sie dies nicht sehen können, drücken Sie Steuerperiode und implementieren Sie dann diese
I-Fahrzeugschnittstellenmethoden. In Ordnung, also werden wir die in Studio
integrierte Funktion alle Methoden in der
Fahrzeug-Serviceklasse
hinzufügen. Jetzt müssen wir nur noch die
Logik innerhalb dieser Methoden hinzufügen. Zunächst beginnen wir mit
unserer Fahrzeugmethode. Diese Methode gibt
die Liste der Fahrzeuge zurück und wir fügen die
Logik innerhalb dieser Methode hinzu. Aber zuerst
benötigen wir eine Datenquelle. Wir möchten auf die DB-Set-Eigenschaft des
Fahrzeugs zugreifen , die wir in
der APA DB-Kontextklasse geschrieben haben. Um auf die Eigenschaft
DB set zuzugreifen, fügen
wir ein Feld vom Typ ABA hinzu. DB-Kontext
ist der gesamte Namespace. Dann überlassen wir dieses
Feld dem DB-Kontext. Okay, gleich danach fügen
wir einen Konstruktor hinzu. Und hier erstellen wir
eine neue Instanz des API-DB-Kontextes und weisen
diese dem DB-Kontext zu. Mit diesen DVI-Kontexten können
wir nun die
Fahrzeugeigenschaft auswählen, die wir in der
API-DB-Kontextklasse
definiert haben . Also gehen wir einfach zu dieser Methode Alle Fahrzeuge
holen über. Fangen wir mit der Arbeit an. Diese Methode gibt die Liste
der Fahrzeuge aus der Datenbank zurück . Also verwenden wir einfach
DB-Kontext-Punkt. Dann werden wir die Fahrzeuge
D auswählen, wir sagten Eigentum. Und gleich danach
wird diese Methode synchron sein und den
await-Operator hier verwenden. Jetzt speichern wir das Ergebnis in einem variablen intimen Lakers. Okay, du wirst den Pfeil hier sehen. Und das liegt daran, dass
dieser
DB-Kontext innerhalb
der Liste der Datensätze angezeigt wird. Also müssen wir
das in zwei Listen umwandeln. Nachdem wir
dies in zwei Listen umgewandelt
haben, erhalten wir immer noch einen Fehler. Und das liegt daran, dass
diese beiden Listen mit synchronen Aufrufen
funktionieren. Aber dieses Mal verwenden wir
die asynchronen Aufrufe. Lassen Sie uns also die Methode auflisten. In Ordnung. Dies ist der gesamte
Namespace für diese beiden Listen, async, der aus
diesem Microsoft dot Entity
Framework Core-Namespace stammt . Lassen Sie uns diese Fahrzeuge schreiben. Dann gehen wir zu
einer anderen GetMethod. Und zuerst
machen wir diese Methode asynchron. Dann verwenden wir das
await-Schlüsselwort. Gleich danach verwenden wir DB-Kontext und wählen
die Lakers-Eigenschaft aus. Danach
rufen wir eine Hilfsmethode auf. Das ist in Ordnung. Aber wir verwenden den asynchronen Aufruf. Verwenden wir also die
feine asynchrone Methode. Und innerhalb dieser
asynchronen Methode müssen
wir diese ID übergeben,
diese Zeile mit nur einem bestimmten spezifischen Fahrzeug gegen die ID, die in dieser Methode übergeben wird. Wir speichern das Ergebnis in einer
Variablen und benennen es wie. In Ordnung. Jetzt habe ich gerade dieses Fahrzeug
geschrieben. Gleich danach
geht GetMethod zur Methode add. Zuerst machen wir
diese Methode asynchron, warten das Schlüsselwort und
wählen den DB-Kontext. Wählen Sie dann die
Dividendeneigenschaft des Fahrzeugs. Und gleich danach rufen wir die Hilfsmethode
add async auf. Innerhalb dieser Add-Methode
übergeben wir dieses Fahrzeug-Objekt. Diese Zeile fügt nun die
Daten innerhalb der Datenbank hinzu. Aber wir müssen das
CF-Gen als diese Methode bezeichnen, denn um
einige Insert
-, Update- und Delete-Operationen durchzuführen ,
müssen wir das
CF-Gen verwenden, diese Methode. Und da dies eine AC-Methode
ist, verwenden wir hier asynchrone FCKW. Dann gehen wir zur
Aktualisierungsmethode über. Zuerst machen wir
diese Methode asynchron verwenden
dann das await-Schlüsselwort. Und gleich danach werden wir
DB-Kontext-Punkt-Fahrzeugeigenschaft verwenden . Jetzt rufen wir die find
async auf und übergeben diese ID. Im Grunde findet
diese Zeile den Fahrzeugdatensatz in
einer Datenbank mit dieser ID. Okay, speichern wir das
Ergebnis in einer Variablen und benennen es wie ein Objekt um. Ordnung, jetzt mit
diesem Fahrzeugobjekt können
wir die Eigenschaften des
Labelglases auswählen. Wählen wir also
W2-Klasseneigenschaften und weisen sie entsprechend zu. Sobald wir fertig sind, werden wir die
Änderungen speichern
aufrufen wird ausgegeben. In Ordnung, gehen wir zur legalen Methode
zum Löschen über. Zuerst machen wir dieses
async await-Schlüsselwort. Und danach verwenden wir DB-Kontext-Vektor
v equals Eigenschaft. Und nennen wir die
feine asynchrone Methode. Nun, in der Befriedigung
wird async diesen ID-Parameter übergeben. Wie immer ruft diese Zeile den Fahrzeugdatensatz aus
der Datenbank mit
diesem in einer
Variablen gespeicherten ID-Wert ab und nennt ihn Michael. Dann
entfernen wir das Fahrzeug. Um das zu tun, rufen
wir die DB-Kontext-Punktbeschriftungen, Geräte-ID-Eigenschaft, auf und rufen die integrierte
Hilfsmethode auf, die entfernt wird. Innerhalb dieser Entfernungsmethode passieren Sie
einfach dieses Fahrzeug. Denken Sie daran, dass wir für den Fall, dass
wir uns bewegen, keine asynchrone Methode haben. Also müssen wir hier nur
die remove-Methode verwenden. Und wie ich bereits sagte, wenn Bullen die Operation Einfügen,
Aktualisieren und Löschen verwenden , müssen wir auch
die Methode Save Changes aufrufen. Verwenden wir hier das asynchrone Speichern von
Änderungen. Wir haben
die Service-Schicht abgeschlossen. Wir sehen uns jetzt
in der nächsten Lektion.
17. Erweiterungsmethoden und IOC im Fahrzeugservice: Zuvor haben wir die Vico Service-Klasse
heruntergefahren, die für
die grundlegenden Crud-Funktionen verantwortlich ist. In dieser Lektion
werden wir nun mit
der Dependency Injection innerhalb
des Door Open Core-Projekts arbeiten der Dependency Injection innerhalb . Dependency Injection, das
Entwurfsmuster, das
eine Klasse unabhängig
von ihren Abhängigkeiten macht Bei der Abhängigkeitsinjektion verlassen
wir uns nicht auf die konkrete Implementierung
einer Klasse. Vielmehr setzen wir auf
die Schnittstellen. Dies macht unseren Code
wartbarer. Und fast in jedem Unternehmen das Muster zur
Injektion von Abhängigkeiten wird
das Muster zur
Injektion von Abhängigkeiten stark verwendet. Nehmen wir an, wir haben eine Schnittstelle
und die Serviceklasse. In Zukunft werden wir jetzt eine Controller-Klasse
hinzufügen. Und sie sind, Nehmen wir
an, wir wollen auf
die Methoden der
Fahrzeugservice-Klasse zugreifen , dann müssen wir eine Instanz
einer Fahrzeugservice-Klasse
erstellen . Anstatt das Objekt
zu erstellen,
wird nun die Abhängigkeitsinjektion IoC,
Inversion of Control-Container, verwendet Inversion of Control-Container, ,
der alle Abhängigkeiten behandelt. Grundsätzlich wird der
IOC-Container unsere Schnittstelle und
Fahrzeugservice-Klasse
stören. Und es ist der IOC-Container, der
die Abhängigkeiten für uns auflöst. Jetzt müssen wir kein
Objekt des Rechtsdienstes erstellen,
um auf die Methoden
der Fahrzeugdienstklasse zuzugreifen. Wir müssen nur die Fahrzeugschnittstelle
im Konstruktor übergeben. Und mit Hilfe
dieser Schnittstelle können
wir einfach auf die
Angelegenheiten zugreifen. ASP.Net Core
wird jetzt standardmäßig mit dem integrierten
IOC-Container geliefert. Also müssen wir es einfach benutzen. Lassen Sie mich Ihnen sagen, dass
Microsoft in
Dart und sechs Versionen die
Startup dot CS-Klasse verschoben hat. Zuvor haben wir
den IOC-Container
in der Startup-Klasse registriert . In Lehre sechs hat das
Microsoft.NET-Team gerade eine einzige program.cs Klasse
verwendet, die all das erledigt. Ab sofort arbeiten wir
mit der Programmklasse. Wenn Sie jedoch eine
ältere Version von Dalton-Core verwenden, sehen
Sie hier die
statische Klasse. Okay, wir gehen
zur Programmdatei. Sie werden
Builder Dot Service wählen. Und gleich danach wählen
wir die
Anzeigen-Scope-Methode aus, in der wir die Fahrzeugschnittstelle und
die Legal Service Class hinzufügen . Übernehmen wir nun die Verantwortung für diesen L-Bereich
,
der eine neue Instanz
der Fahrzeug-Serviceklasse erstellen wird . Wenn Sie die ältere
Version von Dortmund Core verwenden, fügen Sie diese Zeile in der konfigurierten
Servicemethode der Startklasse hinzu. Okay, also haben wir
die Abhängigkeiten
im Programm dot CSS registriert . In der nächsten Lektion erstellen
wir jetzt den Controller. Also werde ich dich
in der nächsten Lektion sehen.
18. Vehicles: In der letzten Lektion haben wir mit der Umkehrung des
Kontrollcontainers
gearbeitet und die Abhängigkeiten
im IOC-Container
gelöst. In dieser Lektion
fügen wir nun einen Controller hinzu und injizieren das Interface in den Konstruktor
des Controllers. Gehen wir also zum
Controller-Ordner und ich füge eine
neue Controller-Klasse hinzu. Stellen Sie sicher, dass Sie diese API-Option
ausgewählt haben. Wählen Sie dann einfach diese Vorlage
mit Lese-/Schreibaktionen aus. Diese Vorlage wird
bereits
Code enthalten und wir
müssen dies nur ändern. Dann nenne ich diesen Controller dem Fahrzeugcontroller. Stellen Sie sicher, dass der Controller mit dem
Schlüsselwort controller enden
muss, da es sich um eine
Namenskonvention handelt. Fügen wir es hinzu. Und los geht's. Sie können sehen, dass dieser Controller eingebauten Code für GET-,
Post-, PUT- und Löschmethoden enthält . Wir werden diese Methoden
nach Ihrer Wahl ändern. Lassen
Sie uns zunächst ein Feld
vom Typ Fahrzeugschnittstelle erstellen , den Namespace
auflösen
und ihm einen Namen geben, der
Unterstrich Fahrzeugservice ist. Jetzt fügen wir
einen Konstruktor hinzu, indem wir
dieses Snippet CTE ODER verwenden dieses Snippet CTE ODER und zweimal die Tabulatortaste drücken. Okay, jetzt injizieren wir das Augen-Fahrzeug-Interface
in diesen Konstruktor. Gleich danach weisen wir diesen Fahrzeugservice diesem
unterstrichenen Fahrzeugservice zu. Jetzt mit diesem Unterstrich wird der
Fahrzeugservice alle Methoden
auswählen, die wir in der
I-Fahrzeugschnittstelle geschrieben
haben. Gehen wir zu dieser GetMethod. Derzeit gibt es
die Liste der Strings zurück. Lass uns diesen Code entfernen. Und statt einer Schnur verwenden
wir das
unzählige Auge von Laker. Stellen Sie einfach sicher, dass Sie den
Namespace für die modale Klasse lösen. Okay, jetzt fügen wir
das async-Schlüsselwort zusammen mit dieser Methode hinzu. Und gleich danach verwenden
wir diesen
Unterstrich-Fahrzeugservice und wählen diese Methode zum Abrufen
aller Fahrzeuge aus, die die Liste
der Beschriftungen zurückgibt einen Fehler
erhält. Und es heißt, die Art dieser
Methode muss Dämmerung sein. Benutze die Aufgabe. Weil
dieser Aufruf asynchron ist. Deshalb müssen wir hier auch
das await-Schlüsselwort verwenden. Jetzt gehen wir zur anderen
Überladung von GetMethod über. Und diese Methode gibt den String
zurück. Anstatt die
Zeichenfolge zu verwenden, wird der Typ dieser Methode zum Abdunkeln
des Etiketts verwendet. Verwenden Sie das Schlüsselwort async. Dann lassen Sie uns den Unterstrich zurückgeben Fahrzeugservice Punkt wird von der ID-Methode
beschriftet, die den
ID-Parameter als hinter dieser ID hier nimmt. Und vergessen Sie nicht, das let-Schlüsselwort zu
verwenden. Okay, jetzt gehen wir
zur Post-Methode. Und sie werden zuerst den Typ
dieser Methode zur Aufgabe
machen und hier die asynchrone Methode
verwenden. Gleich danach
werden wir das Warten nutzen. Nutzen Sie dann den
Unterstrich-Fahrzeugservice und wählen Sie die werberechtliche Methode. Diese Ad-Vehicle-Methode nimmt das Objekt der Fahrzeugklasse an. Anstatt die Zeichenfolge zu verwenden, fügen
wir das
Fahrzeugklassenobjekt und übergeben dieses Fahrzeug hier
innerhalb der Methode add. In ähnlicher Weise gehen wir
zur put-Methode über. Und diese PUT-Methode ist
genau wie die Post-Methode. Es gibt nur einen geringen
Unterschied zwischen diesen beiden Methoden und das
ist die Verwendung des ID-Parameters. Zuerst wird der Typ
dieser Methode zur Aufgabe gemacht. Dann benutze das asynchrone. Und gleich danach übergeben wir das Fahrzeug hier als Parameter. Jetzt nutzen wir das Warten. Wählen Sie dann Unterstrich
Fahrzeugservice und wählen Sie die Methode zum Aktualisieren des
Fahrzeugs aus, die die
ID und das
Fahrzeugobjekt übernimmt . Okay, lass es uns bestehen. Jetzt wechseln wir
zur Methode delete. Und hier wählen wir
den Typ dieser Methode Dämmerung aus und verwenden
das async-Schlüsselwort. Jetzt nutzen wir das Warten hier. Und dazu verwenden wir die Underscore Maker Service
Dot Delete-Methode, die einen ID-Parameter annimmt. Okay, wir haben
die Funktionalität
der Controller-Klasse abgeschlossen . Lassen Sie uns nun diese API ausführen und
diese gute Funktionalität
in der nächsten Lektion testen .
19. Durchführung von Vehicle Microservice: In der letzten Lektion haben wir mit der
Controller-Klasse
gearbeitet. In dieser Lektion werden wir nun
unser Projekt und den Microservice für
Tesla-Fahrzeuge ausführen . Lassen Sie uns dieses
Projekt also schnell in unserem Browser ausführen. Und hier
sehen Sie die
Struggle-Dokumentationsseite für unsere API. In diesem Moment ist data equals table innerhalb einer
Datenbank leer. Also gehen wir zuerst
zur Post-Anfrage und klicken auf diese Triadenoption. Dann müssen wir
die JSON-Daten hier hinzufügen. Entfernen Sie einfach die ID, da die
ID automatisch inkrementiert wird, sodass wir die ID hier nicht
übergeben müssen. Nun fügen wir einige anständige Daten und führen diese Anfrage aus. Los geht's. Fügen wir weitere Daten hinzu. Gehen wir nun zur Anfrage. Wählen Sie „tried out
“ und führen Sie diese Anfrage aus. Sobald wir
diese Anfrage ausführen , werden
alle Datensätze abgerufen. Nehmen wir an, wir wollen nur
die Daten dieses Fahrzeugs abrufen, werden einfach die
Idee dieses Fahrzeugs kopieren. Dann gehen wir zur
anderen GetMethod. Und lassen Sie uns diese ID übergeben
und die Anfrage ausführen. Dieses Mal
erhalten
wir, anstatt alle Legos-Daten zu erhalten, nur einzelne
Fahrzeugdaten. Okay, jetzt sagen wir mal,
wir wollen ein Update durchführen. Dieses Radikal wird
zur Aktualisierungsmethode gehen. Fügen wir die ID der
Fahrzeug- und Gender-JSON-Daten hinzu. Führen wir nun die Anfrage aus, um zu überprüfen, ob
diese Fahrzeugdaten aktualisiert
wurden oder nicht, senden erneut eine Anfrage zum Abrufen. Und dieses Mal werden Sie sehen diese Fahrzeugdaten aktualisiert
wurden. Okay, jetzt sagen wir, wir
wollen dieses Fahrzeug löschen. Also gehen wir zur
Löschanfrage. Wir übergeben die
Fahrzeug-ID und führen sie einfach aus. Prüfen wir nun
, ob diese Daten gelöscht
wurden oder nicht. Also senden wir eine Anfrage zum Abrufen. Und los geht's. Wir bekommen keine Daten. Okay, bisher haben wir
mit dem Fahrzeug-Microservice gearbeitet . Jetzt, im nächsten Abschnitt, werden
wir mit unseren
Kunden zusammenarbeiten, Microservice. Wir sehen uns also
im nächsten Abschnitt.
20. Übersicht Customer: In diesem Abschnitt werden
wir
den Micro-Service für Kunden erstellen . Lassen Sie mich Ihnen
den grundlegenden Ablauf des Microservices dieses Kunden erläutern. Dieser
Weihnachts-Mikroservice basiert auf einer einzigen Methode, die beim Kunden verfügbar
ist. Stattdessen die Kundenseite. Nach der mobilen Anwendung
oder Webanwendung kann
der Kunde die Details
hinzufügen. Und dahinter wird
die Post-Methode oder Add-Customer-Methode ausgeführt. Sie können auch andere Methoden zur
Diskussion als Microservice hinzufügen , genau wie wir sie
im Fahrzeug-Microservice hinzugefügt haben, z. B. alle Kunden
abrufen, Kunden nach ID abrufen, Kunden
aktualisieren und
löschen Kunde. Unsere Anforderung ist jedoch nur eine Methode, die
eine Methode zum Hinzufügen von Kunden ist. Beginnen wir also in der nächsten Lektion mit dem Schreiben
des
Mikroservices für
diese Kunden .
21. Erstellen von Modellen für den Kundenservice: In dieser Lektion werden wir
anfangen zu erreichen, dass der
Microservice des Kunden das Microservice-Projekt dieses Kunden
öffnet. Und dann fügen
wir zunächst eine modale Klasse hinzu. Und zu diesem Zweck besorgen wir uns einen neuen Ordner
und nennen ihn Models. Jetzt fügen
wir im Ordner dieses Modells eine
neue C-Sharp-Klasse hinzu. Wir nennen es Kunde. Okay, los geht's. In diesem Weihnachtskurs. Fügen wir einige Eigenschaften
wie die ID des Kunden, Namen des Kunden, E-Mail-Adresse und die
Telefonnummer des Kunden hinzu. Okay, hier haben wir
die notwendigen Eigenschaften
für sterbliches Kundenglas hinzugefügt . Lassen Sie mich Ihnen nun sagen,
was der Kunde für eine Probefahrt für ein bestimmtes
Fahrzeug
buchen möchte . Dann müssen wir auch mit den Fahrzeug-Servicedaten umgehen
. Nehmen wir zum Beispiel an, der Kunde möchte
eine Probefahrt mit
diesem Fahrzeug buchen . Das bedeutet, dass wir ihnen auch
Fahrzeugdaten an den
Kunden senden
müssen , Microservice. Normale Ruhe-APIs. Dies können wir durch
Relationen zwischen Tabellen erreichen. Aber hier hat der
Fahrzeug-Microservice
eine separate Datenbank, und der Kunden-Microservice
erstellt
keine Datenbank nach dem
Fahrzeug-Microservice, sondern der Kunden-Microservice der Kunden-Microservice
erstellt
keine Datenbank nach dem
Fahrzeug-Microservice,
sondern der Kunden-Microservice
replizieren Sie die
Daten des Fahrzeugs. Microservice ist die allgemeine
Regel von Microservice. Das für Microservices kann diese Datenbank
nicht teilen, aber sie können die Daten teilen. Deshalb werden wir dieses Prinzip auf
den Microservice unserer Kunden anwenden . Und hier in Santa
müssen Kunden Micro-Service Klassen modellieren. Eine für das Fahrzeug des Kunden N14. Wann der Kunde die Probefahrt
bucht. Dann senden wir ihnen auch Fahrzeugnamen an den
Kunden, Microservice. In der Fahrzeugklasse benötigen wir nur zwei Eigenschaften. Nun, gleiches Ausweis und
dann rechtlicher Name. Ein Kunde kann ein
einzelnes Fahrzeug gleichzeitig buchen. Die Fahrzeug-ID ist also der Fremdschlüssel in
der Kundentabelle. Okay, wir fügen eine Eigenschaft
in der Kundenklasse hinzu und nennen wir sie Michael ID. Fügen wir nun eine
Eigenschaft von Glas Michael hinzu und nennen sie Michael. Dadurch wird eine
Eins-zu-Eins-Beziehung zwischen dem Kunden
und der Fahrzeugklasse hergestellt. Aber wo ist die Fahrzeugklasse? Lassen Sie uns unsere Fahrzeugklasse
in den Ordner dieses Modells packen. Und los geht's. Jetzt
fügen wir zwei Eigenschaften hinzu, eine für die Fahrzeug-ID und die
andere für den legalen Namen. Sobald wir die
Fahrzeugklasse hinzugefügt haben, wird
in der Kundenklasse kein Fehler mehr angezeigt. Okay. Lassen Sie mich
Ihnen jetzt sagen, dass die ID in der Fahrzeugklasse
automatisch inkrementiert wird. Aber wir möchten diese ID weitergeben, die Sie erhalten, wenn der Kunde ein Fahrzeug
buchen möchte. Nehmen wir an, dieses Fahrzeug
hat die folgende ID. Wenn der Kunde also eine Probefahrt
mit diesem Fahrzeug
buchen möchte , müssen wir dieselbe
Fahrzeug-ID in der Fahrzeugtabelle speichern . Zusätzlich zu dieser ID wird
ein identifizierendes Attribut hinzugefügt ein identifizierendes Attribut und diese von der Datenbank
generierte Option zu none
verwendet. Das bedeutet, dass die ID in dieser
Tabelle ein Primärschlüssel ist, aber nicht automatisch inkrementiert wird. Okay, wir haben zwei Klassen
erstellt, eine für das Fahrzeug des Kunden N14. In der nächsten Lektion erhalten
wir jetzt die DB-Kontext-Klasse. Wir sehen uns also in
der nächsten Lektion.
22. DbContext Für Kundenservice: In der letzten Lektion haben
wir
die Modalklasse für
Kunde und Fahrzeug erstellt . Und jetzt in dieser Lektion werden
wir
die DB-Kontext-Klasse erstellen. Ich habe Ihnen bereits gesagt
, dass der DB-Kontext
als Brücke zwischen Ihrer
Modellklasse und Ihrer Datenbank fungiert . Also sparen wir unsere Zeit und
erstellen einen Ordner, nennen ihn Daten. Dann in diesem
Datenordner innerhalb der Klasse. Anstatt also eine neue Klasse zu
erstellen, kopieren
wir die
API-DB-Kontextklasse aus dem Fahrzeug-Microservice. Und dann
fügen wir diese Klasse in den Datenordner des Microservice des
Kunden ein. Okay, jetzt
müssen wir die Namespaces reparieren da wir uns jetzt
im
Microservice-Projekt eines Kunden befinden . Also fügen wir den Namespace
für das Kundenprojekt hinzu. Dann müssen wir die Eigenschaften
festlegen. Eine ist für das Fahrzeug und die
andere für den Kunden. Db-Set-Eigenschaft ist
bereits vorhanden. Wir fügen also eine neue
Eigenschaft vom Typ
Kunde, nenne es, Kunden hinzu. Geben wir nun die
Verbindungszeichenfolge diese DB-Kontext-Klasse an. Wir haben unsere Verbindungszeichenfolge
in dieser eigenen
Konfigurationsmethode definiert . Dieses Mal haben wir mit
den
Micro-Service-Projekten des Kunden zusammengearbeitet . Wir werden
hier also nichts anderes als
den Datenbanknamen ändern . Okay, wir sehen uns
in der nächsten Lektion.
23. Migrationen im Kundenservice: In der letzten Lektion haben
wir
die
Verbindungszeichenfolge eingerichtet und auch diese
DB-Kontextklasse erstellt. Um die Datenbank zu
erstellen, müssen
wir ihnen nun Migrationen hinzufügen. Um die Migrationen zu ermöglichen, stellen Sie sicher, dass Sie
dieses NuGet-Paket
im
Microsoft Project Ihres Kunden installiert haben . Okay, jetzt gehen wir zur
Package Manager-Konsole. Und fügen wir die Migrationen hinzu. Bevor Sie jedoch
die Migrationen hinzufügen, wählen Sie
das Projekt aus, in dem wir
die Migrationen hinzufügen möchten. Dieses Mal möchten wir
die Migrationen im Microservice des
Kunden hinzufügen . Stellen Sie also sicher, dass
das Kundenprojekt ausgewählt ist. Dann
wird in der Package
Manager-Konsole auch das
Kundenprojekt ausgewählt. Okay, jetzt fügen wir einen
Befehl hinzu, der
Dash Migration hinzufügen heißt und der Migration
einen benutzerfreundlichen Namen
gibt . Ich beschränke die ursprüngliche Erstellung,
sofern sie nicht eintritt. Okay, los geht's. Dadurch wird das Migrationsskript
generiert. Das Skript wird verwendet, um die Datenbank und die Tabellen
hinzuzufügen. Aber wir haben die Datenbank noch nicht
erstellt. Auch hier verwenden
wir in der Package
Manager-Konsole den Befehl update dash database. Und drücken
wir die Eingabetaste. Dadurch werden nun die
Datenbank und die Tabellen
im SQL Server
Object Explorer hinzugefügt . Lassen Sie mich zum SQL
Server Object Explorer gehen. Da. Aktualisieren wir den Server. Und wenn wir diesen Server erweitern, sehen wir den Ordner
Databases. Wenn wir dies weiter
ausbauen, sehen wir unsere Datenbank
für Kunden-Microservice. Und wenn wir dies noch einmal
erweitern, werden in den Tabellen
die Tabellen für Fahrzeuge
und Kunden angezeigt . Okay, bisher haben wir
eine Datenbank und die Tabellen hinzugefügt. Lassen Sie uns nun in der nächsten Lektion unsere
Arbeit fortsetzen.
24. Erstellen von Schnittstelle für den Kundenservice: In der letzten Lektion haben wir mit den Migrationen
gearbeitet. Und jetzt in dieser Lektion beginnen
wir
mit den Benutzeroberflächen. Was wir also
tun werden, ist
die gleiche Strategie anzuwenden , die wir im
Fahrzeug-Microservice
angewendet haben . Zunächst
fügen wir einen neuen Ordner und nennen ihn interfaces. Dann fügen
wir in diesem Ordner eine neue Oberfläche hinzu. Wir werden diese
Schnittstelle dem Kunden nennen. Ordnung, fügen wir
n hinzu Hier sind wir. In dieser Schnittstelle fügen
wir nun eine
Methode für die DAS hinzu.
Benennen Sie diese Methode, um Kunden hinzuzufügen. Diese Kundenmethode
wird grundsätzlich verwendet , um die Kundeninformationen hinzuzufügen. Und innerhalb dieser Methode übergeben
wir den Parameter
des Typs Kunde. Und für diesen Kunden müssen
wir
den Namespace für den Models-Ordner hinzufügen . In Ordnung, wir
brauchen also nur eine Methode, um den Kunden
hinzuzufügen
, und die wir hinzugefügt haben. Wenn Sie andere
Methoden hinzufügen möchten, z. B. Kunden gewinnen
, Kunden wählen oder Kunden
löschen, können
Sie dieselbe
Strategie anwenden , die wir in
der Fahrzeugschnittstelle
des legalen Microservices verwendet haben . Aber das ist keine echte
Projektanforderung. Wir werden mit
dieser einen Methode fortfahren. In der nächsten Lektion fügen
wir nun die Dienste
dieser Schnittstellenmethode hinzu. Wir sehen uns also in
der nächsten Lektion.
25. Kundenservice erstellen: Zuvor haben wir
mit den Schnittstellen gearbeitet, und jetzt in dieser Lektion werden
wir
mit den Diensten arbeiten. Also holen wir uns einen neuen Ordner
und benennen die IT-Dienste um. Dann fügen
wir in diesem Ordner eine
neue C-Sharp-Klasse hinzu. Dann nennen wir es
Kundenservice. Ordnung, in diesem
Kundenservice schreiben
wir die Implementierung
der Methode, die wir in der
Augen-Kundenschnittstelle
definiert haben . Implementieren wir diese
Kundenservice-Klasse von der II-Kundenschnittstelle aus. Ordnung, es gibt den ganzen
Namespace für diese Schnittstelle. Dann müssen wir die Methode
für diese hohe
Kundenschnittstelle
implementieren . Jetzt müssen wir nur noch
die Logik innerhalb dieser Methode zum Hinzufügen von Kunden hinzufügen. Aber vorher fügen
wir ein Feld vom Typ EPA DB-Kontext,
result, den Namespace hinzu. Dann benennen wir dieses
Feld DB-Kontext. Gleich danach
fügen wir einen Konstruktor hinzu. Und hier erhalten wir
eine neue Instanz des API-DB-Kontextes und weisen
diese dem DB-Kontext zu. Mit diesem DB-Kontext können
wir nun die Eigenschaft DB-Set customers
and vehicles auswählen, die wir in
der APA DB-Kontextklasse definiert haben. Lassen Sie mich Ihnen die Logik erklären, die in diese Methode geschrieben
wird. Angenommen, ein Kunde möchte eine Probefahrt mit
diesem Fahrzeug
buchen. Wenn er also
die Kundendaten
zur Verfügung stellt, wird ein Datensatz für den Kunden mit dieser
Fahrzeug-ID hinzugefügt. Jetzt möchte Kunde B
auch
eine Probefahrt mit
demselben Fahrzeug buchen . In diesem Fall wird also der
Kunden-B-Datensatz hinzugefügt. Aber wie Sie wissen, möchten Kunde a und Kunde B
eine Probefahrt mit demselben Fahrzeug buchen eine Probefahrt und die
Fahrzeug-ID ist offensichtlich dieselbe. Das bedeutet, dass wir
den Primärschlüsselfehler erhalten. Weil das allgemeine
Prinzip der Datenbanktabelle darin besteht, dass der Primärschlüssel eindeutig ist. Was wir also überprüfen werden, der Kunde wird eine
Probefahrt gegen ein Fahrzeug buchen. Dann fragen wir zunächst
aus der Fahrzeugtabelle ab und prüfen, ob das Fahrzeug in der
Datenbank
vorhanden ist oder nicht. Wenn keine Datensätze existieren. Dann fügen wir zuerst ein neues Fahrzeug in
die Fahrzeugtabelle ein. Und gleich danach, wenn das Fahrzeug bereits in der Datenbank
vorhanden ist, setzen wir null für
diese Fahrzeugeigenschaft der Kundenklasse, da die
Daten bereits vorhanden sind. Und jetzt müssen Sie nicht mehr dieselbe Rechtsakte
hinzufügen. Und gleich danach fügen
wir den Kunden
in die Datenbank ein. Okay, fügen wir diesen Code
innerhalb der Methode Add Customer hinzu. Lassen Sie uns zunächst diese Methode asynchron
machen. Verwenden Sie dann das await-Schlüsselwort. Und gleich danach wählen
wir die
DB-Kontext-Punkt-Fahrzeug-DB-Set-Eigenschaft aus, die als erste
oder standardmäßige asynchrone Methode bezeichnet wird. Und darin verwenden wir
den Lambda-Ausdruck und
prüfen, ob die ID
des legalen Stalls mit der Fahrzeug-ID übereinstimmt, die wir von
diesem Kundenobjekt erhalten. Dann speichern wir das
Ergebnis in einer Variablen und nennen es legal in dB. Okay, jetzt prüfen wir, ob
das Fahrzeug in dB Null ist. Dann fügen wir das Gewicht hinzu, das dem DB-Kontext
gegeben wurde dot vehicles dot add async. Und darin lassen Sie uns
an diesem Kunden vorbeikommen. Dann. Wie immer verwenden wir die asynchrone Methode zum Speichern von
Änderungen im DB-Kontext. Und vergiss nicht, das Gewicht hier
hinzuzufügen. Okay? Wenn Delta Equal Racket bereits
in der Datenbank
vorhanden ist, muss
das gleiche Fahrzeug nicht erneut
in der Datenbank hinzugefügt werden. Weil dies zu einer
Verletzung des Primärschlüssels führen wird. Weil der Primärschlüssel für jeden Bucket
eindeutig ist. In diesem Fall wollen
wir also den neuen Fahrzeugrekord nicht hinzufügen. Und wir setzen das
Kundenfahrzeug gleich null. Und gleich danach fügen
wir die Kunden
mithilfe des await-Schlüsselworts
in die Datenbank ein. Dann wählen wir DB
context dot customers, dot, add async und übergeben
diesen Kunden hier. Gleich danach rufen wir
eine asynchrone Methode Save Changes auf. Okay, los geht's. Wir haben
die Service-Schicht abgeschlossen. Wir sehen uns jetzt
in der nächsten Lektion.
26. Erweiterungsmethode und IOC im Kundenservice: Zuvor haben wir die
Kundenservice-Klasse erstellt. In dieser Lektion werden
wir nun mit
einer Abhängigkeitsinjektion innerhalb
des Kernprojekts des Dokuments arbeiten . Wie bereits erwähnt
, wird
ASP.Net Core standardmäßig mit dem
integrierten IOC-Container geliefert. Also müssen wir es einfach benutzen. Lass mich zur Datei
program.cs gehen. Und sie werden den
Builder Dot Service nutzen. Gleich danach
wählen wir die Anzeigen-Scope-Methode aus
, in der wir die
Kundenschnittstelle
und die Kundenservice-Klasse hinzufügen . Jetzt liegt es in
der Verantwortung dieses Anzeigenbereichs
, für den wir eine neue Instanz
der Kundenservice-Klasse erhalten. Okay, also haben wir
die Abhängigkeiten in
der Klasse program.cs registriert . In der nächsten Lektion erstellen
wir jetzt den Controller. Ich verstehe dich also in
der nächsten Lektion.
27. Customers: In der letzten Lektion haben wir mit der Umkehrung von
Kontrollcontainern
gearbeitet und Abhängigkeiten
im IOC-Container erzeugt. In dieser Lektion
fügen wir nun einen Controller hinzu und injizieren das Interface in den Konstruktor
des Controllers. Gehen wir also zum
Controller-Ordner. Ich füge eine
neue Controller-Klasse hinzu. Stellen Sie sicher, dass Sie diese API-Option
ausgewählt haben. Wählen Sie dann einfach diese Vorlage
mit Lese-/Schreibaktionen aus. Diese Vorlage wird
bereits
Code enthalten und wir
müssen dies nur ändern. Dann nenne ich diesen
Controller dem Kunden-Controller. Und fügen wir es hinzu. Sie können sehen, dass dieser
Controller eingebauten Code für GET-,
Post-, PUT- und Löschmethoden enthält eingebauten Code für GET-, . In der Steuerung des Kunden. Wir brauchen nicht all
diese Aktionsmethoden. Wir brauchen nur eine Post-Methode. Lassen Sie uns zunächst den Rest des Codes
im Controller des
Kunden
entfernen . Okay, los geht's. Lassen Sie uns nun ein Feld der
Typ-II-Kundenschnittstelle aufrufen. Hier ist der ganze Namespace. Und geben Sie ihm einen Namen, der den Kundenservice
unterstreicht. Dann
fügen wir einen Konstruktor und fügen die
Kundenschnittstelle in diesen Konstruktor ein. Gleich danach weisen
wir diese Kundenumfragen diesem
unterstrichenen Kundenservice zu. Okay, jetzt gehen wir
zu dieser Post-Methode über. Lassen Sie uns den Typ
dieser Methode zur
Aufgabe machen und hier die asynchrone Methode verwenden. Gleich danach würden wir das await-Schlüsselwort
verwenden. Dann verwenden wir den unterstrichenen Kundenservice und wählen
die Methode zum Hinzufügen von Kunden aus. Diese
Methode zum Hinzufügen von Kunden übernimmt das Objekt der Kundenklasse. Anstatt
die Zeichenfolge hier zu verwenden, fügen
wir das
Kundenklassenobjekt und übergeben diesen Kunden dann hier in der Methode add
customer. Okay, wir haben
die Funktionalität
der Kundenklasse abgeschlossen . Lassen Sie uns nun diese API ausführen und die
Add Casper-Funktionalität testen .
In der nächsten Lektion.
28. Kundenservice ausführen: In der letzten Lektion
haben wir mit einer
Controller-Klasse gearbeitet. Und jetzt in dieser Lektion führen
wir unsere Projekte durch
und testen den
Microservice des Kunden. Wenn Sie
sowohl Kunden
- als auch Fahrzeug-Microservice ausführen möchten , klicken Sie mit der rechten Maustaste
auf die Lösung. Klicken Sie dann auf Als Datenprojekte festlegen. Derzeit ist ein
Einzelstartprojekt ausgewählt. Wir werden also mehrere
Startprojekte auswählen und dann
die Startoption für
dieses Kunden- und
Rechtsprojekt auswählen die Startoption für und auf Okay klicken Gleich danach lassen Sie uns die Projekte
ausführen. Und dieses Mal werden wir in Studio
zwei Projekte bauen, eines für Kunden und das
zweite für Fahrzeuge. Okay, gehen wir
zum Fahrzeugprojekt und führen eine Get-Anfrage aus. Und hier bekommen wir
die Liste der Labels. Angenommen, der Kunde
möchte
eine Probefahrt mit
diesem Fahrzeug buchen . Offensichtlich wird der
Kunde
eine gut aussehende
Benutzeroberfläche haben . Zu diesem Zweck. Möglicherweise haben Sie eine mobile
Anwendung oder Webanwendung für die
Buchung des Desk-Laufwerks. Aber im Moment hatten wir keine
Microservice-Entwicklung. Also müssen wir die
Fahrzeug-ID manuell weitergeben. Bei einer Webanwendung
oder einer mobilen Anwendung erfolgt
dies hinter
der Benutzeroberfläche. Und der Benutzer,
der die mobile Anwendung verwendet wird keine Ahnung haben, was im Backend vor sich
geht. Sie sehen nur die
Benutzeroberfläche. Wir gehen also davon aus, dass
der Kunde eine Probefahrt für
dieses bestimmte Fahrzeug
buchen möchte . Also wechseln wir zum Microservice des
Kunden. Und da, Lass uns
zu dieser Post-Anfrage gehen. Und gleich danach
fügen wir die Daten eines Kunden hinzu. Dann müssen wir die
Fahrzeug-ID und den legalen Namen hier weitergeben. Dann schauen wir uns die
Post-Anfrage an und los geht's. Prüfen Sie nun, ob dieser
Datensatz hinzugefügt wurde oder nicht. Wir wechseln also
zum SQL Server Object Explorer und aktualisieren ihn. Öffnen Sie die Datenbank für den Microservice des
Kunden. Und hier, wenn ich will, öffne die Kundentabelle und du wirst sehen, dass der
Datensatz hinzugefügt wurde. In ähnlicher Weise öffnen wir
die Fahrzeugtabelle und der Datensatz ist
hier vorhanden. Jetzt schauen wir mal. Ein anderer Benutzer möchte sich Desktop für dasselbe Fahrzeug ansehen. Im Microservice des Kunden werden die Details
eines anderen Benutzers hinzugefügt. Und weil er auch einen Desktop für dieses Fahrzeug
buchen möchte , werden wir
diese Label-ID nicht ändern. Okay, lass uns eine Anfrage senden. Und los geht's. jetzt in der Tabelle Kunden Wenn wir es jetzt in der Tabelle Kunden aktualisieren, haben
wir zwei Kunden. Und wenn wir
die Fahrzeugtabelle auffrischen, dann haben wir hier nur
ein Fahrzeug, weil Kunden
eine Probefahrt für
dasselbe Fahrzeug buchen möchten. Und deshalb haben wir nur ein Vesikel in der Datenbank. Okay, ich hoffe, Sie
haben eine Vorstellung davon, was tatsächlich im Microservice des
Kunden passiert. Das ist alles aus dieser Lektion. Wir sehen uns jetzt
im nächsten Abschnitt.
29. Azure Service Bus Übersicht: In diesem Abschnitt werden wir mit dem Azure Service Bus
arbeiten. Lassen Sie mich Ihnen sagen, was
ist Azure Service Bus? Azure Service Bus ist im Grunde ein
Cloud-Messaging-Dienst und ein vollständig verwalteter unternehmensweiter
Nachrichtenbroker mit Nachrichtenwarteschlangen und Themen zum
Veröffentlichen von Abonnements. Im Grunde wird es verwendet, um alle
in der Cloud laufenden
Anwendungen, Geräte
und Dienste mit anderen Anwendungen
oder Diensten
zu
verbinden in der Cloud laufenden
Anwendungen, Geräte
und Dienste . Mit Hilfe des Azure
Messaging-Dienstes können
wir Daten zwischen
zwei oder mehr als zwei Diensten austauschen . Zuvor haben wir den Microservice des
Kunden erstellt, und ich möchte Ihnen sagen, dass Männer die
Kundendaten hinzufügen werden. Dann senden wir auch eine Kopie der Daten an den
Azure-Messaging-Dienst. Und dann bekommen wir den
Reservierungs-Microservice. Dann holen wir uns diese Daten
aus dem Azure Bus. Kreuzen Sie Azure Burst als
Warteschlange an, in der ein Center
, in unserem Fall der Microservice des
Kunden, eine Nachricht an die
Azure-Messaging-Warteschlange
sendet. Und später erhält der Empfänger
, der der
Reservierungsservice sein
wird, diese Nachricht
aus der Azure-Warteschlange. In diesem Abschnitt arbeiten
wir also mit dem zentralen Teil des Azure-Messaging-Busses. Und später, wenn wir das
als Vision-Mikroservice verwenden, dann arbeiten wir oder den Empfängerteil
des Azure Service Bus. Okay, also fangen wir ab
der nächsten Lektion an, am Azure Bus
zu arbeiten .
30. Setting einrichten: In dieser Lektion müssen wir die Azure
Service Bus-Warteschlangen
erstellen. Gehen wir also zum Azure-Portal und wählen die Option „Ressource
erstellen“ aus. Okay, dann in der
Suchleiste Research Service Bus. Und wähle einfach das aus. Sie sehen die Details
des Servicebusses wie einen Sack-Cloud-basierten
Messaging-Dienst
, der Hinweise und Themen enthält. In diesem Kurs
arbeiten wir mit den Warteschlangen. Erstellen wir den Service Bus. Zuallererst müssen wir die Ressourcengruppe
auswählen. Stellen Sie sich diese
Ressourcengruppe als einen Ordner ,
in den wir
mehrere Dinge hinzufügen können. Lassen Sie uns eine neue
Ressourcengruppe
bei Gibson erstellen benutzerfreundlicher Name. Okay, dann
fügen wir den Namespace hinzu. Nun, ein Namespace ist eigentlich die URL Ihres Service Bus. Stellen Sie sicher, dass dies eindeutig ist. Dann müssen wir den Ort
auswählen , an dem wir
den Service Bus bekommen möchten. Wählen Sie einfach einen beliebigen Standort, RG oder Standort in der Nähe. Dann haben wir die Möglichkeit
, mit
einigen Pflanzen wie Basic,
Standard und Premium Preise zu erzielen. In diesem Kurs werden wir den Basisplan
verwenden. Wenn Sie auf
Vollständige Preisdetails anzeigen
klicken, sehen Sie
alle Pläne mit ihren Preisen und
Funktionen. Der Basisplan ist ziemlich günstiger. Wir werden uns also dafür entscheiden, weil wir nicht
mit den Themen arbeiten. Dieser Basisplan ist also
perfekt für diesen Kurs. Klicken wir auf die Option Überprüfen
plus Erstellen. Und das wird eine
gewisse Validierungsprüfung durchführen. Sobald die Validierung
erfolgreich war
, wählen wir diese Option aus. Bereitstellung beginnt. Die Bereitstellung ist im Gange. Also müssen wir hier warten. Wir werden eine Nachricht sehen, wir sehen, dass
die Bereitstellung abgeschlossen ist. Gehen wir nun zur Option
Ressource. Wir müssen die Warteschlange erstellen. Hier. Wir wählen
diese Kid Q-Option. Und dann wurden wir
gebeten, unseren Würfel zu benennen. Lassen Sie uns unserer Warteschlange
einen benutzerfreundlichen Namen geben. Dann gehen wir zu den
Standardeinstellungen. Hier muss ich Ihnen sagen, dass diese Nachrichtenzeit 14 Tage beträgt. Das heißt, wenn die Nachricht
nicht aus der Warteschlange abgerufen
wird, wird
die Nachricht nach 14 Tagen aus der Warteschlange
entfernt. Sie können die Zeit verlängern oder
verkürzen. Aber ich gehe zu den
Standardeinstellungen. Holen wir uns das Q. Und R Q wird
gerade erstellt. Bald werden wir eine
Nachricht sehen, die besagt, dass Ihr Q erfolgreich erstellt wurde. In der nächsten Lektion werden
wir diese
Daten jetzt an diesen Würfel senden. Wir sehen uns in der nächsten Lektion.
31. Azure Sender Service: In der letzten Lektion haben wir die Azure
Service Bus-Warteschlange
erstellt. Und jetzt in dieser Lektion werden
wir diese Daten vom Weihnachts-Microservice an
die Azure Service Bus-Warteschlange senden Weihnachts-Microservice an
die Azure Service . Also lass uns zuerst ins Studio
gehen. Und sie klicken mit der rechten Maustaste auf das
Microservice-Projekt des Kunden. Wählen Sie NuGet-Pakete verwalten aus. Und gleich danach können wir dieses NuGet-Paket
für Azure Service Bus. Der Name dieses Pakets ist Azure dot messaging,
dot service plus. In Ordnung, wir werden dieses NuGet-Paket
installieren. Und los geht's. Sobald die Installation abgeschlossen ist
, gehen wir zum
Projekt-Link dieses Pakets. Und hier sehen Sie die Anleitung
Erste Schritte zur Verwendung dieses Pakets.
Scrolle einfach nach unten. Und hier haben wir einen
Beispielcode, der uns sagt, wie eine Nachricht an
den Azure Service Bus senden können. Zunächst ziehen wir die
Verbindungszeichenfolge für unseren Azure Service Bus ab. Dann benötigen Sie einen Warteschlangennamen , an den wir eine Nachricht senden möchten. Gleich danach
erstellen wir eine Servicebuslinie, die eine Referenz
auf die Verbindungszeichenfolge annimmt. Dann bekommen wir ein Center, dem wir einen
Verweis auf die Warteschlange bekommen. Dann erhalten wir eine
Service Bus-Nachricht mit einer Nachricht
, die wir senden möchten. Und schließlich
sendet die AC-Methode für gesendete Nachrichten eine Nachricht an
den Azure Service Bus. In ähnlicher Weise verwenden wir diesen Code,
wenn wir die Nachricht erhalten möchten . Im Moment konzentrieren wir uns jedoch darauf , eine Nachricht an
den Azure Service Bus zu senden. Deshalb werden wir uns
später auf diesen Code konzentrieren , wenn wer am
Reservierungs-Microservice gearbeitet hat. Dann werden wir auch über diesen empfangenen Nachrichtencode
für Azure Service Bus sprechen. Okay, also gehen wir
ins Videostudio. Und ich
füge den Code zum Senden von Daten an
Azure Service Bus hinzu. Lass mich zum
Kundenservice gehen. Und innerhalb dieser Methode zum Hinzufügen von
Kunden können
wir den
Code zum Senden von
Daten an Azure Service Bus schreiben . Wir gehen also zur
GitHub-Dokumentationsseite von Azure Service Bus. Und sie werden diesen Code sehen, einfach diesen
Teil dieses Codes kopiert. Und dann fügen
wir in der
Kundenservice-Klasse diesen Code ein. Jetzt müssen wir
diesen Code ein wenig modifizieren. Zuallererst müssen wir die Namespaces
auflösen. Dann müssen wir die
Verbindungszeichenfolge
und den Warteschlangennamen übergeben . Um die
Verbindungszeichenfolge zu erhalten wird zum Azure-Portal gewechselt. Und dann gehen wir
zum Azure Service Bus. Öffnet den Service Bus. Und gleich
danach werden wir die Richtlinien für
den gemeinsamen Zugriff sehen . Klicken Sie einfach darauf
und dann sehen wir dieser gemeinsame Road
Manager-Zugangsschlüssel dies auswählt. Dann sehen wir eine primäre
Verbindungszeichenfolge. Wir werden
diese Verbindungszeichenfolge kopieren. Und gleich danach schalten
wir es auf. Wir werden Studio Space
trennen dieses Ding hier. Okay, was ist jetzt mit
dem Namen der Warteschlange? Wir werden wieder
zum Azure-Portal wechseln. Und auf der rechten Seite sehen
wir diese Hinweise.
Wählen Sie einfach das aus. Und hier sehen wir
unseren Warteschlangennamen. Übergibt diesen Warteschlangennamen innerhalb einer Kundenservice-Klasse. In Ordnung, los geht's. Lassen Sie mich Ihnen nun sagen
, dass dieser Code
perfekt ist , um die Daten an den Azure Service Bus
zu senden. Das Problem hier
ist jedoch, dass dieser Code nur eine Zeichenfolgennachricht
an den Azure Service Bus sendet. Aber wir wollen
das Kundenobjekt senden. Was wir also tun werden, ist zuerst das
Kundenobjekt auf JSON zu satelliten. Und dann senden wir
das Kundenobjekt. Also verwenden wir anständiges convert dot zivilisiertes Objekt und 40s Jason convert, um das
neutrale Soft-NuGet-Paket zu verwenden. Und der Namespace. Dann passiert
das
industrialisierte Objekt dieses Kundenobjekt. Und dieses Objekt wird
dieses Weihnachtsobjekt
in eine JSON-Zeichenfolge konvertieren . Lassen Sie uns
insgesamt eine Variable ergeben. Und dann haben wir Objekt als Text gemacht. Dann übergibt die Service Bus-Nachricht dieses Objekt als Text. Okay, jetzt lass uns das Projekt
starten. Nehmen wir an, der
Kunde möchte
die Fahrzeug-Tischfahrt
anhand dieser Fahrzeug-ID buchen . Also werden wir hier die
notwendigen Details weitergeben. Und dann senden wir die
Post-Anfrage. Okay, los geht's. Wenn wir jetzt zur
SQL-Datenbank gehen, sehen wir, dass dieser
Kundendatensatz hinzugefügt wurde. Dann gehen wir zum
Azure-Portal. Im Azure-Dienst. Gehen wir zu den Cues und
wählen unsere Warteschlange aus. Und gleich danach werden
wir diese
Vorschauoption für den
Service Bus Explorer sehen . Deaktivieren Sie diese Option. Wir werden diese große Option anpassen. Hier sehen wir die Details im JSON-Format, die wir vom
CRISPR-Micro-Service
senden. In Ordnung, wir haben die
Daten in der Azure Bus-Warteschlange bearbeitet. Wenn wir jetzt
mit dem
Reservierungs-Microservice arbeiten , werden diese Daten aus der
Azure Bus-Warteschlange verwendet. Das ist also alles aus dieser Lektion. Wir sehen uns jetzt
im nächsten Abschnitt.
32. Reservierungen Service Übersicht: In diesem Abschnitt werden
wir
den Microservice
soweit bringen , als Iterationen. Lassen Sie mich Ihnen den grundlegenden Ablauf
dieses
Reservierungs-Microservices beibringen . Dieser
Reservierungs-Microservice basiert auf zwei Methoden. Und dies sind Reservierungen erhalten
und Aktualisierungsstatus. Wenn der Kunde eine
Testfahrt mit einem Fahrzeug bucht, wird eine Kopie dieser Daten in
die
Azure Service Bus-Warteschlange verschoben. Und jetzt
wird im
Reservierungsservice die Methode
Reservierungen abrufen aufgerufen. Und innerhalb dieser Methode zum Abrufen von
Reservierungen rufen wir
zunächst die Daten
aus der Azure
Service Bus-Warteschlange ab. Dann speichern wir die Daten
in der Datenbank. Und gleich danach wird die Liste
der Reservierungen
angezeigt. Die andere Methode
ist die Aktualisierung des männlichen Status, die verwendet wird, um
eine Bestätigungs-E-Mail an die Kunden
zu senden . Wir
werden die Dinge untersuchen, während wir in diesem Kurs
vorankommen. Okay, also fangen wir in der nächsten Lektion an
, diesen
Mikrodienst für Zulassungen zu schreiben .
33. Erstellen von Modellen für den Reservierungsservice: In dieser Lektion
werden wir anfangen,
den
Reservierungs-Microservice zu erhalten den
Reservierungs-Microservice dieses
Reservierungs-Microservice-Projekt
öffnet. Zuallererst fügen
wir eine modale Klasse hinzu. Zu diesem Zweck erstellen
wir einen neuen Ordner
und nennen ihn models. In diesem Ordner benötigen wir
eine Klasse, die die Daten enthält , die wir
aus der Azure
Service Bus-Warteschlange bekämpfen möchten . In der Azure
Service Bus-Warteschlange werden
Sie sehen, dass wir
folgende JSON-Daten haben. Kopieren wir diese JSON-Daten. Und dann gehen wir ins
Fitnessstudio zur C-Sharp-Website. Und sie fügen nur diese DSM
ein, die CTL-Eigenschaften entwickelt hat. Okay, los geht's. Wir haben zwei Klassen als Glas. In der Root-Klasse. Lassen Sie uns diese
Brille innerhalb
des
Reservierungs-Microservice-Projekts erstellen . Darin werden wir im Studio sein. Wir werden
eine neue C-Sharp-Klasse erstellen. Und dann haben wir
diese Klasse legal benannt. Gleich danach
kopieren wir die Eigenschaften
dieser Fahrzeugklasse und
fügen sie in dieses Glas ein. Jetzt kriegen wir einen weiteren Kurs. Nun, die Jason to CTL-Website hat diese Klasse
benannt, um sie zu leiten, aber wir möchten dieser Klasse einen
anderen Namen geben. Nehmen wir an, wir möchten diese Klasse der
Reservierungsdatenklasse
nennen , vertrauliche Reservierungen. Okay, jetzt kopieren wir diese Eigenschaften und fügen sie in das Reservierungsglas ein. nun innerhalb der
Reservierungsklasse eine weitere Eigenschaft hinzu, Fügen
wir nun innerhalb der
Reservierungsklasse eine weitere Eigenschaft hinzu,
die uns mitteilt, ob die Bestätigungs-E-Mail an den Kunden
gesendet wurde oder nicht. Also fügen wir eine Eigenschaft des Dipols hinzu und nennen
es als männlichen Duft. In dieser speziellen Klasse können
wir diese
ID dann nicht als Primärschlüssel da wir diese
ID aus der Azure
Service Bus-Warteschlange erhalten . Und was ist, wenn zwei Kunden dasselbe Fahrzeug
buchen würden? Das bedeutet, dass die Daten, die
abgerufen werden , im
folgenden Format vorliegen. Bei zwei verschiedenen Kunden die Fahrzeugtestfahrt für ist
die Fahrzeugtestfahrt für
uns dasselbe Fahrzeug und die
Fahrzeug-ID offensichtlich identisch. Und wenn Sie versuchen,
dieselbe Fahrzeug-ID zweimal zu speichern, erhalten wir eine
Fehlermeldung des Primärschlüssels, da der Primärschlüssel eindeutig sein
muss. Wir fügen also eine weitere Eigenschaft in der Fahrzeugklasse hinzu und nennen sie V. Lassen Sie uns diese Eigenschaft
als Primärschlüssel festlegen, indem wir
das key-Attribut hinzufügen und dann den Namespace auflösen.
Okay, los geht's. Wir haben
die Modellklassen erstellt. Lassen Sie uns nun in der nächsten Lektion unsere
Arbeit fortsetzen.
34. DbContext Für Reservierungsperiode: In der letzten Lektion haben
wir
die Modellklasse für
Reservierung und Fahrzeug erstellt . Und jetzt in dieser Lektion werden
wir
die DB-Kontext-Klasse erstellen. Ich habe Ihnen bereits gesagt
, dass der DB-Kontext
als Brücke zwischen Ihrer
Modellklasse und Ihrer Datenbank fungiert . Wir werden also eine Zeit sehen und einen Ordner
erstellen, ihm Daten nennen. Dann in diesem
Datenordner innerhalb der Klasse. Anstatt also eine neue Klasse zu
erstellen, kopieren
wir die
APA DB-Kontextklasse aus dem Waco-Microservice und fügen sie
dann in
den Datenordner des
Reservierungs-Micro-Service-Projekts ein. Jetzt müssen wir
die Namespaces hier korrigieren, da wir uns jetzt in den
Reservierungs-Microservice-Projekten befinden. Wir werden also den Namespace
für das Reservierungsprojekt hinzufügen. Dann müssen wir die Eigenschaften
festlegen. Einer ist für radikal und der
andere ist für Vorbehalt. Wir werden also
eine neue Eigenschaft
vom Typ Reservierung hinzufügen und sie
als reservierungen bezeichnen. Okay, jetzt geben wir
die Verbindungszeichenfolge diese DB-Kontext-Klasse
an. Wir haben unsere Verbindungszeichenfolge
in dieser bei der
Konfigurationsmethode definiert . Dieses Mal arbeiten wir mit unserem
Reservierungs-Microservice-Projekt. Also benennen wir unsere Datenbank
zur Reservierungs-API db. Ok, jetzt in der nächsten Lektion werden
wir die Migrationen hinzufügen, um die Datenbank
innerhalb von SQL Server
hinzuzufügen. Wir sehen uns also in
der nächsten Lektion.
35. Migrationen Im Reservierungsservice: In der letzten Lektion haben
wir
die
Verbindungszeichenfolge eingerichtet und auch diese
DB-Kontextklasse erstellt. Um eine Datenbank zu
erstellen, müssen
wir ihnen nun Migrationen hinzufügen. Um die Migrationen zu ermöglichen, stellen Sie sicher, dass Sie das NuGet-Paket
in Ihrem
Reservierungs-Microservice-Projekt
installiert haben . Dann gehen wir zur
Package Manager-Konsole. Und wir werden die Migrationen
hinzufügen. Aber bevor Sie
die Migrationen hinzufügen, wählen Sie
einfach das Projekt aus, in dem
wir die Migrationen hinzufügen möchten. Dieses Mal möchten wir
das Microservice-Projekt Migrationen in Zweifel
ziehen. Stellen Sie also sicher, dass
das Innovationsprojekt ausgewählt ist. Dann wird in der Package
Manager-Konsole auch das
Reservierungs-Microservice-Projekt ausgewählt. Fügen wir nun einen Befehl hinzu
, der sich bei der Migration befindet. Geben Sie dann einen benutzerfreundlichen
Namen für die Migration an. Ich nenne es initial,
create, ls, drücke Enter. Dadurch wird
das Migrationsskript generiert. Dieses Skript wird verwendet, um die Datenbank und die Tabellen
hinzuzufügen, aber wir haben die Datenbank noch nicht
erstellt. Also wechseln wir wieder zur Package
Manager-Konsole. Hier. Ich werde einen
Befehl hinzufügen, der die
Dash-Datenbank aktualisiert, sofern er nicht eingegeben wird . Dadurch werden
die Datenbank und die
Tabellen im SQL
Server Object Explorer generiert . Gehen wir also
zum SQL Server Object Explorer und wirken uns dann weniger auf den Server aus. Okay, wenn wir diesen Server erweitern, sehen wir den Ordner
Databases. Wenn wir die Datenbanken erweitern, sehen wir unsere Datenbank für Reservierungen Microservice. Und wenn wir dies noch einmal
erweitern, werden in den Tabellen die Tabellen
für Fahrzeuge und Reservierungen angezeigt . Okay, bisher haben wir
die Datenbank und die Tabellen hinzugefügt. Nun setzen wir unsere
Arbeit in der nächsten Lektion fort.
36. Schnittstelle Für Reservierungspflicht erstellen: Zuvor haben wir
mit den Migrationen gearbeitet, und jetzt in dieser Lektion beginnen
wir unsere
Arbeit mit unseren Schnittstellen. Was wir also tun können, ist
die gleiche Strategie anzuwenden , die wir im legalen Mikrodienst
angewendet haben . Fügen wir einen Ordner hinzu und
nennen ihn interfaces. Dann fügen
wir in diesem Ordner eine neue Oberfläche hinzu. Und dieses Mal
werden wir
diese Schnittstelle zur Reservierung benennen . Okay, fügen wir es hinzu. Und los geht's.
In dieser Schnittstelle fügen
wir nun eine Methode von Die hinzu, das Liste der Reservierung. Dann gibt es
den ganzen Namespace-Namen. Diese Methode, um Reservierungen zu erhalten. Diese Methode zum Abrufen von Reservierungen wird grundsätzlich verwendet, um
die Liste der Reservierungen abzurufen, die
aus der Azure
Service Bus-Warteschlange abgerufen werden . Sobald wir
die Reservierungen erhalten
haben, senden wir eine
Bestätigungs-E-Mail an die Kunden, die
das Fahrzeug für eine Probefahrt buchen. Also werden wir eine weitere
Methode vom Typ task hinzufügen. Und dann werden wir diese
Methode benennen, um den männlichen Status zu aktualisieren. Und diese Methode
nimmt die Reservierungs-ID, übergibt hier
die ID vom Integer-Typ. Okay, wir haben
diese beiden Methoden hinzugefügt. Eine zum Abrufen der
Fernsehliste und die andere dient zum Senden einer
Bestätigungs-E-Mail an die Kunden. In der nächsten Lektion fügen
wir nun die Dienste aus
den Schnittstellenmethoden hinzu. Okay, wir sehen uns
in der nächsten Lektion.
37. Reservierungen Service erstellen: Wir haben mit
den Schnittstellen gearbeitet und jetzt
werden wir in dieser Lektion mit den Diensten arbeiten. Also
erstellen wir einen neuen Ordner und nennen ihn services. Dann fügen
wir innerhalb des Ordners eine
neue C-Sharp-Klasse hinzu. Zu dieser Zeit nennen wir es
hat Höhenservice. Okay, jetzt in der Klasse die die Implementierung von
Methoden schreibt , die wir in der
Reservierungsschnittstelle
definiert haben . Implementieren wir also
diese Ausstellungsklasse
über Reservierungsschnittstelle. Dann ergibt sich ein Namespace
für diese Schnittstelle. Und gleich danach müssen
wir
die Methoden dafür entweder
als visuelle Schnittstelle implementieren . Okay, wir müssen nur die Logik darin
hinzufügen, Reservierungen
einholen und
männliche Status-Methoden aktualisieren. Aber vorher holen
wir uns ein Feld vom Typ API DB-Kontext, den
gesamten Namespace. Dann benennen wir dieses
Feld DB-Kontext. Dann
fügen wir einen Konstruktor hinzu. Und hier erstellen wir
eine neue Instanz des API-DB-Kontextes und weisen
diese diesem DB-Kontext zu. Mit diesem DB-Kontext können
wir nun die
DB-Set-Reservierungen
und die Fahrzeugeigenschaft auswählen ,
die wir in der APA
DB-Kontextklasse
definiert haben . Lassen Sie mich Ihnen die
Logik erklären, die in die Methode zum Abrufen von
Reservierungen
geschrieben wird . Wie Sie wissen, haben wir eine
Azure Service Bus-Warteschlange,
in die wir Daten im
Microservice
des Kunden gesendet haben und jetzt
im Reservierungs-Microservice diese Daten aus der
Azure Service Bus-Warteschlange
repariert. Dann speichern wir diese Daten in der MS SQL
Server-Datenbank. Und gleich danach
werden die Daten zurückgegeben. Daher holen wir die Daten
später in diesem Kurs aus der Azure Service Bus-Warteschlange ab. Deshalb füge ich
hier einen Kommentar hinzu, dass wir
den Azure Service
Bus-Empfängercode später hinzufügen werden . Dann geben wir diese DB
ctx dot reservierungen zurück ,
da2 list async. Vergessen Sie nicht, die async
await hinzuzufügen und stellen Sie sicher, dass Sie die Namespaces
auflösen. Wir haben diesen Schritt verlassen
, in dem
die Daten aus der Azure
Service Bus-Warteschlange abgerufen werden . Aber keine Sorge,
wir werden weitermachen, dann werden wir die
Funktionsstörung beenden. Gehen wir zur zweiten Methode über, nämlich dem Aktualisierungsstatus. Diese Aktualisierung des Mahlzeitstatus fügt eine Logik hinzu, um eine
Bestätigungs-E-Mail an den Kunden zu senden. Nehmen wir an, wir haben die
folgenden Daten in Reservierungstabelle
für wenige Kunden. Jetzt möchten wir diesem Kunden
eine
Bestätigungs-E-Mail senden . Daher werden wir diese Methode für den
männlichen Status verwenden. Wir werden die Reservierungs-ID weitergeben. Dann prüfen wir, ob
der Datensatz in
der Reservierungstabelle für
diese Reservierungs-ID vorhanden ist oder nicht. Wenn der Datensatz nicht null ist und diese männliche
Dufteigenschaft falsch ist, senden wir eine
E-Mail an den Kunden. Und gleich danach
setzen wir die
Eigenschaft mail sent auf true und speichern
einfach die Änderungen. Fügen wir diesen Code also in
diese Aktualisierungsstatus-Methode ein. Zuerst fügen wir diese
DB-Kontext-Punktreservierung dot find async hinzu
und übergeben diese ID. Dann verwenden wir async await. Gleich danach
speichern wir das Ergebnis in einer Variablen und
benennen es einfach als Ergebnis. Jetzt prüfen wir, ob das
Reservierungsergebnis nicht null ist. Und das ist männlich zentrierte
Eigenschaft ist falsch, dann fügen wir die Logik hinzu, um diese E-Mail an den Kunden
zu
senden. Für das Versenden von E-Mails initialisieren
wir also den SMTP-Client. Dann lösen Sie den Namespace auf. In diesem SMTP-Client. Zuerst legen wir die
Portnummer 2587 fest. Dann fügen wir Anmeldeinformationen für eine
Eigenschaft und initialisieren eine neue Instanz
von Netzwerkanmeldeinformationen. Dann werden darin
die E-Mail und das Passwort weitergegeben. Für dieses Tutorial. Ich
empfehle Ihnen, zu Testzwecken eine
zusätzliche E-Mail zu schreiben. Dann verwenden wir das enable
SSL und setzen es auf true. Sobald wir diesen
Teil des Codes hinzugefügt
haben, verwenden wir diesen SMTP-Client
und rufen die send-Methode auf. Und die Abstiegsmethode
nimmt vier Dinge von zwei, Thema und Polnisch. Der erste Parameter
, der von stammt, übergeben
wir unsere E-Mail-Adresse. Und im zweiten Parameter
, der an den Empfänger gerichtet ist, müssen
wir die E-Mail übergeben. Dieser Kunde
möchte diese E-Mail wirklich senden. Und wir holen das aus
der Datenbank, indem wir
die Reservierung selbst verwenden ,
Dodd E-Mail-Eigenschaft. Dann im Betreff Lassen Sie uns eine Nachricht weitergeben. Und auch im Körper, füge
einfach etwas Text hinzu. Ordnung, dieser Code sendet eine Bestätigungs-E-Mail
an den Kunden. Sobald wir die
E-Mail an den Kunden gesendet haben, müssen wir diese Eigenschaft für
männliche Düfte auf true setzen. Und gleich danach rufen
wir die asynchrone Methode Save
Changes auf. Okay, das ist alles
aus dieser Lektion. Wir sehen uns jetzt
im nächsten.
38. Erweiterungsmethode und IOC im Reservierungsservice: Zuvor haben wir die
Reservierungsservice-Klasse erstellt. In dieser Lektion werden
wir nun mit der Abhängigkeitsinjektion
innerhalb
des
Kernprojekts der Doktrin arbeiten Abhängigkeitsinjektion
innerhalb
des . Wie bereits erwähnt, dieser bite fork.net-Kern mit einem eingebauten
IOC-Container
geliefert. In dieser Lektion werden
wir es also verwenden. Lass mich zur Klasse
program.cs gehen. Und hier verwenden wir den
Builder-Dot-Service. Und gleich danach
wählen wir die Anzeigen-Scope-Methode ,
in der wir die
Ideen-Innovationsschnittstelle
und die
Reservierungsservice-Klasse hinzufügen . Nun ist es diese Möglichkeit
dieses Add Scoped, wodurch wir eine neue Instanz
der
Reservierungsservice-Klasse erhalten . Okay, also haben wir
die Abhängigkeiten in
der Klasse program.cs registriert . Und jetzt in der nächsten Lektion erstellen
wir den Controller. Okay, ich sehe dich
in der nächsten Lektion.
39. Reservations: In der letzten Lektion haben wir mit der Umkehrung des
Kontrollcontainers
gearbeitet und müssen
die Abhängigkeiten
im IOC-Container lösen . In dieser Lektion fügen
wir nun einen
Controller hinzu und injizieren das Interface in den
Konstruktor des Controllers. Gehen wir also zum
Controller-Ordner und ich füge eine
neue Controller-Klasse hinzu. Stellen Sie sicher, dass Sie diese API-Option
ausgewählt haben. Wählen Sie dann einfach diese Vorlage
mit Lese-/Schreibaktionen aus. Nennen wir diesen Controller nun dem Reservierungs-Controller. Sie können sehen, dass dieser Controller eingebauten
Code für GET-,
Post-, PUT- und Löschmethoden
enthält . Im Reservierungs-Controller. Wir brauchen nicht all
diese Aktionsmethoden. Wir brauchen nur zwei Methoden. Eine, um Daten aus
dieser Vision-Liste zu bekommen. Und die zweite wird verwendet, um die E-Mail an den Kunden zu
senden. die E-Mail an den Kunden
zu senden, können
wir die put-Methode verwenden. Wir werden also andere Methoden
außer dem Port
und der GetMethod entfernen . Lassen Sie uns nun
ein Feld vom Typ erstellen, entweder die Erlösungsschnittstelle ist der
gesamte Namespace und
geben Sie ihm einen Namen, der Unterstreichungsreservierungsdienst
ist. Dann fügen wir einen
Konstruktor hinzu und injizieren die Reservierungsschnittstelle
in den Konstruktor. Unmittelbar danach weisen wir diesen Reservierungsservice
diesem unterstrichenen
Reservierungsservice zu . Okay, jetzt gehen wir
zu dieser GetMethod. Lassen Sie uns zunächst den
Rückgabetyp dieser Methode
in Unzählige
Konservierung ändern . Dann benutze das asynchrone hier. Und gleich danach
werden wir den Warte-Operator verwenden. Dann verwenden wir den Underscores Envision Service und wählen
die Methode Reservierungen abrufen. Okay, gleich danach
werden wir das Ergebnis in einer
Variablen speichern und
es als Reservierungen bezeichnen. Und zum Schluss geben Sie
die Reservierungen zurück. Dann gehen wir zur Put-Methode über. Hier. Wir wollen das Objekt nicht
übergeben, da dieser mittlere Update-Status
nur einen ID-Parameter annimmt. Also entfernen wir den anderen
Parameter aus dieser Methode. Dann verwandeln wir den Typ
dieser Methode in task. Und gleich danach
wählen wir den Underscore
Reservierungsservice. Wählen Sie dann die Methode Update
Middle Status und übergeben Sie diese ID hier. Vergessen Sie nicht, await async hinzuzufügen. In Ordnung, wir haben
die Funktionalität
der Controller-Klasse abgeschlossen . Im nächsten Abschnitt werden
wir nun die Daten aus der
Azure Service Bus-Warteschlange korrigieren und dann
die Zulassungsmethode der
Reservierungsservice-Klasse abschließen . Okay, wir sehen uns
im nächsten Abschnitt.
40. Azure Service Bus Receiver Übersicht: In diesem Abschnitt werden wir mit dem Azure Service Bus
arbeiten. Später in diesem Kurs
haben wir die Daten an
die Azure Service Bus-Warteschlange gesendet , als wir mit dem Microservice unserer
Kunden zusammengearbeitet haben. In diesem Abschnitt rufen
wir nun ab, dass Daten aus der Azure Service
Bus-Warteschlange auf dieses
Reservierungsprojekt abzielen. Und darin werde ich das NuGet-Paket
installieren. Wie immer klicken wir mit der rechten Maustaste
auf das Reservierungsprojekt und gehen dann zu
NuGet-Pakete verwalten. Und hier suche ich
diese neue Abstimmung für Azure
Messaging Service Bus. Okay, lass uns dieses Paket
installieren. Und los geht's. Die Lösung
wurde abgeschlossen. Und jetzt werden
wir in der nächsten Lektion den Code schreiben, um die Daten aus
der Azure
Service Bus-Warteschlange abzurufen . Wir sehen uns also in
der nächsten Lektion.
41. Azure Consumer Service: In dieser Lektion müssen wir
die Daten aus der Azure
Service Bus-Warteschlange abrufen . In der letzten Lektion haben
wir
dieses NuGet-Paket für den
Azure-Messaging-Dienstbus installiert . Wenn Sie nun zu diesem
Projektlink des Pakets gehen, sehen wir den Beispielcode die Verwendung dieses Pakets. Scrolle nach unten. Und das ist der
Code, über den ich gesprochen habe. Wir haben diesen
Code bereits früher im
Microservice
des Kunden verwendet , um
die Daten an den
Azure Service Bus zu senden . Und jetzt verwenden wir
diesen Code, um
die Daten aus dem
Azure Service Bus abzurufen . Es gibt nur einen geringen
Unterschied zwischen
dem Sender- und
Empfängercode. Zuvor haben wir
diesen Code verwendet, um
die Daten an die Azure
Service Bus-Warteschlange zu senden . Lassen Sie mich Ihnen nun sagen
, dass wir
diese Codezeilen weiterhin
für die Verbindungszeichenfolge, den
Warteschlangennamen und den
Service Bus-Client verwenden diese Codezeilen weiterhin
für die Verbindungszeichenfolge, werden. Aber anstatt
den Absendercode zu verwenden, verwenden wir
diesmal
den Empfängercode. Wir gehen zum
Kundenservice-Projekt. In der Serviceklasse. Wir haben diese
Codezeilen für die Verbindungszeichenfolge und den
Warteschlangennamen verwendet , und der
Service Bus-Client hat diese Codezeilen kopiert. Und dann gehen wir zum Dienst für
rote Emissionen. Und in der Methode zum Abrufen von
Reservierungen füge
ich diesen Code ein. Okay, jetzt lösen wir
die Namespaces auf. Dann gehen wir zur
Dokumentationsseite dieses Nuggets. Kopieren wir
diese Codezeilen und fügen sie in die
Reservierungsmethode ein. Lassen Sie mich Ihnen nun sagen, dass dieser Code
derzeit verwendet wird,
um eine einzelne String-Nachricht
vom Azure Service Bus abzurufen. Aber wir wollen die Liste der
Datensätze erhalten und die Datensätze
liegen im JSON-Format vor. Diese vom Servicebus empfangene
Nachricht ist also vom Typ. Ich brauche nur eine Liste. Geben wir einen Namen
wie empfangene Nachrichten. Okay, gleich danach,
nehmen wir an, wir wollen zehn Datensätze in
einer einzigen Anfrage
abrufen. Also werden wir dann hier bestehen. Dann prüfen wir, ob die
empfangenen Nachrichten null sind. Dann gib hier null zurück. Andernfalls verwenden Bullen die
for-each-Schleife für die Schiedsgerichtsbarkeit. Fügen wir also eine for-each-Schleife hinzu. Und hier wollen wir
in diesen empfangenen Nachrichten hydratisieren. Daher werden wir die von
Service Bus empfangene
Nachricht verwenden und die
empfangene Nachricht benennen. Dann fügen wir ein Schlüsselwort hinzu und verwenden die empfangenen Nachrichten,
was unsere Liste ist. Okay, wir schneiden
diese Codezeilen aus und fügen sie in
diese foreach-Schleife ein. Im Grunde wird diese Zeile
verwendet, um den Körper
der Daten abzurufen und in eine Zeichenfolge
umzuwandeln. Okay, jetzt werden die Daten, die
abgerufen werden , in Form von JSON vorliegen, und wir müssen die JSON-Daten
in C-Sharp-Objekte
konvertieren . Wir verwenden also nur eine Konvertierung. Löst den Namespace auf. Dieser anständige Konvertit stammt
aus den Neutralen des Pakets. Dann nennen wir das
Satelliten-Objekt. Wir wollen diesen Körper entsprechend der
Reservationsklasse abbilden. Wir werden hier die Reservierung bestehen und
hier Körper. Dann speichern wir das
Ergebnis in einer Variablen und nennen es message created. Once ruft die Daten ab und speichert sie
dann in
der Datenbank. Also verwenden wir DB-Kontext, Punktreservierungen, fügen async hinzu und übergeben
diese erstellte Nachricht. Verwenden Sie dann das await-Schlüsselwort. Und gleich danach
rufen wir die
asynchrone Methode Save Changes auf. Okay, dieser Code reicht aus,
um die Daten aus
dem Azure Service Bus abzurufen und
die Daten in der
Reservierungstabelle zu speichern . Nehmen wir an, wir
haben fünf Vorträge in der Azure
Service Bus-Warteschlange. Und was wird
diese fünf Datensätze holen und das Ergebnis in der
Reservierungstabelle
speichern. Dann müssen wir
diese fünf Datensätze aus der
Azure Service Bus-Warteschlange entfernen . Und auf der Dokumentationsseite können
Sie sehen, dass wir
diesen vollständigen Nachrichtencode haben. Und es besagt, dass
wir
die
komplette asynchrone Methode aufrufen müssen, um die Nachricht aus der
Warteschlange oder dem Abonnement zu entfernen die
komplette asynchrone Methode aufrufen müssen, um die Nachricht aus der
Warteschlange oder dem Abonnement . Wir werden diese Codezeile verwenden. Was ich tun werde ist,
diese Zeile zu kopieren und sie dann
in die for each Schleife einzufügen. In Ordnung, wir haben den
gesamten Code zum
Abrufen der Daten aus der
Azure Service Bus-Warteschlange hinzugefügt . In der nächsten Lektion führen
wir nun das
Reservierungs-Microservice-Projekt und überprüfen die Funktionalität. Wir sehen uns also in
der nächsten Lektion.
42. Durchführung von Reservierungen: In der letzten Lektion
haben wir den Code zum
Abrufen von Daten aus der Azure
Service Bus-Warteschlange erstellt . In dieser Lektion führen
wir nun den Reservierungs-Microservice um die Funktionalität zu überprüfen. Also bevor es endet, das ist
Invasionen Microservice. Zunächst Irland, der
Microservice des Kunden, und versuchen Sie einige Daten in die
Azure Service Bus-Warteschlange
einzufügen. Okay, los geht's. Wir
haben nur wenige Datensätze hinzugefügt. Versuchen wir nun, das
als Mikroservice für die Zulassung auszuführen. Und los geht's. Unser
Micro-Service für Reservierungen läuft. Versuchen wir nun, den Endpunkt Reservierungen
abrufen aufzurufen. Und hinter den Kulissen werden die Daten aus
der Azure Service Bus-Warteschlange abgerufen, und wir fügen sie in die Reservierungen ein und
das Licht wird stabil. Und schließlich
erhalten wir das Ergebnis hier. Okay, los geht's. Wir holen die Daten. Wenn Sie nun zur Tabelle Reservierungen
und Fahrzeuge gehen, sehen wir
die Datensätze, die wir
aus der Azure
Service Bus-Warteschlange erhalten haben . Nehmen wir nun an, wir möchten diesem Kunden
eine Bestätigungs-E-Mail
senden . Wir übergeben also die ID dieses Kunden in
der Aktualisierungsstatus-Methode und senden diese Anfrage.
Okay, los geht's. Wenn das Ereignis nun
korrekt ist, wird Kunden hier eine Bestätigungs-E-Mail
gesendet. Ich habe es überprüft und Sie werden sehen , dass wir eine
Bestätigungs-E-Mail erhalten haben. Okay, das ist alles
aus dieser Lektion. Wir sehen uns jetzt
im nächsten Abschnitt.
43. Api Gateway Übersicht: In diesem Abschnitt werden wir über ein API-Gateway
sprechen. Was genau sind die
APA-Gateways und warum brauchen wir API
Gateway-Microservices. Lassen Sie mich Ihnen sagen, dass
ein API-Gateway
ein API-Management-Tool ist , das sich
zwischen einem Client und einer
Sammlung von Back-End-Diensten befindet . Diese Definition ist zu 100% korrekt. Aber lassen Sie mich die Dinge einfacher machen. Angenommen, Sie haben nur wenige
Mikrodienste wie Fahrzeuge, Kunden
und Reservierungen. Und ein Kunde, bei dem es sich ein mobiles Gerät oder eine Anwendung handeln
kann, um
ein mobiles Gerät oder eine Anwendung handeln
kann, kann
mit den verschiedenen URLs mit unserem Microservice sprechen. Anstatt
Zugriff auf all diese URLs zu gewähren, fügen
wir direkt nach dem Client oder vor
den Microservices ein Gateway hinzu. Jetzt wird im
API-Gateway der
gesamte Code für den Zugriff auf
diese Mikrodienste konfiguriert . Der Kunde kennt jedoch
die URL des Microservice nicht. Wenn der Client
den Fahrzeug-Microservice testen möchte, sendet der Client eine
Anfrage an das API-Gateway. Und API Gateway
sendet eine Anfrage an den Fahrzeug-Microservice
und erhält die Antwort. Und gleich
danach kehrt API Gateway zurück, das
auf den Client reagiert. Kurz gesagt, API Gateway
wird verwendet, um
Ihre APIs vor unserer
Verwendung und Missbrauch zu schützen . Denn in API Gateway können
wir auch Ratenbegrenzung verwenden. Immer wenn Microservices sehr
komplex sind und
wir skalieren wollen, wird API Gateway
eine sehr wichtige Rolle spielen. Load Balancing ist auch mit API Gateway sehr
perfekt. Kurz gesagt, wir können
sehen, dass die Verwendung von API Gateway
mehrere Vorteile bietet. In der nächsten Lektion konfigurieren
wir das
NuGet-Paket für die Verwendung von API Gateway. Wir sehen uns in der nächsten Lektion.
44. Setup Api Gateway: In diesem Kurs verwenden wir
das Ozelot-API-Gateway. Bevor wir also weitermachen, holen
wir uns eine neue
Doktrin namens API-Projekt. Benennt dieses Projekt
zu API Gateway. Okay, fügen wir dieses Projekt hinzu. Lassen Sie uns nun ein paar Dinge
in diesem Projekt tun. Wir brauchen den Controller
und die Modellklassen nicht. Also entfernen wir den
Controller-Ordner. Und dann werden wir auch
die Wettervorhersageklasse löschen. Okay, jetzt
ist das Projekt leer und es enthält
nur die
App-Einstellungsklasse und die Programmklasse, die wir zur Konfiguration
des API-Gateways benötigen. Jetzt in diesem Projekt, um das
NuGet-Paket für Ocelot
hinzuzufügen. Wir suchen nach diesem
API-Gateway-Paket, das Ozelot ist. Dann installieren wir dieses Paket. Okay, los geht's. Das
Paket wurde installiert. Jetzt gehen wir
zum Programm Glass und sie werden
dieses Ozelot-Paket konfigurieren. Zuerst fügen wir
Builder Dot Services hinzu. Dann werden wir hier die
Ozelot-Methode hinzufügen. Für diese ADD-Ozelot-Methode müssen
wir
den Namespace auflösen,
also die Ozelot-Punkt-Abhängigkeitsinjektion. Auch hier verwenden wir f dot. Dann werden wir hier die use
ocelot Methode hinzufügen, die
die Middleware konfiguriert. Zu diesem Zweck fügen
wir diesen Namespace hinzu, der Ozelot-Punkt-Middleware
ist. In Ordnung, also sind diese beiden Linien wichtig, um den Ozelot zu
konfigurieren. In der nächsten Lektion werden
wir nun die Routen
für das API-Gateway zuordnen. Wir sehen uns also in
der nächsten Lektion.
45. Routes konfigurieren: In der letzten Lektion haben wir ein
NuGet-Paket für Ocelot
installiert. Und jetzt in dieser Lektion fügen
wir die Route für
API-Gateway hinzu, die zur Punkt-JSON-Datei der
App-Einstellungen geht. Und wir fangen von vorne an. Ich werde
dir ein paar Dinge sagen. Schauen wir uns dieses Bild
an. Wir haben einen Kunden- und
API-Gateway sowie einen Rechtsdienst. Der Kunde kennt
die URL des API-Gateways. Der Client sendet also eine
Anfrage an dieses API-Gateway. Und API Gateway sendet die Anfrage
weiter
an den Microservice. Diese URL, die dem
Client zur Verfügung gestellt
wird, ist eine Upstream-URL. Und die URL des Microservices
ist die Downstream-URL. Okay, denken Sie daran, Upstream und Downstream,
da wir es stark innerhalb
des API-Gateways
verwenden werden . In Ordnung, kehren wir zur Punkt-JSON-Datei der
App-Einstellungen zurück. Und wir fügen die Routen hinzu. Also lasst uns die Routen benutzen. Öffnen Sie dann die eckigen Klammern. Und darin werden die geschweiften Klammern
hinzugefügt. Verwenden wir jetzt das
Downstream, aber das Dublett. Die
Downstream-Teilevorlage ist
im Grunde der Endpunkt
des Microservice. Ich weiß, dass Sie darüber nachdenken, wie Sie
den APA-Endpunkt finden können. Nehmen wir an, wir möchten
den API-Endpunkt für ein lokales
Microservice-Projekt finden . Also führen wir diesen
Fahrzeug-Microservice aus. Hier sehen
wir anstelle eines Browsers die Endpunkte
für diese Methoden. Dieser Slash-API-Slash-Fahrzeuge ist der Endpunkt dieser Methode. Und in ähnlicher Weise haben wir
Endpunkte aller Methoden. Okay, fangen wir
mit dieser get-Methode an, die die
Liste der Fahrzeuge zurückgibt. Wie wir wissen, ist der Endpunkt
für diese Anfrage
Slash-API-Slash-Fahrzeuge in der
Downstream-Pfadvorlage, deren Slash-API-Slash-Fahrzeuge
verwenden. Dann fügen wir das
Downstream-Schema hinzu. Und hier müssen wir das
HTTPS festlegen, da wir
direkt danach
auf das HTTPS-Protokoll zugreifen wollen . Verwenden Sie die
Downstream-Hosts und -Ports. Und dann fügen wir
die eckigen Klammern hinzu. Und darin werden
die Host- und Portnummer hinzugefügt. Der Host ist ein lokaler
Host, da wir legalen Microservice
innerhalb des lokalen Hosts
herunterfahren. Das wird also die
Host- und Portnummer sein. Wir müssen den Hafen passieren, in dem Fahrzeug-Microservice läuft. Schauen wir uns an, in welchen Armen wir den
Fahrzeug-Microservice
betreiben. Wenn wir also das
Fahrzeug-Microservice-Projekt ausführen , sehen wir die Portnummer. Kopieren wir diese Portnummer. Gleich danach. Wir gehen zur Einstellungsdatei
der API
Gateway-App. Da. Lassen Sie uns diese Portnummer als Basis festlegen. Okay, dann setze
ein Kommatrennzeichen hinter die eckige Klammer. Und außerhalb wird eine
Upstream-Bot-Vorlage hinzugefügt. Wie bereits erwähnt, wird
die Upstream-Teilvorlage die URL sein, die dem Client zur Verfügung gestellt
wird, diese
Slash-Gateway-Slash-Fahrzeuge dem Client zur Verfügung stellt. In Ordnung, dann fügen wir
die Upstream-HTTP-Methode hinzu. Und hier müssen wir
diesen Upstream-Teil definieren
, der darauf abzielt, wie
viele HTTP-Methoden? Fügen wir das Gettier hinzu. Es wird zum Webbrowser gehen. Dann werden wir sehen, dass
sowohl GET als auch Post dieselben Endpunkte verwenden. Daher werden wir auch Boost in
der Upstream-HTTP-Methode hinzufügen. In Ordnung, das war's.
Einfach so. Wir müssen die Route
für andere Methoden hinzufügen. Also fügen wir ein Komma hinzu. Anstatt den Code hinzuzufügen, kopiere
ich einfach diesen
Teil und füge ihn hier ein. Nehmen wir an, dieses Mal
haben wir gute Methoden zum
Abrufen, Aktualisieren und Löschen ausgearbeitet . Und diese Methoden haben
denselben API-Endpunkt. In der
Vorlage für den Downstream-Pfad werden Schrägstrich,
API-Schrägstrich und Fahrzeug-Schrägstrich hinzugefügt . Und dann fügen wir die ID
in die geschweiften Klammern ein. In der
Upstream-Teilevorlage wird nun auch
die URL geändert , um
Gateway-Slash-Fahrzeuge zu slashen. Gleich danach
fügen wir eine Schrägstrich-ID in die
geschweiften Klammern ein. In der abstrakten Methode möchten
wir dann sagen, auf wie viele Aktionen diese
Route abzielt. Mit dieser Route wird target,
GET , PUT und gelöscht. Und wir werden diese
HTTP-Methoden hier hinzufügen. In Ordnung. Jetzt müssen
wir einfach die Routen
für andere Microservices
wie Kunden und Reservierungen hinzufügen . Also nochmal, kopieren wir diesen
Code und fügen ihn hier ein. Dieses Mal
zielen wir auf den Microservice des Kunden ab. Also werde ich
einfach das Microsoft Project des Kunden leiten. Werde die Routen sehen.
Wir haben nur eine Route, nämlich
Slash-API-Slash-Kunden. Also fügen wir es hier
unter der Portnummer hinzu. Also kopieren wir die Portnummer des
Microservice-Projekts des Kunden. Und dann füge es hier ein. Gleich danach weniger als die vorgelagerte Bot-Vorlage, um Gateway-Kunden zu slashen. Und offensichtlich wird dieser Fall plus Microservice
mit der Post-Methode sprechen. Deshalb fügen wir hier die
Post-STP-Aktionsmethode hinzu. Dann kopieren wir diesen
Code und fügen ihn hier ein. Dieses Mal zielen wir auf den Microservice für Reservierungen ab. Nochmals, was ich tun werde ist das Envisions
Microservice-Projekt zu leiten. Und hier sehen wir
die APA-Endpunkte. Wir haben hier zwei verschiedene
Routen. Also verwenden wir zuerst den Code für diese
Slash-API-Slash-Reservierungen. In der App-Einstellungsdatei
wird als Vorlage geändert , um API-Slash-Reservierungen zu verwenden. Dann fügen wir hier die
Portnummer für immer hinzu. Reservierungen
Microservice-Projekt. Gleich danach wird
die Downstream-Teilevorlage entsprechend geändert. Dann ist diese Steckdose
dunkler getMethod. Stellen Sie also sicher, dass Sie die
Aktionsmethode hier hinzufügen. Okay, kopieren wir
diesen Code
als bösartigen Weg und
fügen ihn erneut ein. Dieses Mal ändern wir
den API-Endpunkt gemäß dieser PUT-Methode. Also verwenden wir Schrägstrich, API-Slash-Reservierungen und fügen dann die ID
in die geschweiften Klammern ein. In ähnlicher Weise fügen wir die ID
und die Downstream-Teilevorlage hinzu. Dann wird in der
Upstream-HTTP-Methode übergeben. Aber weil wir sterben wollen Good put action Methode von
dieser erlaubten URL. Okay, los geht's. Wir haben den
Code für API Gateway vervollständigt. In der nächsten Lektion werden
wir nun die Funktionalität überprüfen. Wir sehen uns also in
der nächsten Lektion.
46. Api Gateway testen: In der letzten Lektion haben
wir
ein Angebot für API Gateway hinzugefügt . Und jetzt in dieser Lektion gehen
wir über API Gateway zu
Desktop-Micro-Diensten. Okay, jetzt leite ich
alle vier Projekte. Also klicken wir mit der rechten Maustaste
auf die Lösung, legen
dann
Startprojekte fest und stellen sicher, dass diese mehreren
Starter-Projekte ausgewählt sind. Dann starten wir alle
Projekte und klicken auf Okay, lass uns die Projekte ausführen.
Und los geht's. Dadurch werden alle
vier Projekte geladen. Jetzt verwenden wir das API-Gateway. Das bedeutet, dass wir das Fahrzeug-,
Kunden- oder
Reservierungsprojekt
nicht direkt nutzen werden. Wir wählen ein API-Gateway. Api Gateway-Projekt. Fügen wir einen API-Endpunkt für das
Fahrzeug hinzu. Und drücken Sie Enter. Los geht's. Wir werden einen gleichwertigen Theta bekommen. In ähnlicher Weise können Sie andere Endpunkte
überprüfen. Ich möchte Ihnen sagen
, dass dieses API-Gateway keine
Dokumentation für APIs enthält. Um die
anderen Endpunkte wie Post,
PUT und Delete Unit zu überprüfen, verwenden Sie das Postman-Tool. haben Sie bereits behandelt,
wie Sie unsere APIs
über Postman testen In
meinem letzten APA-Kurs haben Sie bereits behandelt,
wie Sie unsere APIs
über Postman testen können. Okay, das ist alles
aus dieser Lektion. Wir sehen uns jetzt
in der nächsten.