Transkripte
1. Einführung: Willkommen zu diesem spannenden Kurs ist Feed dotnet Core API und ein Blazer war nicht und Server-Entwicklung. Ja, das stimmt. Sie werden sich ansehen, wie Sie eine API mit einer Geschwindigkeit auf einem Kern entwickeln können. Und Sie werden Halle erkunden, um eine Client-Anwendung mit Blazer zu erstellen. Und wir betrachten sowohl die WebAssembly oder war nicht für kurz und die Serververteilungen dieser Lasertechnologie. Mein Name ist Ärger oder Williams und ich habe über 10 Jahre Erfahrung als Software-Ingenieur und Dozent. Und ich kann Ihnen versichern, dass
ich alle Inhalte sehr
anfängerfreundlich machen werde und wir werden eine Menge Spaß in diesem Kurs haben. Meine Ziele für Sie in diesem Kurs ist es, Sie voll funktionsfähig zu haben. Als Softwareentwickler sollten
Sie in der Lage sein, eine vollständig datengesteuerte Web-API und eine Blazer-Client-Anwendung zu erstellen, ob auf der Serverseite die WebAssembly sagte, Sie sollten zumindest komfortabel und kompetent genug sein zu schätzen, warum Sie das eine und nicht das andere tun würden. Wir werden auch einige Entwurfsmuster im Namen des Repository-Musters betrachten. Und wenn
wir uns die Abhängigkeitsinjektion ansehen, werden wir verstehen, wie JSON Web Tokens oder JWT kurz, Authentifizierung am Workflow funktioniert, wir werden uns mit Rest-APIs beschäftigen und benutzerdefinierte Authentifizierung in Blazer einrichten. Und am Ende werde ich groß sein. Wir werden auch untersuchen, wie wir
unsere API- und Client-Anwendungen für den allgemeinen Gebrauch im Internet bereitstellen können . Einige Technologien, die wir durch ASP.Net Core erkunden werden, werden
wir Entity Framework Core API und JWT-Authentifizierung,
Auto Mapper, API-Hosting, Testen, Quellcodeverwaltung und sogar Protokollierung betrachten. Ich sage Ihnen, dieser Kurs ist voll mit viel Inhalt. Also mit all dem, was gesagt hat, freue
ich mich über diesen Kurs. Ich hoffe, Sie sind es auch, und wir sehen uns bald.
2. Installieren von Visual Studio 2019 Community Edition: Hey, Jungs, in diesem Video wird Visual Studio 2019 Community Edition installieren Jetzt, um auf die
Visual Studio-Website zu bekommen , geben
wir Visual Studio dot Microsoft dot com Foto Sehen Sie nicht bizarre Studio, und wir die Community-Edition erhalten möchten. Also haben wir professionelle und wir haben Unternehmen. Aber in der Community-Ausgabe ist kostenlos für Einzelpersonen auf akademische Benutzer auf ditz. Öffnen Sie auch, Sir. Also noch einmal, ähm, wenn Sie in einer Pressesitzung sind, sollten
Sie Unternehmen bekommen, und dafür müssen Sie eine Lizenz bezahlen. Aber dann für unser Haustierprojekt, ein einzelnes Projekt oder akademische Projekte Open-Source-Zwecke, Communities dort ist es kostenlos und es ist voll angetrieben und wartet darauf, verwendet zu werden. Also bekommen wir nur Gemeinschaft auf dann, dass Trigger sind nicht Lord für einen Installer. Also klicken wir einfach auf die Beleidigt, die gerade heruntergeladen wurde Run. Es wird Onda initialisieren. Wir können mit unseren Installationen voran gehen, so dass wir weiter, dass nur Fische ein paar Dateien für uns. In Ordnung, also nachdem es mit diesen anfänglichen Arbeitslasten fertig ist, wird es uns fragen. Welche Pakete möchten wir installieren, um das zu unterstützen, was auch immer wir
entwickeln werden . Also, wie gesagt, wir entwickeln eine Webanwendung, Also brauchten wir SP dotnet und Web-Entwicklungspaket oder Workload auf. Dann nehmen wir das, ähm, wir nehmen die Box hier nach rechts und sagten, Sie sehen, dass sie uns eine kleine Liste von dem geben, was enthalten wird. So ist das neueste Punktnetz-Framework vier Punkt es. Also wissen Sie, es ist, dass wir 4,4 bis 4,6 bekommen. Also verstehe ich, auf dem Teakholz voranzugehen. All diese alle diese Punktnetz Framework 4.6 Punkt 1.2 Punkt sieben Punkt es auf. Aber das ist noch nicht alles . Wir brauchen diesen Met Kern, aber dann basiert dieser Kurs auf dot net core 3.1, das ist der neueste. Aber wenn Sie mit Visual Studio gehen und sie voll 0,1 bekommen, damit wir das
danach in Ruhe lassen können , dann zeige ich Ihnen, wie Sie 3.1 bekommen. Außerdem, da wir ein wenig wie dein Zeug machen werden, werde
ich einfach die A-Null-Box auf. Wir müssen dort nicht viel mehr ändern. Ich kreuze nur das Kästchen an. Stellen Sie sicher, dass wir alle Bibliotheken haben, die Sie benötigen, können Sie einen Drill-Down auf machen. Sehen Sie einfach, was Ihnen sonst noch zur Verfügung steht. Sicher. Er hat die Dot Net Core Cross-Plattform-Entwicklung beendet. Wenn Sie auf diese Arbeitslast
klicken, erhalten Sie einige weitere Punkte Net Core Dinge. Aber ich denke, viele davon sind bereits in der Web-Entwicklungs-Workload enthalten, da Sie feststellen, dass der gesamte Speicherplatz mit jeder von Ihnen gewählten Arbeitslast zunimmt. Also gehe ich einfach auf Tick die 01 an. Ich werde nur sicherstellen, dass ich die plattformübergreifende Dot Net Core-Workload auf den SB Dot Net und Web Development Workloads habe. Wir machen nicht viel Entwicklung mit als Ihre, so dass Sie es nehmen können, wenn Sie wollen. Wenn Sie wissen, dass Sie den Platz haben, ist
das in Ordnung. Und natürlich, je mehr Sie ticken ist länger wird der Download nehmen. Aber ich werde es nicht für dieses Teilchen nehmen,
Natürlich, Natürlich, so noch einmal haben wir nur die sp dot net und Web-Entwicklung,
und wir haben die Darknet Core Cross-Plattform-Entwicklung auf den Zahlen eins klicken, Installieren Sie auf, dann wird das die Installation starten, was wirklich ein Don't load ist. Basierend auf der Internetgeschwindigkeit wird
dies in der Länge variieren. Einige einfach quinto wieder aufnehmen, wenn alles hier fertig ist. Alles klar, also ist dieser Prozess beendet. Burba nahm nur unlernen unsere auf ihrer zu sehen, dass sie erfordern, dass ich meinen Computer neu starten ,
um diese Einrichtung abzuschließen. Also werde ich nicht sagen. Nein,
nicht, dass du nicht neu starten musst, aber es gibt noch etwas, das ich dir zeigen möchte, bevor ich dich neu aufbauen lasse. Also werde ich sagen,
nicht wissen, was im Grunde nur nicht wird, um die Installation nur noch abzuschließen. Aber ich werde das nur minimieren und ich werde Ihnen zeigen, dass wir die
dot net core 3.1 -Tools herunterladen müssen ,
also habe ich bereits das offen und Sie können auf diese Website durch dot net dot dot Microsoft dot com auf. Dann bin ich am Schrägstrich Don't Lord, wo es mir zeigt, dass ich die Dot Net Core 3.1-Tools oder die Laufzeit
dafür nicht kennen kann , sowie Punktnetz-Framework vier Punkt es. Also haben wir gerade Visual Studio mit dem dot net Framework installiert. Vier Punkte. Es sind Werkzeuge, also müssen wir nicht darauf achten. Aber wir brauchen den Kern 3.1 auf. Ich habe früher gesagt, dass der Punktnetzkern für mehrere Plattformen gebaut ist. Es ist plattformübergreifend. So sehen Sie, dass die Fenster nicht wissen, dass der Lennox Stone Lord, dass die McCoys nicht und sie haben einen Arzt nicht Lord. In Ordnung, also gehen wir mit den Fenstern. Ich benutze eine Windows-Maschine auf Ich lehre Sie basierend auf Windows. Aber das wird gesagt, was auch immer ein Jahr auf Sie nicht die, die für Sie geeignet ist auf DWI Run the up also bin ich Winton. Laden Sie einfach nicht die Punktnetzkern-Laufzeitumgebung auf. Ich werde auch das Punktnetzkern-SDK nicht kennen, also werde ich nur die X 64 nicht kennen, weil ich 64 Bits auf war. Wir können das nicht wissen, wenn wir es installieren. Also, wenn der Installer loskommt, ist
es ziemlich einfach, ein glatter Stern auf. Dann wird es tun, was es tun muss. Dann werden Sie sehen, dass es erfolgreich war. Also habe ich wirklich nicht so lange gebraucht, um zu installieren. Ich gehe einfach zurück und bekomme auch das SDK. Also, was ich bekam, war eine Laufzeit. Ich ging, um das SDK no sdk kurz für Software Development Kit herunterzuladen. Das ist, wo die echten Entwicklungstools für Visual Studio zur Verfügung
gestellt werden, um mit der Benachrichtigung interagieren zu können. Sie sagen, dass diese Version nur mit Visual Studio 2019 kompatibel ist. Wenn Sie also 2017 oder eine frühere Version haben, möchten
Sie möglicherweise ein Upgrade durchführen. Das ist also nicht wissen. Haben wir einfach installieren, dass so und dann starten A kommt mit einem Stick installieren, lassen Sie es tun, seine Sache. Und dann heißt es, dass alles erfolgreich installiert wurde und sie alle ihre eigenen
Zeiten verwenden und alle anderen zeigen uns. Die verschiedenen Dokumente, die wir für Ihre Ressource verwenden können, ist, damit wir das schließen können. Ich weiß, dass wir das alles getan haben. Dann kann ich die Computer neu starten. Ich wollte nicht neu starten und dann die Schritte vergessen. Also habe ich nur darauf geachtet, alles zu installieren und dann machen wir nur einen großen Neustart Onda niedrig den Computer, um seine Sache zu tun. In Ordnung, also wisst, dass Ari Start abgeschlossen ist. Briefe. Gehen Sie weiter und starten Sie Visual Studio 2019 auf. Sie können es finden, indem Sie zum Startmenü gehen, und Sie können wahrscheinlich einfach in Visual Studio eingeben wird bereits mein Visual Studio
2019 an mein Startmenü angeheftet , sowie an meine Taskleiste. also einfach auf dieses lila Symbol klicken, das wie dieses Unendlichkeitszeichen aussieht, werden
wir unser Visual Studio sobald es gestartet wird starten. Es fordert Sie auf, sich anzumelden oder ein Konto zu erstellen, und Sie können dies später tun. Nein, mit dem Community-Zusatz wird
es Ihnen tatsächlich ein wenig geben, wie ein 30-Tage-Test-Gefühl, wenn Sie sich nicht anmelden. Also, wenn Sie wählen, nicht wissen, vielleicht später und dann später unten die Zeile, Sie sehen, wie sie sagen, oder es ist abgelaufen oder so etwas. Es sagt wirklich nur, dass sie erwarten, dass Sie sich angemeldet haben, sich anmelden wollen. Dann gibt es keine Ablauferfahrung, die Sie Teil haben, also werde ich nur in Windows-Konto anmelden, und das ist die Fenster sind Kegel. Sind die Microsoft ein Mais, den ich lange zuvor hart? Andi. Dies ist derjenige, den Missbrauch für alle wie Ihre verwandten Aktivitäten, die unser Haus verstehen um voran zu gehen und einloggen Wieder einmal, Sie können eine Microsoft Kegel erstellen oder, wenn Sie bereits eine haben, verwenden Sie es
einfach auf anmelden. Ob Sie sich für die Anmeldung entschieden haben oder nicht wissen gesagt haben, vielleicht werden Sie später zu der Rede geführt, in der Sie fragen, welchen Stil Sie mögen. So dunkel, dunkel Thema ist die ganze Region. Ich bin nicht in Ordnung. Nein, aber Sie können in den Entwicklungseinstellungen das für Sie passende Design auswählen. Ich werde diese Zehe Web-Entwicklung setzen. Also, General, ja, das ist in Ordnung. Aber welche Entwicklung dann? Diese Art von setzen bestimmte Dinge an bestimmten Orten, um es offensichtlicher für Sie zu machen, zu sehen. Alles klar, wenn
du das alles machst, kannst
du das Resultat-Studio starten Nein, ganz egal. Ich bin Toe Signieren Gefühl, weil ich auf einem Server bin und sie bestimmte Einschränkungen sind, unsere eigenen bestimmten Aktivitäten. Und so möchte ich das nur hervorheben, um zu zeigen, dass, wenn Sie sagen, nicht wissen, vielleicht später, dann ist dies ein Bildschirm, den Sie bekommen. Sobald visual studio Florentines, werden
Sie aufgefordert, sich anzumelden und auf der rechten Seite. Sie sehen, dass Sie eine 30-Tage-Testversion haben. Also noch einmal, Ihre Evaluierungszeitraum als und dass bitte melden Sie sich an tow eine Menge von Produkten. Alles, was Sie wirklich tun müssen, ist sich anzumelden, dass die Evaluierungsmeldung verschwindet. Jemand ist wieder ein Zeichen. In Ordnung, ich weiß, dass ich eingeloggt war. Siehst du das? Ich habe den personalisierten Kegel, den sie an meinen Inhalten hatten. Und dann ist diese Auswertungsbotschaft wirklich verschwunden. Und damit ich Kleidung pflücken kann. Und dann ist dies der Startbildschirm für Visual Studio 2019. Also von hier aus kann
ich etwas von einer Quellensteuerung überprüfen. Ich kann ein vorhandenes Projekt
öffnen, einen lokalen Ordner zum Erstellen neuer Projekte öffnen. Also werden wir hier pausieren. Wenn du so weit gekommen bist, dann ist das perfekt. Sie haben die Ergebnisse Studio 2019 Community Edition auf installiert. Dann sind Sie bereit für die nächste Aktivität.
3. SQL Server Express Edition: als willkommen zum ersten Video im Diskurs. Einführung in SQL Server 2017 auf der Today wird sich mit dem Herunterladen und Installieren dieser Bit off Software beschäftigen. Jetzt ist eine Datenbank ziemlich eine logische Sammlung von verwandten Daten auf Das ist es. Auf den Punkt gebracht. Wenn Sie bereits Erfahrung mit Datenbanken haben, kam
es wahrscheinlich mit Microsoft Access oder meinem SQL. Und Sie wollen einfach nur Ihr Wissen darüber hinaus erweitern. Und selbst wenn Sie keine Vorkenntnisse über Datenbanken haben, ist
dies ein ausgezeichneter Kurs, um Sie mit den in der Lage befindlichen Datenbanken auf dem Laufenden zu bringen. Welche Vorbereitung nutzbar an Ort und Stelle, wie Sie gehen können, um Ihre Reise
zu einem Datenbank-Administrator zu werden oder einfach nur Daten in Datenbanken insgesamt zu manipulieren. Wie ich bereits sagte, werden
wir alle diese Konzepte mit Microsoft SQL Server 2017 untersuchen. Andi. Ich habe es bereits auf meinem Bildschirm. Die Seite für „Nicht verlieren“. Also habe ich die U.
R L aufgenommen , wie hier in den Klassennotizen beschrieben, und dies würde Sie dazu bringen, die Microsoft SQL Server 2017 Express-Datenbank-Engine
auf der kurzen Beschreibung herunterzuladen , ist, dass es ein leistungsfähiges und zuverlässiges Datenbank-Management-System , mit dem Sie leichte Websites und ihre Stopp-Anwendung zu bauen können. Das ist also ziemlich gut. Ziemlich anständig ist ein anständiger Ausgangspunkt. Wenn Sie diese High Spec High-End-Maschine nicht haben, hat
er eine normale Maschine. Du willst nur loslegen. Dies ist eine ausgezeichnete Option. Es gibt andere Ergänzungen, die Sie wahrscheinlich in Ihrer Forschung sehen würden, aber wenn Sie diesem Link folgen, wird
es durch all das Geräusch und alle anderen Ausgaben schneiden. Und wir können mit Express beginnen, so können Sie voran gehen und diesen Download auf Dinitia. Initiieren Sie die Donald-Prozedur an dann. Ein weiteres bisschen Software, das uns interessiert, ist das SQL Server Management Studio. Jetzt wird das Management-Studio Ihr Gateway sein, um tatsächlich mit der Datenbank zu
interagieren und die Daten über das Schreiben
,was wir Abfragen in einer Sprache nennen, abzufragen. , SQL. Wir werden zu gegebener Zeit auf all diese Dinge eingehen, aber nein, du kannst diesem Mädchen noch einmal folgen. Es ist in der Klasse, Notizen zu. Wir können einfach diesen Download-Button verwenden, um diesen Download zu initialisieren, was eine Weile dauern kann. Es ist eine ziemlich große Datei, also sobald das nicht geladen wird, wir wieder zusammen. Und dann haben wir diesen Installationsprozess durchlaufen. Hey, Leute, willkommen zurück. Wissen Sie, dass unsere nicht verlieren unsere fertig. Wir beginnen mit der Installation unserer SQL Express-Engine. Also klicken wir einfach auf diese Isolationsdatei, klicken Sie auf Ausführen. Dann werden wir mit diesem Installationsbildschirm begrüßt, auf den wir klicken können. Basic Custom ermöglicht es Ihnen, bestimmte Features in diesem Stadium auszuwählen. Das müssen wir nicht tun. Wir können einfach mit Basic gehen. Wir können voran gehen und den Bedingungen zustimmen, die Sie durchlesen können, wenn Sie möchten. Wenn Sie andere Ideen haben, als Sie den Regisseur ändern möchten, sonst werden Sie als Standard verwenden. Und Sie können hier sehen, dass
wir von sechs Gigabyte nur 300 Megabyte brauchen. Also gehe ich einfach voran und klicke auf Installieren. Dies kann eine Weile dauern, also wirst du wieder einberufen, sobald dies beendet ist. Okay, am Ende des Installationsvorgangs sehen
Sie, dass Sie,wissen
Sie,
erfolgreich bei der Installation waren wissen
Sie, , und dann geben sie Ihnen einige Informationen, um Ihnen Comics und String zu geben. Also, wenn Sie eine Anwendung oben auf dieser Datenbank entwickeln wollten, dann möchten Sie wahrscheinlich auf diesen Teil achten. Aber das ist momentan nicht wirklich notwendig. Und sie geben Ihnen nur die Wege für die Liebesfeuer und andere wesentliche Bits aus der Anwendung. Ein weiterer wesentlicher Bestandteil dieses Installationsprozesses, wie bereits erwähnt,
ist es, die Fortsetzung Management Server Studio am Ende dieser Experten Addition
Installation zu installieren , sie werden Ihnen tatsächlich eine Option geben siehe installierte SMS. Und das wird wirklich nur Ihren Browser bringen, um zu navigieren Zehe. Nun, ich dachte, diese Rede, so dass der Link zu dieser Seite bereits in den Klassennotizen enthalten ist. Andi hier. Von hier aus können
Sie einen direkten Don't Lord Zehe des Management-Studios bekommen. Also, wenn Sie es vorher nicht getan haben, können
Sie einfach diesem Link folgen und erhalten, dass die Datei bereits in Nicht geladen hier haben. Also werde ich einfach diese Installation initiieren. All dies wird das Installationsprogramm starten und sie geben Ihnen wirklich nur eine Schaltfläche zum Klicken, die installiert ist. Natürlich können
Sie diesen Standort ändern, wenn Sie andere Ideen für den Pfad haben. Andernfalls können Sie es als Standard auf einfach klicken installieren lassen. Das kann also auch eine Weile dauern, also werden wir am Ende dieses Prozesses wieder zusammenkommen. Okay, also ist unsere Installation auf Doll abgeschlossen, die wir tun müssen, ist neu gestartet, um fortzufahren. So können wir das einfach schnell machen. Onda wir im nächsten Video werden wir anfangen zu schauen, wie wir anfangen, alles zusammen zu setzen. Was für eine Datenbank ist. Warum das Erlernen dieser Fertigkeit so wichtig ist. Bleiben Sie dran.
4. Ein GitHub-Konto erstellen: Hey, Jungs in diesem Video werden erstellen oder aufstehen Konten auf. Das ist ein wirklich einfacher Schritt. Steh auf. Macht es uns sehr einfach, sich anzumelden. Du musst nur gehen, um die Handfläche hochzuspringen. Das ist G I T H u b Punkt c o m. Holen Sie sich Hub dot com on. Du wirst auf diesem Platz landen. Nein, von hier aus, wenn Sie bereits ein Konto haben und Sie sich anmelden können und Sie
das Video hier ziemlich stoppen können, wenn Sie es nicht
tun, tun, dann ist das Senatsformular genau hier. Sie können ein wenig lesen. Holen Sie sich einfach eine Wertschätzung dessen, wofür Ghetto B ist. Und es ist alles ein Boot. Sie haben Preisgestaltung, daher bieten sie Unternehmenspläne und Bildungspläne und verschiedene Pläne für unterschiedliche Situationen an. Aber für den Solarentwickler für sehr kleine, du weißt schon,
Teams, die niemals Unternehmen sein können, als sie dir eine Menge kostenlos geben. Um sich anzumelden, müssen
Sie nur einen Benutzernamen auf eine E-Mail-Adresse und ein Passwort auf setzen Sobald Sie alle diese Dinge
zur Verfügung gestellt haben und vorausgesetzt, dass Ihr Benutzername eindeutig genug von natürlich dann klicken
Sie auf. Melden Sie sich für das Ghetto an. Du solltest dabei sein. Also habe ich bereits ein Konto, Einige echte Anpassungen Zuweisen Sie sah meine Brüder verrückt versuchen,
Informationen bereitzustellen , so werde ich nur mit meinem bestehenden Konto anmelden. Also, das ist mein, was er gebrauchen kann. Sie benutzen ihn oder Militaristen, um sich anzumelden. Und das Passwort hier bin ich. Das ist meine Landegrube. Also geben sie dir tatsächlich einen Sinn aus der Gemeinschaft. Es ist fast wie ein Facebook für Entwickler. zu einem gewissen Grad können
Sie Menschen auf folgen, sobald sie Menschen folgen, sehen
Sie ihre Aktivitäten auf der Grippe-Lingpage. Sie können zu Ihrem Projektarchiv springen. Also offensichtlich, wenn du neu bist, aufzustehen, dann hättest du hier nichts an der Seite. Was? Ich bin keine Neuigkeiten. Ich war ziemlich beschäftigt. Ähm, das Aufstellen von Inhalten für fast jedes kleine Haustierprojekt, das ich beginne. Ich habe eine positive bekommen, tatsächlich müssen durchgehen und das aufräumen auf Auch, Ich hatte Studenten fügen Sie mich zu ihrer Ruhe in der Vergangenheit. Eso, dass Sie wissen, wir könnten zusammenarbeiten. Vielleicht haben sie ein Problem und ich könnte einfach ihre Schnur durch die Wieder Posits überprüfen. Sehr all diese Dinge sind, weißt
du, durch dieses faire,
leistungsstarke Werkzeug
möglich . Aber sobald du deine Zapfen erschaffen hast und du gut in Ondo unterschrieben bist, würdest
du offensichtlich nicht sehen, was ich noch einmal sehe. Aber dann würde das das Zeichen der aktiven
5. Installieren und Erkunden von PostMan: Hey, Leute, in diesem Video werden
wir Postman installieren. Nein. Postman ist ein ausgezeichnetes Werkzeug für die Zusammenarbeit bei der A P I Prüfung und Validierung all dieser wunderbaren Dinge. Es ist also ziemlich einfach zu installieren, wirklich? Gehe einfach zu posten Mann Dot com Postman. Genau wie der Kerl, der den Postboten Dot com liefert, wissen Sie nicht, die oben und natürlich wählen Sie Ihr OS, also haben Sie ein 64-Bit-Fenster an, dann würde das Don't starten. Alles klar, sobald das nicht wissen, dass dies fertig ist, können
Sie gehen Sie auf Öffnen der Installationsdatei Führen Sie das Installationsprogramm sind so, wenn es fertig ist , werden
Sie entweder einen Bildschirm sehen, der Sie auffordert, sich anzumelden oder Sie sehen Sie den Bildschirm. So oder so, wenn Sie etwas sehen, um sich anzumelden, Ich würde Sie ermutigen, dies zu tun Eigentlich hatte es auf meinem Computer bereits. So wissen Sie, dass der Fluss nicht genau so ist, aber wenn Sie sehen, dass diese Seite kommen, dann ist es schließlich Candace, Klicken Sie auf das X, und Sie können es von Onda nehmen. Ich bin sowieso nicht angemeldet, also wenn Sie sehen, dass unsere Wissenschaft vorgelagert so aussieht. Dann wissen Sie, dass Sie einfach weitermachen und ein Konto erstellen können. Tut mir Leid. Sie können ganz einfach andere Kegel mit einem Passwort erstellen oder einfach mit Google signieren. Jetzt möchte ich mich einfach mit Google auf anmelden. Die Sache ist, dass dieser Teil eine Geschichte von jedem Test, den Sie gemacht haben, halten, wenn Sie ein Konto haben . In Ordnung, also werde ich mich einfach bei Google anmelden, okay? Und sobald Sie angemeldet sind, wissen
Sie, dass Sie mit der Arbeit beginnen können. Also werde ich euch nur eine Probe zeigen, was Postbote in der Lage ist. Erstens werde
ich nur mit der Dunkelheit mehr zu tun, weil sie mehr so cool auf. Dann werde ich ein neues Anforderungsfenster erstellen. Wenn Sie also dieses Pluszeichen verwenden, wie jeder Browser mit den Pluszeichen oben, können
Sie Pluszeichen täuschen, und ich gibt Ihnen eine neue Anfrage. Nun, ich ging schon weiter und suchte nach einigen öffentlichen AP Augen, während wir über FBI gesprochen haben, sind im Grunde in unserem Gateway in Ihre Datenbank. So haben die Leute ein P Augen, verschiedene Leute eines PS und ich rief diese Website an. Jeder Strich FBI dot com Andi,
Ich werde nur erwürgen zurück auf den ersten PC, kann sehen, was sie zu bieten haben. Also von der, Sie wissen, die Landingpage, sie sicher, dass Ihre Bündel von Öffentlichkeit mit Blick auf eine p ich so zusammen können Sie einfach voran gehen und klicken auf wissen Sie, getestet Kröten. Also ging ich rüber zum Oxford Dictionary, wo ich eine Liste von Sprachen bekommen würde, damit sie dir alle von den Endpunkten
zeigen, richtig? Beim Aufbau des FBI haben sie mit den Daten in Verbindung gebracht. Seien Sie versichert, dass sie ein gewöhnliches Mädchen haben, aber dann haben sie unterschiedliche Endpunkte. Ich werde verschiedene Bits von Informationen direkt auf dann geben Sie verschiedene Methoden. Stell dich auf posiert. Sie haben irgendeinen von einigen anderen gesetzt. Aber Tatsache ist, dass Sie den Anforderungstyp kennen müssen. Sie müssen die u R L kennen, durch die Sie diese Anfragen erhalten können. Zufrieden? Sie müssen wissen, ob Sie Header übergeben müssen. Also hier und ich brauche einen Anwendungsschlüssel auf Di di auf. Dann zeigen sie mir die Antworten. Also 200 bedeutet OK auf der ersten ein Beispiel in Jason. Was diese Antwort dann sein würde. 44 bedeutet nicht angerufen. 500 brauchen das. Es gibt einen internen Fehler, normalerweise mit dem Home-Server. Nicht mit dir. Richtig. Also für vier Musik, suchen
Sie wahrscheinlich nach etwas, das es nicht gibt. 500 bedeutet, dass der a p I Provider auf Fehler hat. In Ordnung, also Nachricht von jedem a p I und ich wollen kostenlos für ex FBI Dot com. Entschuldigung. Also nahm ich einen genaueren Blick auf jede AP und ich merke, dass alle diese AP Augen erfordern, dass Sie auf einem Kegel gehabt
hätten sein, Sie wissen schon, Ich registrierte Benutzer Wahrscheinlich ein zahlender Benutzer aus diesen Plattformen können Sie durchschauen. Du siehst, Instagram, du siehst dich auch, Google. Die meisten davon sind ein PS geschützt, so dass sie ein gewisses Maß an Sicherheit verwenden. Wir werden all diese Techniken in den Partituren durchlaufen. Aber im Moment wollte
ich nur einen schnellen Sieg für die Zufriedenheit haben, zu sehen, was Postbote tun kann und Relevanz davon. Richtig. Also habe ich die freien vier x acht p i dot com angerufen, richtig? Du verstehst, das ist kostenlos für ex FBI dot com on. Dann gehen wir zur Dokumentation. Also, dass Landing Page ist eigentlich ihre Demo von ihnen. Verzehren der Daten durch die Luft p I, die sie belichten. Richtig? Also haben sie eine Datenbank, die gebaut und FBI auf, dann machen sie einen ernsten
FBI-Grund , um die Handelsindexstadt in Ihrem auf uns die u und G
BP usw. zu zeigen . Also, wenn ich zur Dokumentation auf gehe, werden
sie mir die Nutzungsbedingungen geben. Sag mir, wie ich es benutzen soll. Also Dokumentation ist sehr, sehr wichtig und wichtig, wenn es um ap Augen geht und wir werden Swagger verwenden. Ähm, Sawyer,
Sie, warum Zehe r Slash Vocal, wenn wir dort , sehen
Sie, aber konzentrieren sich auf die Dokumentation über FBI's zu einem großen Teil auch. Also von hier aus, sie sicher, dass Sie die Das ist die Domain, auf der die AP Augen direkt gehostet haben. dann, wenn Sie wachsen, Sehen Siedann,
wenn Sie wachsen,
nicht die verschiedenen Arten von Funktionen, die sie ausgesetzt haben? Also bekommen sie Lese-Daten, richtig? Und dann sagen sie mir die Anfrage, auf die es sich um eine Anfrage handelt. Dann haben Sie die Endpunkte. Entschuldigung, der Ural und der Endpunkt. Das ist, was er darauf aussehen muss, ist eine Beispielantwort. In Ordnung. Und wenn Sie durchschauen, sehen
Sie einen anderen, dass Sie verschiedene Pfeiler bekommen können. Also genau hier schauen Sie nur nach dem Euro USD ein, und sie geben, dass die Ergebnisse dieses Quartals für Sie. Und dann in diesem Jahr kannst
du mehr als eins bekommen, wenn du willst. Also fügen Sie einfach beide Indizes ein, die Sie interessieren, als Parameter in diesem Punkt . In Ordnung, also ist das eine Abfragezeichenfolge für die Werte, auf denen die Steinbrüche laufen. Dann ist dies die Antwort von der A P I. Sobald eine Abfrage ausgeführt wird und die Daten angerufen werden Nein, die Luftaufzeichnungen erzählen eine gute Geschichte, weil Sie, wenn Sie in erscheint, die nicht in ihrem System existieren, dann sind sie Ihnen sagen, dass Sie es tun werden. Es ist es, wenn Sie in keiner übergeben, es endet seine erforderliche. Und wenn Sie etwas passieren, das nicht da ist, dann sehen Sie auf einer Platte 1000 und zwei. So haben Sie Standard-Fehlercodes und Sie haben einige Flughäfen, die Sie selbst können mich. Also lasst uns versuchen, diese Probe Jemand, um die 1. 1 zu versuchen, wo ich Euro und U S Städte bekomme. Verstehen Sie, diesen Link zu kopieren, was sie sagten. So kommen Sie zu den Daten auf diesem Endpunkt, auf dem ich einen Postboten öffnen werde. Was ich tun werde, ist es darin einfügen, es steht, geben Sie Questi Worrell ein. Das ist, was wir nur Copyright Anfrage auf der URL. Also habe ich die Anfrage weitergegeben. Du bist auf mir. Dann das Verb hier. Marmor Waschbecken und erhalten Post. Sie haben Patch gesetzt. Löscht Sie haben eine Reihe von ihnen. So wird get normalerweise verwendet, wenn Sie erwarten, Daten abzurufen. Richtig? Also steig auf, dann frei für seine AP, was? Nun, was auch immer diese Anfrage Jarawar, ich bin nicht einmal verpflichtet. Denken Sie daran, denn es ist ihre Dokumentation auf. Dann klicke ich. Send wissen, was Postbote tut, ist ein Anruf nachahmen. Nun, nicht wirklich imitieren, dass es tatsächlich den Aufruf führt, dass ein p i n Punkt auf dann die
Daten in der Antwort abruft . Also sehen wir hier. Es ist möglicherweise nicht so gut formatiert wie in der Dokumentation. Natürlich, sie setzen ihre besten Fuß nach vorne, aber ist das gleiche bisschen aus Informationen, die wir bekommen eine Wieder es auf. Wir kriegen einen Zeitstumpf an. Wir bekommen 1/4 200. Wenn Sie nach rechts schauen, sehen
Sie den Status 200? Okay, also 200 ist die universelle Antwort für alte T. Willst du die 200 verantwortlich machen? Alles ist in Ordnung. Also haben die verschiedenen Zahlen unterschiedliche Bedeutungen, schlimmer noch, oder? Die Zeit dauerte es mir die Ursache, dass dies eine schnelle AP Ich nahm auf die Das ist, was eine halbe Sekunde auf der Größe aus der Antwort, richtig, Sie können immer formatieren. Es ist so, dass Sie hübsch klicken können oder Sie können roh oder Vorschau sehen oder visualisieren. Ich bin mir nicht sicher, warum. Pretty Oh, das ist richtig. Ich muss die vier Monate wechseln. Also ist es ziemlich HTML. Das ist also so, dass wir in HTML schauen können, aber die Tatsache, dass dies ich etwas wie XML sagen kann, während es nicht XML ist, sagte
ich html lassen Sie mich schnell Jason, die es auf ist. Da gehen wir. Also nein, es ist hübsch, Jason. Also nein, es sieht ein bisschen mehr wie, Oh, es wird in ihrer Dokumentation in der Vorschau angezeigt, oder? Der Postbote ist also sehr praktisch,
wenn du nur testen willst , wie die Antwort aussehen wird. Jason ist der am häufigsten verwendete Response-Typ. Nun, ich sage, dass ich lose Jason-Antworten verwende, aber die nächste Alternative wäre XML auf Dwell. Wissen Sie, sobald die Daten zurückgegeben werden, die der Benutzer erwartet, haben
Sie dokumentiert, was er erwarten kann. Dann sind Sie Sie können sich sicher fühlen, dass jeder Ihre a p i verwenden kann, wenn nötig. So Postbote wird sich als nützlich erweisen, wie wir ein Boot entwickeln unsere ap gehen und wollen nur ein validiert, dass die Antworten so aussehen, wie wir sie toe erwarten.
6. Erstelle Net: Hey, Leute, willkommen in diesem Video. Was wir tun werden, ist das Einrichten unseres Punkt-Netzkern-Web-AP-I-Projekts. Das war also sehr voll. Aber es wird viel mehr Spaß machen, als ich vielleicht seine eigenen gemacht. Also lasst uns anfangen. Lassen Sie uns also beginnen, indem Sie Visual Studio 2019 Community Edition Onda öffnen. Nun, wenn du zu dieser Landing-Bildschirm kommst, wirst
du eine schöne Over sehen, als du diesen Landing-Bildschirm sehen wirst. Sie haben vielleicht keine aktuellen Projekte in der letzten
Zeit an einigen Projekten gearbeitet haben , also könnte diese Ära leer sein, aber Tatsache ist, dass Sie sich auf den ersten Abschnitt konzentrieren möchten, also wollen wir gehen voraus und erstellen Sie ein neues Projekt auf. Dann bekommen wir eine Reihe von Vorlagen jetzt auf der linken Seite zu sehen, die ich letzten Vorlagen sind Tempel in den verschiedenen Projekten verwendet haben, die ich nur allein. Vielleicht haben Sie es leer, und das ist in Ordnung. Sie möchten sich noch einmal auf die rechte Seite konzentrieren, wo Sie in der Lage sein, alle Vorlagen zu bekommen, also lassen Sie mich sehen, ob klar. In Ordnung. Also löschte alle meine Filter aus. Und Sie haben wahrscheinlich etwas mehr wie diese Sophie ein installiertes Visual Studio mit den Vorlagen, die ich vorgeschlagen hatte, das Web auf dem dunklen Netz Kernmaterial zu betrachten, die tun
werden Dann werden wir ähnliche Vorlagen sehen. Ich denke, ich habe im Grunde alles, was Visual Studio auf meiner Maschine zu bieten hat. So können Sie Dinge auf meiner Maschine sehen, die Sie nicht haben, nur konzentrieren Sie sich auf das, was ich sehe ist erforderlich. Und wenn Sie das nicht haben, dann können Sie, wissen
Sie, Sie müssen einige Korrekturmaßnahmen ergreifen. Wenn Sie denken, dass Sie die Installation durcheinander gebracht
haben, können Sie immer nach unten scrollen. Dann werden Sie sehen, installieren Sie mehr Tools und Funktionen, die tatsächlich neu starten. Wir wissen, wo Sie die Packung wählen. Bleiben Sie ordentlich, installieren Sie. Also, wenn Sie das Installationsvideo auf überprüfen, merken
Sie, dass Fenster? Dann könnten Sie sehen, welche Sie möglicherweise verpasst haben, und dann wird Visual Studio für Sie aktualisiert. Wie auch immer, was wir heute konzentrieren wollen, ist auf sp dot net core Web-Anwendung auf. Wir werden C scharf verwenden, also stellen Sie sicher, dass Sie c scharf sehen. Er erhält eine Grundlegende. Du siehst jemanden, der ein Basic ist. Das ist nicht das, was wir benutzen werden. Bitte stellen Sie sicher, dass Sie c scharf auf sehen. Klicken Sie dann auf den nächsten Klick. Dann wird es Sie fragen, nach dem Projekt zu benennen. Also werde ich diesen einen Buchladen nennen. Dash E G I R. Also bauen wir. Weißt du, du willst deine Projektnamen als wirklich Ventas Möglichkeit machen. Willst du zur nächsten Woche zurückkommen und dich fragen, oder welches Projekt war das? Der Name sollte einfach die Geschichte direkt auf Dann erzählen. Sie müssen hier nichts anderes anklicken, es sei denn, Sie möchten ein wenig zu Ihrem Sohn wechseln. Ich werde mich wenden, um meinen Standort zu ändern. Sie können Ihren Zustand, das Zeug oder meine Dokumente oder wo immer Sie das Projekt wollen schneller ändern. Cool. Ich lasse das leer. Dann können wir weitermachen und klicken. Erstellen. In Ordnung. Also, nein, wir kommen zu dem Teil, wo sie uns fragen, welche Punktnetzkernvorlage Möchten Sie verwenden? Nein. Ich möchte, dass du gesund wirst Ich möchte, dass du auf diesen Teil achtest, weil ich ein bisschen kreativ werde. Ich werde erklären, warum ich damit zu tun habe, wie ich es mache. Vs um das glaringly offensichtliche wir Recht. Also, was sie hier fragen, ist, wollen Sie ein leeres Projekt mit, Sie wissen schon,
die Akten setzen müssen schon, . Willst du ein e p I Projekt? Wenn man bedenkt, dass dies ein e p a e p I ist, natürlich, dass man auf die offensichtliche schaut, oder? Sie fragten: Wollen Sie eine Web-Anwendung mit Rasiermesser-Seiten? Sie wollen eine Web-Anwendung mit der traditionellen mehr der View-Controller Leo Oats. Und dann können Sie auch Bootstrap, eckig reagieren, ähm, auf Redux-Vorlagen oben, vom Standard mit der Anwendung. Nein, ich habe das alles durchgemacht, nur um dir eine Vorschau auf gut zu geben, AP, ich wäre der Offensichtliche, aber hier ist, was wir erreichen wollen. Wir wollen, dass unser AP, die
Augen, die auf den Fuß gehen,
eine Benutzerauthentifizierung haben,weil , wir sahen, als wir den Postboten anfingen, dass dort FBI alt waren, und das ist heiß. Sie wissen, einige Schlüssel verwenden unmögliche dritte Anforderungen auf. Wir wollen auf jeden Fall die unmöglichen Anforderungen oben auf dem FBI verwenden,
denn das wird uns helfen, immer noch böswillige und unerwünschte Personen daran zu hindern, auf unsere
EPA zuzugreifen . Es wird uns auch schlagen in der Handhabung Sehnsüchte für Personen, die bro zing unserer Buchhandlung auf
dann die a p sind . Ich muss es authentisch alles, was zu sagen, dass, wenn wir mit einem p ein um Punkt Netto-Score
gehen gibt uns Option zu wählen, was Authentifizierung, die wir wollen. Standardmäßig wird
es keine Authentifizierung sagen. Wenn Sie versuchen, es zu ändern, gibt
er Ihnen einige Optionen. Keine Windows-Authentifizierung ist keine Option, da dies bedeutet, dass Sie sich mit Ihren Windows-Anmeldeinformationen angemeldet haben. Das ist am besten für Internet und nicht wiederum richtig, also wäre das für den internen Gebrauch. Arbeits- oder Schulkonten würden davon ausgehen, dass diese Person auf allen 3 65 Kegel auf, die nicht ideal
wäre . Ich möchte, dass die etwas Sonne und dann einzelne Benutzer Kegel wäre die beste zu verwenden. jedoch Standardmäßig wirdjedochdavon ausgegangen, dass Sie ein Benutzer in der Cloud sind, so dass wir kein Azura-Konzept haben, das Syrien wahrscheinlich nicht voll zu
schätzen weiß . Was hier tut, ist bis zu diesem Punkt, und das ist in Ordnung. Aber mein Punkt ist, dass dies vorausgesetzt wird, dass Sie bereits einige als Ihre Funktionalität
eingerichtet haben. Also ging ich auf die Verwendung von der Authentifizierung zu verzichten und darüber hinaus bin ich gegangen für würde die A P I Vorlage auf verwenden. Ich gehe direkt auf die Webanwendungsvorlage. Dann werde ich mir auch die Authentifizierungsoptionen ansehen, die sie haben. Wie elektrische einzelne usar Kegel. Du siehst, dass es anders ist. Also ja, es sieht gut aus. Es ist zu sehen, die auf bestehende mit der Kleidung verbinden. Ich habe immer noch diese Option, aber ich habe auch die Möglichkeit, off store in up, Knochen in up. Das bedeutet, dass ich meine eigene Datenbank haben und meine Benutzer in meiner Datenbank auf meinem Computer oder
auf meinem Gelände oder wo immer ich will speichern kann. Das ist also wirklich das, was ich will. Also werde ich wählen einzelne Benutzer sind Kegel. Klicken Sie auf OK. Wieder einmal verwende
ich die Webanwendung. Es spielt wirklich keine Rolle, welche ich denke, dass dieser einfacher ist, weil es einfacher ist zu löschen was wir nicht wollen. Ich zeige Ihnen, wovon ich rede. Was? Der Punkt ist, dass amüsante Webanwendung, richtig? Es ist kein P I dieses Mal, aber Web-Anwendung in Ordnung, Andi. Einzelne Benutzerspalten für die Authentifizierung. Und dann ging ich weiter. Oh, und stellen Sie sicher, dass Sie Punkt Net Core 3.1 oben ausgewählt haben, richtig? Also hättest du durch die Installation von Anwalt gegangen. Stellen Sie sicher, weil Sie verschiedene Punktnetz-Kern waren mit 3.1, das ist die neueste und größte aus Microsoft-Technologie, wie zum Zeitpunkt der Aufnahme von diesem Kurs. In Ordnung, also gehe ich einfach voran und klicke auf Erstellen, und dann wird das anfangen, etwas Magie in Visual Studio zu machen. Das könnte eine Weile dauern, okay? Und wenn es fertig ist, dann haben wir unser Projekt erstellt Kreis auf der linken Seite. Nun, zu meiner Linken habe ich meine Lösung. Entdecker. Nein, ich habe ein Video, in dem wir durch das bizarre Studio gehen und uns all die Ordner
und all die wunderbaren Dinge ansehen werden, aber nicht wahr? Nein, meine Sozialforscher links. Es ist tatsächlich beweglich. Also standardmäßig, ich denke, Sie würden sein liebes Recht sehen. Aber ich kann mich nicht nach links bewegen, weil eine natürlichere Bewegung für mich Zeh, wissen
Sie,
finden, was ich will auf der linken Seite und dann arbeiten und dann, weißt
du, links nach rechts zumindest in meinen westlichen Kontexten heben direkt. Das ist es also, um unser Projekt zu erstellen. Wenn ich zurück
bin, zeige ich dir unser eigenes Projekt, das stört, was es fähig ist. Ich werde Ihnen auch erklären, warum wir mit den Rasiermesser-Seiten auf der Authentifizierung im
Gegensatz zu der A p I gegangen wären und keine Authentifizierung schrieb auf. Dann wird dir das alles Sinn ergeben. Aberwissen
Sie, wissen
Sie, da wir hier sind, werde
ich Ihnen nur eine Vorschau zeigen. Also nur diese Vorlage. Geben Sie uns ein paar Akten. Wir haben Ewigkeiten. Inside off Seiten haben wir keine Datenschutzseite auf Haben wir eine Startdatei? Und ich werde nur den Play-Button hier klicken. So startet das Playbook die Anwendung, es geht in Build mehr Überprüfung, ob es irgendwelche Fehler gibt, sie haben uns nur Projekt gegeben. Es gibt keine Fehler, Onda. Sobald das fertig ist, werden wir unseren Broza Launch mit unserer Anwendung sehen. Keine Benachrichtigung, dass wir standardmäßig registrieren und eine Login-Schaltfläche haben. Wenn wir also die Authentifizierung gewählt hätten, hätten wir dieses Register und Sehnsucht nicht. Aber durch die Wahl einzelner ein Kegel, wir haben die wir Bohne. Nun, das Projekt wurde inklusive,
aus allen Bibliotheken und Funktionen generiert , die erforderlich sind, um die Registrierung beim Abmelden
natürlich zu unterstützen . Dies kann erweitert und manipuliert Loch, das wir wollen, und das ist genau das, was wir tun werden. Aber diese Schnittstelle wird verschwinden, weil Sie keine Störungen für über eine p I brauchen und es ist noch nicht. Andi,
ich erkläre dir das alles im nächsten Video auf. Wir werden auf etwas aufbauen, wo es eher aussieht wie ein FBI erwartet wird . Auf ein bisschen sinnvoller
7. Führung von Projektstrukturen und Dateien: Hey, Jungs, Willkommen zurück in diesem Video, wir werden eine Tour von unserer volleren Struktur und Dual im Allgemeinen aus Visual Studio machen. Jetzt, um loszulegen. Sie wollen ein offenes Visual Studio, das Sie dann zu diesem Landing-Bildschirm führt, wo er Sie wissen
können, gehen Sie voran und öffnen Sie oder erstellen Sie ein neues Projekt auf der linken Seite. Ihre Projekte werden in dieser Liste aufgeführt. Richtig? Unser Projekt ist also beide Store AP. Ich kann darauf klicken und dann wird das mittlere Fenster gestartet. Wir fürchten Solution Explorer und all Ihre Dateien. Nein, meine Lösung hat standardmäßig die Linke erlebt. Ich glaube, deine ist rechts drüber. Aber dann wissen Sie, es sind Dokumente auf DACA Schnabel und würde rund um das Lager in es auf UNP in es alle diese wunderbaren Dinge
hervorgehoben. So wissen Sie, Sie können diese Schnittstelle zu Ihrem oder wie Sie sich wohl fühlen, Ihre Sachen anzusehen. Sie können Dragon Drop es überall nach Belieben ändern auf dann. Im Projektmappen-Explorer werden alle Projektdateien angezeigt. Sie haben also die www-Route, die statische Dateien haben wird, um sogar Bereiche zu haben, die normalerweise einige Seiten enthalten, die sich auf die Identität beziehen, wie in, Sie wissen, Benutzerverwaltung auf, wissen
Sie, anmelden, registrieren Sie alles mit Benutzerauthentifizierung und Verwaltung war innerhalb dieser
Standard-Bereichsgrenze . Sie haben Daten, in denen Sie alle datenbezogenen Klassen und 100 Migrationen speichern. Ich bin nur wirklich überschwemmt, weil ich will, dass du eine Wertschätzung für das hast, was du siehst. Wenn das dein schönes erstes Mal ist. Alles klar, dann haben Sie Seiten. Nein, weil wir eine Rasierschablone haben, die mit dort arbeitet. Einige Dinge, die wir wirklich nicht brauchen, da wir ein A P I
aufbauen werden . Also, äh, wie ich im vorherigen Video sagte,
der Grund, warum ich den Rasierer gewählt habe oder ich mich für NBC entschieden hätte, ist, dass wir von der Standardeinstellung
profitieren könnten . Uhm, Benutzerauthentifizierung für einzelne A-Kegel Funktionen. Dadurch wurde
das Projekt mit einigen Standarddingen neu erstellt, die ich nicht mehr Zeit mit dem Bauen
verbringen müsste . Aber dann auch andere Default-Dinge, die wir wirklich einfach nicht brauchen. Wir werden Zeit damit verbringen, das Projekt zu reparieren, löschen, was wir nicht wollen und belohnen, was wir wollen. Aber ich möchte, dass Sie auch eine Wertschätzung dafür haben, was Punkt-Netzkern Ihnen wirklich ermöglicht,
weiterzumachen bevor ich in die Anpassungen einkomme, die vorgenommen werden sollen. Wir haben auch die oben Einstellungen, die Jason, wenn Sie darauf klicken,
das ist ah,
Konfliktdatei, Konfliktdatei, die Ihnen einige Standardkonfigurationen an der Verbindungszeichenfolge zu den
Datenbank-Protokollierungskonfigurationen zeigt und eine Menge ganze beginnt. Also werde ich nicht wieder auf sein Haben Sie das Programm nicht sehen uns? Dies ist die Standarddatei, die jedes Mal ausgeführt wird, wenn Sie auf die Wiedergabe klicken oder jedes Mal, wenn Ihre Anwendung gestartet wird. Das Programm, das CS ist wie die anfängliche Isar-Datei und dann zuletzt. Aber keineswegs wenigstens haben wir unsere Start-up Nazi s, die im Grunde verkörpert, was wir die Mitte nennen, waren so viele Konfigurationen passieren
hier eine Menge von Default-Dinge, die beim Start buchstäblich aufgenommen werden müssen. Deshalb hat es angefangen, dass CS all diese Dinge in diese Datei aufgenommen werden. Nein, dieses Feuer wird einige Modifikationen von uns erfordern, um es jetzt eine PR bereit zu machen, um fair zu sein , wenn wir die A P eine Vorlage gewählt haben, dann würden wir diese Modifikationen nicht erfüllen müssen. Aber ich wählte Ursachenvorlagen. Also werde ich einige der Gründe für verwandte Funktionen abnehmen und einige P I verwandte
Funktionen einfügen . Ein weiterer Grund, es auf dieser Reise zu nehmen, ist, dass, wenn Sie kein vollständiges Verständnis haben was dotnet Court ist, denn wenn Sie dotnet Framework verwenden, weiß
ich, dass Sie den Übergang zu dot net core machen. Es ist manchmal sehr abstrakt verwandt. Was die Dienste und was genau gehen muss, um die dominante Kernanwendung offen laufen zu lassen, so dass dot net core wie eine Baseline ist. Es verursacht, dass es eine Reihe von Funktionen ist, eine Reihe von Fähigkeiten out of the box mit ihnen. Basierend auf Ihrem Kontext werden bestimmte Funktionen standardmäßig aktiviert sein. Dann, wenn Sie mehr wollen, können
Sie sie wieder basierend auf Ihren Fotzenexponenten hinzufügen. Also, in unserem Kontext, haben wir eine Rasiermesseranwendung mit dotnet court erstellt. Also standardmäßig, ohne eine Reihe von Rasiermesser, würde
es, ähm, Söhne, die am Anfang der Nazis enthalten sind, anrufen, damit wir mit Kanada und 35 beginnen können. Wir sehen, dass wir eine Ergebnisseiten hinzufügen, die wir weitergehen können, und wir sehen, dass wir Sie statische
Dateien auf seinen Going Toe Mopp Reza Seiten haben . sind also bestimmte kleine Konfigurationen, die sich ändern würden, wahrscheinlich zum Entfernen, weil wir keine Funktionen im Zusammenhang mit Rasiermesser benötigen. Wirklich wollen eine P I verwandte Funktionen. Es ist also so einfach wie das Löschen, was wir nicht wollen, Ihren Gedanken zu ändern. Und das ist die wörtliche Anpassung, um das Verhalten von unserer gesamten dominanten
Kernanwendung zu ändern . Und das ist, warum nicht Krieg ist so cool. Lassen Sie mich Ihnen die Modifikationen abladen, die wir frisch treffen werden . Wir werden einige der Konfigurationen hier in der Startle-Datei ändern. Dann löschen wir bestimmte Fuller's, die wir nicht wollen, und erstellen Ordner ,
so dass wir Ordner und andere Dateien, die das FBI spezifisch sind, damit wir diese
Partei starten können . Also fangen wir an. Also in der Zeile 35. Also werde ich alle diese Konfigurationen belassen, weil diese sagen, dass
ich beim Starten der Anwendung einen DVD-Kontext mit SQL Server Onda Um F Kern oder in einen anderen Work Core verwenden möchte weil es eine Reihe von -Konnektoren für andere Datenbanken können Sie SQL Server verwenden. Sie können meine SQL auch auf. Sie haben einige Connectors verfügbar, daher verwenden wir SQL Server, da wir eine SQL-Server-Datenbank auf haben, werden
wir die Standardverbindungszeichenfolge verwenden. Ich werde auch ändern, was wir auch die Standardidentität verwenden werden. Das bedeutet also, dass die Standardauthentifizierungsbibliotheken verwendet werden. Leider wäre
das enthalten, wenn wir die Projekte erstellt haben, die einzelne Benutzer die
Authentifizierungsoption cones . Ja, das
ist alles eine Art Bootstrap in diesen beiden Anrufen, richtig? Also sagen wir, wir benutzen die Datenbank, die bei diesem Tee angerufen wird, um später eine Verbindung herzustellen . Wir werden das ändern. Wir werden diesen BB-Kontext verwenden. Die Löcher über die Datenspeicherung der Benutzerauthentifizierung, richtig? Das ist es, was das sagt. Aber dann der Teil, wo es Arterien oder Seiten sagt, Ich bin nicht wirklich interessiert an Arterien von Seiten. Ich interessiere mich für Controller, also haben Sie Reza-Seiten jede halbe NBC und wir sehen das Meer sagt für Controller, so dass AP Augen in der Regel auf Controller-Funktionalität basieren. Also werde ich das von Batterien von Seiten auf Adah-Controllern ändern. Also sage ich der Anwendung, dass ich Controller verwenden werde, für, wissen
Sie, was auch immer ich als nächstes tun muss, wir werden von Ihnen Statische Dateien jemand ändern, um Sie statische Dateien zu entfernen, weil Ich brauche wirklich keine statischen Dateien in meinen a p i statischen Dateien, sind Sie verderben, wenn
Sie wissen,
Javascript und CSS haben Sie wissen, . Die Dateien, die für
Styling erforderlich sind . Ich brauche die nicht, weil ein FBI nicht passieren wird. Stört zumindest die AP-Augen. Wurden Sie gerade angerufen, auf einer Datenbank zu sitzen, oder? Also entferne ich die Verwendung statischer Dateien auf Ich gehe auch die Änderungslinie 63, um Endpunkte zu sagen , die Controller mop. Alles klar, irgendetwas, das Rasiermesser sagt, ich ändere es, Toto Controller? Nein, mit all dem, können wir
nicht einen Build auslösen, und das ist, indem wir die Steuerverschiebung auf B halten , das ist eine Tastatur. Hai-Schnitte. Alternativ können
Sie einfach zum Menüpunkt Build on Click Build-Lösung gehen, der den gleichen Tastaturhai anzeigt. Was? Für dich. Also, egal welche Option Sie bevorzugen, Sie können dies nein tun. Ordnung, also ist dieses Gebäude fertig, was ich tun werde, ist die Führung, einige von den Ordnern, die wir wirklich nicht brauchen. Also werde ich mit www Route beginnen. Also, wenn ich in www Routinen schaue, werden
Sie sehen, was wir sehen werden. CSS gs lib. Richtig. Also, wie gesagt, alle statischen Dateien,
die für
Javascript-Styling all diese wunderbaren Dinge für die Benutzeroberfläche benötigt wie gesagt,
alle statischen Dateien,
die für
Javascript-Styling all diese wunderbaren Dinge für die Benutzeroberfläche benötigtwerden, würden in W W
Route gespeichert werden. werden, würden in W W
Route gespeichert werden Jetzt habe ich gerade die Notwendigkeit entfernt, statische Dateien zu
haben. Also brauche ich wirklich keine www-Wurzeln. Ich werde das entfernen, also klicke ich einfach darauf. Drücken Sie ENTF. Es wird sagen, dass alles dauerhaft gelöscht wird, sage
ich. Okay, lass es weitergehen. In Ordnung. Als Nächstes drauf. Wir haben Bereiche, die wir keine Ära brauchen. Also, wie ich schon sagte, Bereiche kommen mit einigen Identitätssachen, aber es ist nicht die Identitätsfunktionalität, richtig? So kann ich Bereiche entfernen. Ich halte nur auf Kontrolle auf Klickseiten auch, so dass wir Bereiche auf Seiten entfernen können. Also, indem Sie auf klicken, dann halten Sie es auf Kontrolle und nehmen Sie eine andere. Ich wähle zwei auf einmal aus und dann drücke ich Löschen, so dass nur alles entfernt wurde. Einmal in Ihrem Projekt wird ein bisschen schlanker. Sie wissen also, dass es schneidet, aber entscheidet so wirklich? Eigentlich ein e p. Ein Projekt nicht viel von $4 haben, richtig? Denn wieder einmal haben
wir wirklich nur Gerichtsakten, die manipulieren, Anfragen
aushändigen und Theater manipulieren, um Antworten zu geben. Richtig. Aber um die Anfragen zu bearbeiten, was wir brauchen, sind Controller, richtig? Also gehe ich mit der rechten Maustaste auf mein Projekt. Also haben wir die Lösung an der Spitze. Aber es gab das Projekt Feuer unten auf. Ich werde mit der rechten Maustaste auf. Dann ging ich zu neuen oder sorry, fügen Sie auf, dann zuerst sie ohne einen neuen Ordner. Also lassen Sie uns sagen, Ordner hinzufügen und dann die volle Ich werde Controller haben. Nein, Mein Vorschlag an Sie ist, dass, wenn Sie mir das richtige Kapital C für etwas sehen, Sie auch Kapital C auf Ihrer Seite schreiben. Viele der Male, die er Zeit damit verbrachte, Dinge zu debuggen, nur um zu erkennen, dass
Sie wissen, dass Sie ein gemeinsames wenig hatten, wo es Kapital hätte sein sollen und umgekehrt. Also werde ich immer versuchen, gute Codierungsstandards auf def zu halten. Sie folgen nur , der Konvention,
die ich vorschlage, dass er kein Problem haben sollte. Also haben wir einen Ordner namens Controller? Nein. Unser Controller-Ordner wird spezielle Klassenfeuer oder spezielle Gerichtsdatei enthalten Buchstäblich genannte Controller und Controller tun genau das. Sie steuern den Fluss aus der Anwendung. Also wird unsere Anfrage an eine Adresse gehen, die bei der Kontrolle abholen wird. Dann wird es sagen, OK, hier ist unsere Antwort auf Ihre Anfrage. Also das erste, was ich tun werde, um unsere nächste Sache, die ich tun werde, oder andere, ist Schläger. Mein Controller schwelgt. Geh. Mach Ida nicht drauf. Wir werden einen neuen Controller hinzufügen. Sehen Sie? Es sollte an der Spitze sein. Wenn Sie keinen Controller sehen, als Sie auf neues Element klicken können, wird
es die gleiche, die Box sind angezeigt. Was? Ich denke nur, Neuer Artikel, weil ich wieder auf das gleiche jedes Element. Wenn Sie also ein neues Element erstellen, sehen
Sie Controller-Klasse auf dann den Standardnamen. Auch es. Entschuldigung. Siehst du, Controller-Klasse und du siehst eine P-I-Controller-Klasse oder was wir wirklich wollen, ist ein
A-P-I-Controller . Okay, das ist, wenn du zu einem neuen Gegenstand gehen musstest. Ich werde absagen, und ich ging auf den neuen Controller. Also klicke ich. Fügen Sie Gehe zu Controller ein. Dann kommt dieses Geld dort auf, wo es mir spitzere Optionen gibt. Also werde ich einen FBI-Controller leer sehen. Es könnte mit Lese-Schreib-Optionen steuern. Andi Pair Controller mit Optionen in verschiedenen arbeiten hart. Also, jetzt werde
ich nur einen P-I-Controller wählen. Leer. In Ordnung, auf. Dann klicke ich auf „ Hinzufügen“, dann wird es mich fragen, welchen Namen ich ihm geben möchte? Also der Standardname wird Standard sein, aber ich werde es zu Hause nennen, jemand zu sagen, Home control. Und das ist der Name meines ersten AP-I-Controllers. Dann klicke ich auf Hinzufügen, und es war, einige Zeit zu verbringen. Gerüst lädt den Controller. Alles klar
, nein, unser Controller ist fertig und Gerüst ist nur der technische Begriff. Um zu sehen, automatisch generiert ziemlich richtig. Also, wenn wir diesen Controller bekommen. Ich meine, es ist eine unkomplizierte, scharfe Gerichtsakte zu sehen. Wir haben Aussagen an der Spitze oder Namensraum, das ist unsere Projekte. Nennen Sie Punkte, der vollere Name. Richtig. Also haben wir das Projekt an, dann den Ordner. Gleich drauf. Dann haben wir die Wurzeln. Also die grobste sagen uns, dass, um zu diesem Controller zu kommen ,
wir müssen
die grundlegenden Mädchen eingeben ,
dann Schrägstrich ap ich den Namen von der Kontrolle. , Alles klar, also um zu beginnen, waren
Controller zu Creo gegangen, wird eine Aktion aufrufen. Also auf Aktion ist normalerweise das, was die Anfrage behandelt, die von,wissen
Sie,
einigen Drittanbieter-Anwendungen kommt wissen
Sie, . Also auf tatsächlich müsste eine Öffentlichkeit auf sein. Es ist ein Telefon gezeigt, richtig, also haben wir den Rückgabetyp. Ich resultiere tatsächlich direkt auf. Dann geben wir ihm einen Namen. In diesem Fall werde
ich es Index nennen, weil Index wie ein Standardpfad für die erste ist,
Sie heizen, wenn Sie anrufen. Bestimmte Websites sind mit ur sonst auf. Was wir dann innerhalb dieser Aktion tun werden, ist ein Ergebnis zurückzugeben. Also werde ich nur eine Rückkehr sehen und dann mit den verschiedenen Zahlen des FBI stellen
verschiedene Dinge dar und die beste Nummer, die Sie bekommen können, wenn Sie etwas auf einem e p a versuchen, ist die Nummer 200. Das bedeutet, dass alles in Ordnung ist. Das coole Ding ist, dass Punktnetz uns Funktionen gibt, die ich die Rückkehr verloren habe. Diese, ähm, Antwort ist ziemlich leicht so. Ich würde einfach sagen OK, darauf ist eine Funktion. Also, wenn man sich die Intelligenz anschaut, sagt
es, dass es ein okay Ergebnisobjekt erstellt, das einen leeren Status erzeugt, der
200 richtig erzielt ? Also, wenn ich gerade sagte Rückkehr in Ordnung, es würde nur 200 zurückgeben Aber ich möchte eine Nachricht von seiner zurückgeben, kann ich tatsächlich nur
Daten innerhalb des rechts gezeigten Telefons einschließen . Es gibt also eine Überlastung, bei der das Objekt einbezogen werden kann. Also, wenn ich es habe, möchte
ich mit dem Status zurückkehren. Okay, dann kann ich das tun. Also sag einfach, hallo Welt. Er wird zurückkehren. Starten Sie uns 200 Orochi mit dem Text. Hallo Welt. Also, das bleibt für einen Spin. Also werde ich nur auf den Play-Button klicken. Es wird in Build mit Misha gehen, haben keine Syntaxfehler und es wird Licht-Version ausschalten. Ich bin dann wahrscheinlich der Browser. Alles klar, wenn Ihr Browser geladen wird, werden
sie wahrscheinlich nach einem Status für eine Vier sehen. Und das http rief für mich, es ist kein Telefon. Was es sagt, ist, dass es keinen Standardpass oder irgendwelche Inhalte gefunden hat, die an diesem
Standard-Topt zurückgegeben werden sollen . Das ist also unser kleines Mädchen. Jedes Mal, wenn wir in de Boot vor Anker gehen, werden wir einen lokalen Host, den Doppelpunkt auf irgendeinem Hafen zu bekommen. Andi Nun, es funktioniert im Allgemeinen nicht, es sei denn, du bist in B, aber mehr, wo im Bootsmann es funktioniert nicht, ähm, weiter. Das ist also eine Anomalie oder Anlass zur Besorgnis, richtig? Was passiert, ist, dass, wenn Sie genau hinschauen, es sagte, dass, um zum Controller zu kommen, wir müssen Schrägstrich ap I Slash Controller sagen. Also haben wir unsere Basis. Du bist es. Ich weiß, was okay ist. Ein Schlauch Doppelpunkt 4432 Lassen Sie mich auf notwendigen Spitzen offen legen, was wir tun müssen, ist sagen, Schrägstrich ap ich Schrägstrich Und dann sagte er, Controller und eckige Klammern. Also, wenn es ein Steuerelement einfügen Klammern, was er wirklich meinte, war Schrägstrich den Namen aus dem Controller, die wir nach Hause nannten. Wenn ich das mache, werden
wir sehen, wie Hallo World zurückgegeben wird. Aber das ist nicht genau dort, wo ich will, dass wir das testen und validieren. Denk dran, es ist ein FBI. Also kann das FBI alle möglichen Dinge zurückgeben, die zurückkehren können. Zumindest können sie ein paar Jason-Objekte zurückgeben, so was. Hallo World ist nur ein billiges Paar, so dass wir einen schnellen Sieg für die Dauer von
dieser Lektion haben können . Aber nur die Spitze, alles aus. Ich will, dass wir Postboten benutzen. Also habe ich hier verbracht, und was ich tun werde, ist eine neue Anfrage zu erstellen. In Ordnung, also werde ich es einfach durch den gleichen Weg ersetzen, auf dem ich ihn in den Postboten gesteckt habe. Ich verstehe, dann klicke ich auf Senden. Dann bekommen wir die gleiche Antwort. Kleine Welt, noch der Grund, dass Sie im Postboten zeigen, ist uns, weil aus dem Status. Also siehst du das nicht in der Broza. Zumindest ist es nicht für Sie verfügbar, aber Sie werden den Status 200 sehen. Okay, zurückgegeben
zu werden. In Ordnung. In Ordnung. Jemand, der diese Lektion hier beenden kann. Ich glaube, wir haben genug getan. Wir ordnen die Ordner um, um förderlichere Zehenuhren erworben für oder ein P I-Projekt, um den ganzen Kampf alle statischen Fans zu
beschichten und klassifiziert, die ich wirklich nicht brauche. Wir haben einen Controller auf erstellt. Wir haben unsere erste Option entwickelt, bei der wir das FBI mit Postboten getestet haben, nur um sicherzustellen, dass wir die richtigen Ergebnisse aus der Aktion bekommen. Also in unserer nächsten Lektion werden einige Konfigurationen fortsetzen, wie wir anfangen, Zeh, wissen
Sie, bringen Sie dieses ganze FBI in Schlepp-Realität.
8. Aufstellung und Verwendung von Swagger: Hey Leute, willkommen in diesem Kalbfleisch, das wir überprüfen,
konfigurieren und stärker verwenden werden . Wie auch immer, jetzt habe ich schon erwähnt, wie wichtig es ist, gut dokumentierte AP Augen zu haben. Sie dienen als Leitfaden für Personen, die das
A P.A.
On git konsumieren würden A P.A , sagt ihnen, wie es verwendet wird, was sie nennen sollen, wenn sie wollen. Welche Art von Informationen über DSO Swagger macht eine ausgezeichnete Arbeit, wissen
Sie, die
Erstellung von Dokumenten helfen uns, Dokumente zu erstellen. In der Tat nahm
er uns die automatische Generierung von Dokumenten, basierend auf dem, was wir entwickelt haben. Und so werden wir diese Zeit nutzen und sie in unser FBI
integrieren. Im Moment haben wir nur einen Punkt, aber dann, Sie wissen, dass wir in den Kampf stecken. Ich schaue es mit einem in Punkt an und setze dann etwas anderes ein und schaue dann einfach
alles an , was für uns generiert wird. Also, um loszulegen, müssen
wir Swash Schnalle einschließen. Deine Taumelschnalle ist wackelig. Ist dotnet Bibliothek so ziemlich, um das zu tun, werden
wir ein Tool aufrufen Sie zu verwenden, so dass wir einfach mit der rechten Maustaste auf unser Projekt klicken. Dann gehen wir nach unten, um neue get Pakete zu verwalten. Sobald das herausgestellt ist, ist
es ein Fenster, das uns eine Reihe von Paketen zeigt, die wie Bibliotheken sind die Funktionalität haben, oder? Sie wissen also nicht, was für ein Paket für eine bestimmte Sache und Sie erhalten ein Bündel von Funktionen und Funktionalität so ziemlich, dass Sie hier sehen werden, dass dies alle diejenigen sind, die
bereits installiert sind . Also wollen wir Boro, weil Sie diejenigen, die nicht Installateure es auf wollen. Ich würde empfehlen, dass Sie auf die Vorversion einschließen klicken, nur für den Fall, dass die Version, die Sie verwenden Version von Donna Corps, die Sie verwenden, die Sie die Version aus der Bibliothek verwenden,
möglicherweise nicht enthalten ist. Wenn Sie nicht klicken, schließen Sie vor der Veröffentlichung ein. Sie wollen die neueste Bibliothek für die neueste Version dieses Kerns. Wie auch immer, wir gehen weiter und suchen weiter. Ich suche nach Boco. Also, das ist S W A s waschen Boco. Alles klar, und wenn wir diese Suche machen, wird ein paar Ergebnisse sehen und wir werden
die nicht für seine Fütterung übernehmen, es Punktnetzkern, damit das drei Jahre sein wird, richtig? Wir wollten nur einen Schläger, einen Sergeant. Ich will Swagger. Du. Warum? Also wissen Sie nicht, was es Sie müssen nur über die Linie bewegen und Sie werden den Pfeil nach unten sehen , richtig? C, um den Pfeil nach unten zu schlafen, und dann wird es mit den Servern verbinden, bitten Sie, etwas zu akzeptieren auf. Dann lässt du es sein Ding machen. Und dann, wenn es erfolgreich installiert, sehen
Sie den grünen Pfeil? Also haben wir das bekommen. Holen wir uns den nächsten,
der Slugger ist. Gin. Ich weiß das nur nicht. Dass es sein Ding tut. In Ordnung, also haben wir das eine Werkzeug an. Dann würde der letzte ausgesaugt werden. Du. Warum? Also wissen wir das einfach nicht auch. Nun, nachdem wir es nicht geladen haben, all diese Bibliotheken. Wenn wir zum installierten Stich zurückkehren, würden
Sie sie dort aufgelistet sehen. - Natürlich. Sie möchten die Suche löschen, damit sie alle Bibliotheken sehen können, die, Sie wissen, haben Höflichkeit aus neue bekommen die, die der blaue Pfeil nach oben sind. Es ist also, ich meine, du kannst zum entsprechenden Stummel kommen. Sie können alle auswählen, und er kann aktualisieren, aber ich werde nicht tun, dass manchmal aus seiner erfordern Sie einige große schlechte Änderungen zu machen . Und das werde ich nicht in diesem Video oder in dieser,
du weißt schon, Lektion durchmachen , damit wir das bis später verlassen können. Aber das Wichtigste ist, dass wir Schwenkschnalle installiert haben und wirsowieso
zum ersten Mal
weiterkommen sowieso
zum ersten Mal . Das nächste, was wir tun möchten, ist eine Konfiguration einzurichten. Also, wie wir besprochen hätten, bereiten Sie sich darauf vor, über CS-Dateischläuche, eine Reihe von configuration und initialisieren Sie er, die benötigt werden, wenn unsere Danek oder Anwendung startet. Also, natürlich möchten Sie einschließen oder neuen Service oder unsere neue Bibliothek, die stärker ist. R Slash Vocal, ähm, in unsere Mitte wo? Das ist, wenn die Anwendung gestartet wird. Es ist sich bewusst, dass dies ein Dienst ist, der eingeschlossen werden muss,
jemand, der mit der Einführung beginnt, nachdem ich die Datenbank initialisiert habe. Aber bevor ich meine Controller initialisiert habe, ist es manchmal wichtig, wenn Sie
Dienste initialisieren . Manchmal möchten Sie diesen Dienst nicht vor diesem Dienst initialisieren. Ich lasse normalerweise diese Kontrollen für zuletzt, weil durch die Zeit die Controller hinzugefügt werden. Alles andere hätte an Ort und Stelle sein sollen. Das tue ich nicht, wenn ich hoffe, dass das Sinn ergibt. Also sage ich immer, dass Ordnung wichtig ist, wenn Sie sich nicht stören können. Sind die Reihenfolge scheint Zeh, wissen
Sie, schwer zu verstehen. Lassen Sie diese Controller einfach einen für den letzten. Ziemlich viel. In Ordnung, also lassen Sie uns den Fußballdienst hinzufügen. Also, um zu beginnen, werden
wir sagen, dass Dienste auf. Dann sehen Sie möglicherweise keine Liste der fehlenden Anzeige auf. Dann nach Missbräuchen, Swagger. Da gehen wir. Fügen Sie Swagger Jensen
hinzu,indem Sie unsere
Bibliotheken einschließen hinzu, . Sie wissen, wie diese neue Erweiterungsmethode. Also füge Fußball-Gin hinzu. Dann müssen wir so etwas wie einen Wundausdruck einbringen. Also werden wir reden sehen. Haben Sie
dann auf gesehen ? Ein Pfeil, rechts. Ähm, Andi, öffnen und schließen. Schaffen Sie eine Brise. Das ist also erst der Anfang. Wir sind überhaupt nicht fertig. So Dienstleistungen, die Anzeige sah Gourgeon offen. Dann anschnallen . Du bist ein Lambda-Ausdruck. Du redest mit dem Pfeil. Dann öffne es. Verloren. Wirklich brise enge Brise für Klammern und dann zynisch. Und
wo soll man anfangen, innerhalb der geschweiften Klammern auszufüllen? Nein. Mit einigen Informationen, die für Sergeant benötigt werden, um operieren zu können. Also breche ich nur die Linie und ich bin mit der Spitze, so dass es schlagen aussieht. In Ordnung auf. Dann werde ich mit meinem Ausdruck beginnen, der
das Meer oder Land ist. Ein Token. Siehst du den Onda-Schlugger? Nein. Na gut, dann
auf, Öffnen. Klammer auf. Dann schicke ich mir einen Anruf und wieder. Also mache ich es einfach landen, damit
es, weißt
du, weißt
du,nicht verwechselt wird, wenn du es produzierst. Dann werden wir anfangen, auf ein paar Informationen über Saga zu fühlen. Also, wenn ich mir die Funktionsparameter für die Fußball-Dokument-Formulare anschaue und nach einem Namen fragt, dann fragt es nach einer P-I-Info. Ordnung, also der Name, den ich ihm geben werde, ist V eins, wie in Version eins, das ist die erste Version des FBI, also hilft Fußballklopfen tatsächlich bei der Version. Wissen Sie, wenn Sie mehr als eine Version aus dem Spiel haben, vielleicht in der BBC-Version habe ich, dass Sponsoren und eine kostenlose Version und kostenpflichtige Version. Du kannst Dom haben. Fußball erzeugt getrennte Dokumente Tier darauf. Aber es hängt alles von Ihrer Konfiguration ab. Dies ist also die erste Version des Paares, das sich auf den Bau vorbereitete. Also V eins an, dann werde ich ein mittags geöffnetes FBI in vollem Umfang sehen. Entschuldigung. Die Art ihrer offenen a p Ich bin voll rechts auf dann. Dies ist eine neue a p a in für öffnen a b a in für Objekt. Aber ich bin gerade gegangen, um es hier auf dann innen aus dem Limiter zu initialisieren speichert diese Klammern, die dann innerhalb von offenen a b a in für diese sind die Datenpunkte angepasst Kontrolle und Raum und zeigen Sie mir alle Datenpunkte, die ich eine Menge Filo innen aus bin dies, damit ich einen Titel sehen kann, ist gleich und ich möchte es meinen Buchladen nennen 80 i für einen Irren, all das meine, das sieht ein bisschen zu persönlich. Wir versuchen, uns professionelle Welt
vorzubereiten. Also Buchhandlung ein p I auf dann Komma Version. Andi,
ich kann sagen, Version ist gleich Zehe V eins. In Ordnung, aber wenn du siehst, dass du einen Zwerg von all den Dingen hast, von denen du das Gefühl hast, dass er
nur Komma kleben könnte . Sie können in Kontaktinformationen setzen, mehr aus einer Beschreibung. Sieben setzen Krieg zur Beschreibung. Also werde ich nur die Leitung bremsen, damit es nicht zu durcheinander aussieht. Freunde. Oh, unser Feind. Ja. Manchmal bin ich von diesen Dingen besessen. Alles klar, Sam, diese Bruchlinie, die
versucht, alles nach Bedarf aussehen zu lassen. Also gib noch nicht mit mir. Fahrten, die ein bisschen besser sind. Also das nächste, was ich setzen wollte, war Beschreibung auf dann Beschreibung. Dies ist auf pädagogischen für einen Buchladen. Alles klar, das ist Schritt eins, um unseren Schläger einzurichten. Also haben wir den Service für Fußball hinzugefügt. Sie wissen schon, Dokumentengenerierung. Ziemlich viel. Das ist es, was das hier nur sieht. Dann sagen wir, dass dies beim Generieren des Dokuments einige statische Werte
sind, die wir haben müssen. Das ist also ein Titel aus dem Dokument. Die Version aus dem Papier und die Dokumentation Onda die Beschreibung. Alles klar
, als nächstes gehen
wir über unsere Konfigurationsmethode. Das war also die Conficker-Service-Methode, richtig? Das wird Käufer der Laufzeit genannt. Nein, wir werden mit dem Conficker stumm werden,
der auch Gelehrte pünktlich bekommt. Und es wird für die TTP-Anforderungspipeline verwendet. Also das erste, was ich für diesen Abschnitt hinzufügen werde, werde ich direkt unter
dieser Aussage tun , ist oben, dass die Verwendung slugger. Alles klar, offen und diese Klammer. Also bin ich mit schrecklichen Aufsehen, um diese, auf die du rummachst. Dann gibt es noch ein Land, dass jeder, der ich sagen muss, dass er Swagger benutzt. Ich erinnere mich daran. Wir wissen nicht, dass drei Bibliotheken, oder? Also, Swagger, Jen war der Dienst. Ich sage, du Schläger, ich nein, ich sage, du stinkst dich. Warum? Was ist, na ja, uns kurz für die Benutzeroberfläche. Und dann benötigt dieser ein wenig von dem Lambda-ähnlichen Ausdruck, ähnlich dem, was wir gerade gesehen haben. Also muss ich Klammern öffnen und schließen. Setzen Sie meinen Alarm, das Gespräch und ich benutze. Siehst du, du kannst so ziemlich alles benutzen, was du willst. Gott sieht, fange an für die Konfiguration in meinem Kopf. Aber ich sehe dich nicht am meisten. Sehen Sie, ähm, der Pfeil auf, dann öffnen enthält Brise an, dann Semikolon. Also innen weg die Klammern würden sagen, si dot slugger Endpunkte Rechte zu sehen Intelligenz spricht genau das, was wir tun wollen. Alles klar, Andi, nachdem wir gesagt haben, sehen Sie diesen Sauger in Punkten, und Sie werden das sehr
ähnlich tippen müssen . Das Ganze, das ich tippe. Es ist, wo ohne vor Schrägschlag slugger Cess wieder, v ein Schrägstrich Slagerpunkt j, Sohn. Alles klar, das ist wahrscheinlich eine Sache, die Sie meinen, das ist, wie viel Spielraum Wunschintervall der Eingabe. Und das tun Sie wahrscheinlich. Sie können es wahrscheinlich ein bisschen einfacher machen, aber wir können es einfach so unter Spontaneität lassen, ähm, und dann Komma auf den Namen. Also ich bin nur mento Wiederverwendung der Titel, die ich auf Setzt es als den Namen hier erscheinen hatte. In Ordnung, also, nein, wir haben unserer Anwendung gesagt, dass wir Slugger benutzen wollen. Also bitte, Herr, diese , Bibliotheken,wenn die Anwendung nur für den Fall läuft. In Ordnung? Nein. Lassen Sie uns versuchen und sehen, welchen Unterschied es macht, wenn ich gehe, um festgemachte Orb zu debuggen Roeser wird auf, gehen Sie auf die 40 sicher. Aber dann möchte ich die Fußball-Dokumentation sehen, so dass ich Schrägstrich auf dem Weg sehen kann, dass ich gerade in, das war slugger Schrägstrich v ein Schrägstrich slugger, nicht J Sohn. Also, wenn ich das mache. Also bekomme ich diesen Pfeil, und ich kenne Frau. Ich weiß, warum. Also gehe ich zurück zu meinen Projekten. Alles klar, also war das Problem nur, weil ich vom Controller, den ich für das FBI habe. Was passiert, ist, dass, wenn Sie eine öffentliche Aktion in einem A p I Kontrolle haben, aber Sie haben ihm keine Ruheattribute gegeben und wir bald in andere Ruhe geraten. Eigentlich schrecklich. Der Punkt ist, dass es nur da ist. Es wird tatsächlich abwehren, mit dem Swagger
konkurrieren. In Ordnung, also hier ist, was wir tun werden. Ich werde diesen Controller löschen. In Ordnung? Zu Hause war die
Kontrolle darüber unser Experiment, nur um sicherzustellen, dass unsere Leute ich arbeite, also dachten wir es. Also werde ich es einfach löschen. Dann werde ich ein neues hinzufügen, also werde ich nur mit der rechten Maustaste klicken Ich gehe zu Controller auf. Dann werden wir dieses Mal sagen, ich will einen AP-Controller mit lesen richtigen Aktionen. Dieser wird uns also geben, wie eine Vorlage? Nein. Es ist also keine Blondine. Kontrolle der Kraft ein Ausfüllen. Dies ist eine Vorlage. Richtig? Also klicke ich einfach auf Hinzufügen Ich werde dieses nennen. Nun, ich schätze, ich kann es wieder „Home Control“ nennen. Also bin ich nur nach Hause steuerbar mit automatisch generiertem Kabel. In Ordnung. Und los geht's. So können Sie sehen, dass diese es ein bisschen bunter ist, ein bisschen lebendiger als die vorherige auf dem, was ich über die restlichen Attribute gesagt habe wären diese, um Attribute Datenannotationen, die eine Notation sind, die über dem Aktion. Also das ist, ich bekomme, dass gesagt, Rest Verb. ich nicht. Ich bekomme, dass Stützen. Das ist ein weiterer Ver Putt. Löscht Dies sind alle Handgelenkverben. In Ordnung, das sind
also die Handgelenk-Attribute, von denen sie reden, also werde ich das noch mal versuchen. Ich gehe zurück, um mehr zu widmen, aberjede andere Änderung
vorzunehmen, jede andere Änderung
vorzunehmen, aber wenn ich meinen Controller neu erstelle, werde ich einfach wieder in das Debuggen gehen. Und wir sind zurück Attar für vier. Lassen Sie mich das noch einmal versuchen. Slash Swagger Slash v ein Schrägstrich Slager Punkt j. Sohn, wenn ich das nicht tun, Sie sehen alles in Ordnung, einige Dokumentation. Aber dann ist das offensichtlich nicht sehr entschlüsselbar. Wenn du Jason noch nie gesehen hättest, würde dir das keinen Sinn ergeben. Wenn du Jason kennst, dann bedeutet es immer noch nicht, welchen Sinn es tut. Nein. Du musst dich hinsetzen und es studieren. Also, um auf die eigentliche Swagger Sie ich, die schöne Benutzeroberfläche, sind das schöne Dokument, dass wir über Boote sprechen. Du würdest einfach alles abnehmen und Slash Slager. Also ist es lokaler Host Doppelpunkt Flughafen Schrägstrich Swagger. Und sobald Sie das tun, wird
es auf Index dot html mit einem schön generierten Dokumente umleiten, die Ihnen alle von
Ihren in Punkten zeigen . Miss, wenn ich das ein wenig runterbringen kann und es neben uns bringe, dann haben wir im Visual Studio, richtig? So können Sie die statischen Werte Buchhandlung sehen. Ap I. Dies ist ein pädagogisches Paar für eine Buchhandlung. Das ist die Beschreibung, Appleton. Ähm, weißt
du, wir haben Stärke. Na ja, alles in Ordnung. Also haben Sie die Get-Funktion. Ich würde dann alle Werte auf
zurückgeben . Das ist Telefon bei einem p Schrägstrich nach Hause. Sag mal, es sagt, du bekommst es, dass ein Schrägstrich nach Hause drinnen kann und es zeigt dir, ähm, einige, du weißt schon, Schaltpläne sind Boote, die Funktion. Also natürlich kann
dies viel fortgeschrittener werden, ist ein sehr grundlegendes und es wurde automatisch aus grundsätzlich
nichts generiert . Also, weißt
du, es ist ein guter Schritt in die richtige Richtung. Sie zeigen auch, dass jemals bekommen, wo Sie einen ps Schrägstrich nach Hause Schrägstrich i D sehen können, was eine Methode ist, die wir hier auf haben. Dann, wenn wir uns das genauer
ansehen, zeigt es Ihnen die Beschreibung des Parlaments und dass es von den möglichen
Antworten erwartet . In Ordnung, also bin ich nicht bereit, in eine Erklärung zu gehen, was Sie wissen, was jede Funktion ist, wie es funktioniert, richtig? Nirgends konzentrieren sich nur auf basierte Linienkonfigurationen, weil wir diese Dinge von Anfang an aus dem
Weg bringen ,
so dass
Sie, wenn wir mit unserer Entwicklung beginnen, nicht nach dem Doppelten wieder tun diese Dinge wieder. Kein Zurück zu unseren Projekten bei unserem Start dieser CS-Datei. Ich kann es nicht genug betonen, dass Dokumentation sehr,
sehr wichtig ist . Es ist ärgerlich, aber es ist wichtig, weil, wissen
Sie, wenn wir gute Dokumente zur Verfügung stellen, das reduziert die Notwendigkeit, dass Menschen sich an Sie wenden, um Unterstützung zu erhalten. Was wir also tun werden, ist, die Fähigkeiten von den automatisch generierten Dokumenten zu erhöhen. Also werden wir in,
ähm, einschließen, was wir externe Dokumentation nennen, die standardmäßig in Visual Studio weit nach Nachbarschaft ist, aber es kommt in Visual Studio. Aber dann kann Swagger es tatsächlich nutzen und es in seine schöne
Dokumentation aufnehmen . Und was wir tun möchten, ist zum Projekt zu gehen, Rechtsklick, gehen Sie zu Eigenschaften auf, dann innerhalb von Eigenschaften. Wir werden auf Once in build aufbauen, werden
wir zwei Dinge tun. Die erste 1 für mich ist dieses Eine Wort sagt alle setzen Pfad oder Ausgabe. Ich sehe XML-Dokumentationsdatei. Wir nehmen das einfach. Was wir sehen, ist, dass
wir im Hintergrund ein Projekt wollen. Die Dokumente behalten ihre eigenen Dokumente. Das und es wird in Form einer XML-Datei sein. , Sobald wir eingeschlossen haben,dass wir anfangen, einige Warnungen zu bekommen, sind Boote, wissen Sie, dass sie jede einzelne Funktion
benötigen, um dokumentiert zu werden. Ich zeige Ihnen ein Beispiel. Also gehe ich zu mir, diese Änderung, speichern, und dann zurück zum Heimcontroller. Und dann merkst du, dass du grüne Linien bekommst, ähm, unter der Klasse, unter dem unter dem Namen aus der Aktion. Und wenn du vorbei bist, sagt
die Funktion oder die Luft. Oh, tut mir leid. Es wird ein fehlender XML-Kommentar für öffentlich sichtbares Mitglied angezeigt, dass
sie einmal einer öffentlichen
Eigenschaftsfunktion oder -klasse erwarten, dass Sie es dokumentieren werden. Und das ist, was jede bringen diese Option bedeutet. Also, wenn sie sagen dokumentiert, ich meine, Sie setzen drei, wissen
Sie, das ist eine regelmäßige gemeinsame verfolgt. Aber wenn man die drei ablegt, erzeugt
es diese Zusammenfassung, und dann siehst du das? Also, dass Warnung mit alten gegangen Alles in Ordnung,
Also, wenn Sie das über jede einzelne Art von erzeugt eine Zusammenfassung, wo es sagt, okay, kehrt zurück, wir wollen den Leuten sagen, was es zurückkehrt. Wir sollten eine Beschreibung von dieser Funktion geben,
unserer Klasse, unserer Klasse, was auch immer es ist, richtig. Das ist also wirklich cool. Es ist irgendwie automatisch generiert. Wenn Sie ah haben, Parameter. Ich habe hier einen Int-Umfang. Es ist Param Namen I d zu
sehen , also ist es sehr cool. Aber die Sache ist, dass Sie ärgerlich
werden können, sie können ärgerlich werden, besonders wenn Sie nicht jede einzelne Öffentlichkeit dokumentieren müssen, um, Eigenschaft und Funktion. Richtig. Also, was wir tun werden, ist doppelter Dollar auf das gleiche Eigenschaftenfenster und das Build auf Wir werden die Warnung unterdrücken. Wenn wir also über den Pfeil schweben,
tut ,
tut es mir leid. Ich dachte, sie würden Ihnen die Fehlernummer zeigen, aber es gibt normalerweise wie ein Kabel Associate ID mit unserem Sie sehen, ob wir gehen. Also, wenn Sie die Liste der Ära runtergehen, dann sehen Sie sich die Warnungen an, die Sie bekommen. Sie sehen, dass eine Nummer mit der Warnung verknüpft ist. Also sehen Sie, nur indem Sie dieses Nein aktivieren, erwartet
es, dass ich diesen XML-Kommentar auf jede einzelne Sache setzen werde, die öffentlich ist, und das ist nicht praktisch. Aber ich brauche den Start-Fan und diese Dinger nicht zu dokumentieren. Also, was ich tun möchte, unterdrücken Sie dieses Warngericht, das 159 Sobald ich zurück zu meinem Eigenschaftenfenster gehe und Sie diese Option sehen, wie sie Warnungen
unterdrücken, unterdrücke
ich bereits 17 01 und 17. 02 Ich bin sicher, dass du es auch bist. Aber wir gingen bei 1/3 1 Semikolon. 1591 Wenn ich tike, speichern Sie und gehen Sie zurück zu meinem comptroller. Dann wirst du sehen, dass diese Linien nicht weitergehen, wenn ich in die Luft gehe,
es sei denn, du siehst, dass es keine Warnungen mehr von dieser Natur gibt. Indem man die Warnung unterdrückt, sagt das so ziemlich. Okay, ich will, dass du weißt, dass ich dich damit nicht ärgere, richtig? Aber während wir vorwärts gehen , werden wir,
wenn wir unsere Controller tun, in unserer zusammenfassenden Dokumentation jede ganze kleinste Fortsetzung mit diesen Konfigurationen. Ich habe die Kettenfreigabe gemacht, um die XML-Dokumentation in der Datei zu aktivieren, zu Beginn, dass CS es etwas gibt, das ich tun muss. Ich muss zurück zu den Conficker-Diensten. Ähm
, dann nach den Zeilen, in denen ich eingerichtet habe, Slugger Jen, werde
ich es nicht sagen, wo Sie die ausgezeichnete Dokumentation finden können. Es tut mir leid. Nein, es ist nicht unter seinem Inneren. Richtig. Entschuldigung. Es ist also im Inneren von hier, dass ich die Dokumentation fortsetzen werde, also bin ich immer noch drinnen von den geschweiften Klammern aus dem Fußball-Ursprung. Wir haben das dunkle Football-Zeug gemacht. Dann werde
ich unter dem stärkeren Punkt-Zeug fortfahren, also werde ich etwas deklarieren und sehen, Bar ausgesetzt Weite amüsieren Start für Star X-Datei. Sie kurz für seine Betragsdatei. Sie können es vereinfacht schreiben, wenn Sie möchten. Das ist in Ordnung. Dann ging ich nach rechts. Es ist also ein sehr komplizierter aussehender Pfad hier, also würde ich Interpretation verwenden. Was ich sehen werde ist,
ähm, also habe ich ein Dollarzeichen offen und enge Anführungszeichen innerhalb der Anführungszeichen. Haben Sie meine offene und enge Klammer drauf. Ich suche Montage. Alles klar,
Punkte, Punkte, bekomme die Ausführung der Assembly. Also Intelligenz wird dir auf dem Weg helfen. Und das ist ein Funktionskanäle. Und dann bekomme ich den Namen richtig Punkte an. Das ist auch ein Telefon, das dort angezeigt wird. Sagen Sie diesen Namen. Alles klar, also sagt das im Grunde, dass die Ausführung ein ähnliches bekommt. Also das bin ich, den Weg zu bekommen, wo das Projekt sitzt. Das ist also ein sehr dynamisches Gewebe und ich könnte jemals das buchstäblich in für das Projekt bemerken, aber dann wäre das einzigartig für das Projekt und ich müsste das jedes Mal tun . Ich habe ein neues Projekt. Also, indem ich es auf diese Weise mache, sage ich nur, was ist der Weg auf dem Namen von diesem Projekt? sofort Dannsofort. Ich möchte nur, dass alle oben auf die Erweiterung Punkt xml Also werden Sie eine XML-Datei
mit diesem Namen finden , wo immer es ist, richtig? Es ist also nur eine schöne Dynamik. Wir finden das äußere Feuer. dies aktivieren, würden
Sie sehen, dass dies der Pfad ist, in dem eine XML-Datei mit dem gleichen Namen wie ein
Projekt erstellt wurde. Also das ist alles, was wir hier tun, anstatt zu versuchen, Oh, das
alles als eine statische Sache zu tippen . Wir sind nur dynamisch, also können Sie diese Zeile in so vielen Projekten kopieren, wie Sie haben werden, sobald
Sie Funktion für die hervorragende Dokumentation aktiviert haben. Die nächste Zeile sehen wir ex Pfad bieten expat physique, Worte des Pfades nicht kombinieren. Übergeben Sie den Mähdrescher. Dann verstehst du, ich bekomme den Anteil des roten Löwen. Das bedeutet also, dass ich Ausarbeitungen einbeziehen muss. Ich kann einfach zur roten Linie gehen. Drücken Sie die Eingabetaste auf. Dann bekomme ich den Vorschlag. Unter den Glühbirnen,
alles, was ich brauche, um System, das ich besitze einmal diesen Stein, das ist in Ordnung. Also, wenn du Linien
loswirst, brauchst du nur die Zehe über sie. Schlag den Jungen Bold. Sie werden Ihnen sagen, welche Bibliothek Sie so Teil fehlt. Aber kombinieren Sie innen aus den Feuerindizes. Ich werde sagen, kontext-dot-basiertes Verzeichnis. In Ordnung, beruhigen Sie alle X-Datei. In Ordnung, also nachdem ich dieses Tool gemacht habe und so bekomme ich nur die XML-Datei so ziemlich, dass ich sagen werde ,
Siehe, dass XML-Kommentare enthalten. Dann sage ich es, dass Sie die Kommentare bei X-Pfad finden können. Alles klar, was auch immer
wir in den Übersichtsabschnitt von irgendeiner Funktion oder Feuer, die wir haben, wird
es hineingehen. Es ist in einer Datei, die wir sehen, die in die XML-Dokumentationsdatei generiert wird. Dann sehen wir, dass, wenn Swagger seine Dokumentation generiert, es den Inhalt dieser Brände berücksichtigen sollte. Also werde ich in den Sommer setzen Ist dies ein Test-Controller-Künstler ap ein Controller auf dann ist dieser nur zu sehen, bekommt Werte. Dieser wird sagen, aufstehen Wert. In Ordnung, also ziehe ich nur ein paar Sachen an. Dann noch eine Änderung, die wir dem Schläger begegnen werden, ist eine Linie unter Strugar. Du habe ich sie so verstanden. Sie, nachdem wir den Saft auf Datei definiert, Ich werde eine weitere Zeile dort zu sagen setzen, si dot schrieb Präfix ist gleich. Es wird gut diese öffnen und schließen Anführungszeichen. Alles klar, also wird es beim Start kommen. Also, weißt
du, wenn wir stattdessen in den Debug-Modus
gehen, dass es im Schlepptau geht, der du weißt, wo es nach dem Bruder gibt, sollte
es auf der ersten Seite erscheinen. Mal sehen, ob das bei Douala funktioniert. Also ging ich gerade in Debo Stimmung und das erste, was kam, war, oder slugger Dokumente. Und wenn Sie einen genaueren Blick werfen, sehen
Sie, dass einige der Dokumentation oder einige von den Kommentaren, die ich es für
die Optionen gesetzt hatte , da sind, ? Also habe ich gesagt, bekommt Werte richtig für das man bekommt einen Wert. Was sein sollte, bekommt einen Wert zerebralen, dass. Aber der Punkt ist, dass es funktioniert, oder? Also, so haben wir Fußball eingerichtet, und wieder einmal ist es sehr wichtig, dass wir diese Dokumente pflegen. Es gibt eine Reihe von anderen Attributen, die auf dem Weg hinzugefügt werden, und Sie würden nur sehen, ganze Fußball wird sie umhüllt und sie in der Dokumentation und machen es einfacher für uns, unsere AP Augen Geheimnisse mit anderen teilen.
9. Logging mit NLog konfigurieren: Hey, Leute, Willkommen in diesem Video, wir werden einige Protokollierungsprogramme in unserem A-PR-Projekt einrichten. nun Wenn ichnunSehnsucht sage, meine
ich, wir werden die Funktionalität absetzen, damit wir so ziemlich aufschreiben oder
einen Mechanismus einrichten können , mit dem Sie alle Aktionen aufschreiben können, die wir für wichtig halten, in unserer Anwendung. Das Wichtigste an der Sehnsucht vor allem beim FBI
ist, dass es Ihnen hilft, sich zu entlarven. Es hilft Ihnen, genau zu verfolgen, was tatsächlich passiert ist, wo Soto dies zu erreichen. Wir werden in anmelden. Es gibt andere Bibliotheken, von denen Sie wissen, dass sie gut sind. Ich benutze Liebe für Netze auch, aber in diesem Video für diesen lila Diener missbraucht Endlog. Also, um loszulegen, gehen
wir über die neue geht direkt mit dem Projekt, gehen zu verwalten, bekommen Pakete, dann werden wir zu bro auf wir werden suchen und das ist ein Brief und L oder G und ein -Protokoll. Nein, sie sind hier von ihnen abgegrenzt. Aber derjenige, an dem wir wirklich interessiert sind, ist in der Liebe zu Erweiterungen, diese Sehnsucht. In Ordnung, also klicken wir auf das. Laden Sie es nicht in unsere Projekte. Und wenn das fertig ist, können
wir immer einfach zu installieren gehen und überprüfen, ob sie den Filter bewegen und alles
zeigen, was in oder projizieren, ähm, Höflichkeit von neuen bekommt. In Ordnung, als Nächstes wollen
wir einen Konflikt aufbauen. Fakten, die bereits diesen Konflikt eingerichtet haben, können es endlich in der Ressource für dieses Projekt finden , so dass Sie tatsächlich einfach voran gehen und kopieren Sie es. Andi, erstelle eine Datei namens Endlog-Punkt-Verurteilte. Um eine Datei zu erstellen, Sie einfach mit der rechten Maustaste auf das Projekt los. Um auf den neuen Artikel auf wirklich hinzufügen? Eigentlich spielt es keine Rolle, welche. Ich benutze nur eine Textdatei, aber es muss die dot comfy Erweiterung haben. In Ordnung, so können Sie eine Textdatei verwenden und Sie sehen im Protokollpunktkonflikt als Name auf. Dann können Sie einfach den Inhalt in platzieren. Ich habe nicht, ich werde nicht Zeit damit verbringen, es mit dir zu schreiben, aber ich werde erklären, was in der Akte steht. Die Datei initialisiert also im Grunde nur in log xml. Nun, es ist eine XML-Konfiguration für vier im Protokoll, also tut es nur etwas Initialisierung in dem Schema, das einige grundlegende
Initialisierungs-er eingeführt hat. Dann haben wir den Weg. Also der interne Dateipfad, ich sitze es so einen Pfad auf meinem Computer. In Ordnung, damit du das ändern kannst. Also das einfachste, vielleicht für Sie, damit Sie sehen können, wo Ihre Blockschule ist. Legen Sie es einfach auf Ihr Hauptlaufwerk, rufen Sie einen Schrägstrich auf und erstellen Sie wahrscheinlich einen Ordner namens Logs. Also werde ich nur dazu bringen, dass sie das ändert. Also ist es C-Schrägstrich Protokoll. Also, um c Doppelpunkt Schrägstrich protokolliert interne Anmeldung, dann für den Dateinamen. So haben Ziele Blutdateien Zielscheibe. Also das Ziel liebt Feuer. Was bedeutet, wo sollten alle Protokolle Schule. In Ordnung, also werden wir sagen, dass ich ihn
gefunden habe. Dann können Sie unseren Pfad noch einmal setzen, vielleicht zu Ihrem Projektordner oder zu einem sehr leicht zu findenden Ort. Richtig. Ähm und dann legen Sie sich hier hin. Er sagt im Grunde, wie wollen Sie, dass ich diese Datei so nenne, Nun, das heißt eigentlich, Halten Sie Ihren verstümmelten Namen das Feuer. So der Haifischköder rufen entsperren fatso für jeden Tag, dass Sie Aktionen durchführen. Es wird sich das Datum ansehen und eine neue Datei generieren. Richtig. Es macht es einfacher zu verfolgen, was gestern im Vergleich zur letzten Woche im Vergleich zu heute passiert ist, speziell auf. Dann wären die Lasten ganz. Sollte jede Zeile so aussehen, dass Sie das lange Bit haben, das Niveau bedeutet Western Fehler in für Sie. Also sieh das Level-Zeug auf, dann wirst du die eigentliche Nachricht haben, die sich auf diese Zeile bezieht. In Ordnung, so ist das, was das auf einigen Regeln ist, wie in der minimalen Lieferung von Maximum von Land Lied. Aber ich denke, das ist gut genug für uns. Der Erlös. Ich werde das noch einmal retten. Dies ist im Video enthalten, so dass Sie auf dem Fetchit weitermachen können, wenn Sie möchten. In Ordnung. Als nächstes müssen
wir Klassen konfigurieren und konfigurieren oder starten, so dass wir einfach eine schnelle
Build-Control-Shift machen können und nur um sicherzustellen, dass wir keine Helden eingeführt haben, um
Andi zu brechen oder zu programmieren . Es war erfolgreich. So können wir jemanden fortfahren, um Ordner zu meinem Projekt hinzuzufügen. Also werde ich mit der rechten Maustaste auf Add Onda neuen Ordner klicken, dann wird die 1. 1
Verträge sein , dann die 2. 1 Also werde ich wieder dorthin gehen, oder? Klicken Sie auf den neuen Ordner. Und dieser hier war für diese Dienste. Alles klar, so unter Verträgen und wollen Klassendateien auf mit direktem Klick erstellen klicken Sie erneut
Klasse hinzufügen auf. Dann werde ich das nennen, auf dem ich länger diene. Dann auf die Dienste. Ich werde dasselbe tun. Erstellen Sie eine Klasse, und ich werde diesen einen längeren Dienst nennen. Also ist der eine längere Service, der unter den Diensten für sie auf der anderen ist, bin ich länger im Vertragsordner tätig? Nein, unter ich liebe die Dienste oder ich liebe einen Service. Tut mir leid, wir werden ein paar alte Tut mir leid, dieser hier wird ein Einmischen sein. Die allgemeine Namenskonvention für Interferes ist, dass Sie mich anziehen, ähm vorne vom Knie. Richtig. Also öffentliche Schnittstelle, nicht Klasse, sondern stören. Es ist also einfacher, die Klasse zu beschreiben und sie in die Schnittstelle zu ändern. Aber stellen Sie sicher, dass Sie diesen Schritt nicht verpassen. Ordnung, also innerhalb der Schnittstelle von Anti LaVoy, InOrdnung,
also innerhalb der Schnittstelle von Anti LaVoy,
melden Sie sich vier an, dann wird dieser Telefonsohn einen Parameter nehmen, um, vom Typ String und wir werden es Nachricht nennen. Ordnung, also haben Sie ah, lange in vier Saiten Nachricht auf dann. Die Sache ist, dass es im Grunde ein paar Arten von Dingen, die lieben wollen, kann
in für Warnungen sein , Debug-Nachrichten und definitiv Fehler, die Sierra wollen. Also haben wir eine Funktion für ein Log in vier auf, dann werden wir nur drei andere Funktionen für warn erstellen. Also habe ich nur dupliziert, dass ich nur die Kontrolle verwenden und so sein, indem Sie die landete nur
Kontrolle tun und alle Duplikate sein, die Liner so lange in voller aga warnen. Dann werde ich protokollieren, debuggen und dann Fehler protokollieren. In Ordnung, also habe ich diese vier Funktionen, die die Protokollierung basierend darauf verarbeiten, wie es konfiguriert
wird. Jeder wird innerhalb der Protokolldatei unterschiedlich leicht anders erscheinen. In Ordnung. Also wäre es einfacher für uns, alle Pfeile zu sehen, die durch das Geräusch in vier abgeschnitten sind. Vielleicht sind Warnungen weniger nützlich, und definitiv brauchen wir das Buch nicht unter bestimmten Situationen. Also, das ist es für unsere Verträge? Ich kann das retten und dann zum Dienst gehen. Jetzt geht der Dienst auf den Fuß. Haben Sie die Definitionen für die Funktionen, die Sie gerade in der Störung beschrieben haben. Also werde ich Colon machen. Ich bin länger im Dienst. Ordnung, also nenne ich das Erbe. Also wird die Klasse dann von der Schnittstelle an erben. Aus diesem Grund muss
Smith sagen, ich brauche ein paar fehlende Sachen. Also werde ich nur die Glühbirne in der using-Anweisung setzen auf dann weiter zu verwenden , wird mir sagen, dass ich nach implementiert wurde. Nein, mach voran und implementiere die Störungen auch. Nein, ich bekomme die Funktionsdefinitionen ihr, ähm, pro Funktion, die in der Vertragsdatei deklariert wurde. Nun, nachdem ich das getan
habe, brauche ich, äh, äh, auf Elemente, also ah, Eigentum. So ziemlich jemand hat private statische, und dann wird das länger vom Typ I sein. Also bin ich länger vom Ende des Gesetzes getrennt. Glamourös nach schließen Zeder mit n laut. Also haben sie ihr eigenes Holz Ufer. Aber ich verwende n log, also möchte ich sicherstellen, dass ich in log richtig verwende? Ich länger, länger. Dann wird das gleich der Liebesmanager sein. Einige initialisieren mein längeres Objekt auf Gwen, um die aktuelle Klasse länger zu verwenden. In Ordnung, also weiß, dass ich dieses Futter habe. Ich kann auf dieses Objekt oder das anrufen. Nennen wir es ein Objekt, damit ich diese Objekte aufrufen kann. Noto tragen alle meine Protokollierung. Also fangen wir jetzt mit Log-Leuten an. Es ist nur während sind nicht implementiert. Ich setze es um. Also werde ich sagen, wann es das ist, was ich als leid bezeichne, wenn ich die Love Debug-Funktion aufrufe. Dann möchte ich, dass mein längerer Zeh eine d mutige Botschaft erstellt. Sehen Sie, dass es dann die Nachricht ist, die ich in die Funktion übergeben habe . In Ordnung. Und das ist so ziemlich länger. Log Arrow wird dasselbe tun. Ich rufe meinen längeren Objektpunktfehler auf. In Ordnung. Natürlich bin
ich derjenige, der kontrolliert, welche Nachrichten wirklich weitergegeben werden. Also, wenn es ein Fehler ist und ich muss sicherstellen, dass ich in der Luft eine Nachricht übergeben, so dass, wenn ich die Protokolle
überprüft, sehe ich den Araber, der warf alles in Ordnung, Also Aber ich weiß, ich bin sicher, dass Sie das Summen davon bekommen, wenn Sie nicht nehmen und möglicherweise zufällig aus . Aber ich hoffe, dass Sie bereits posten Video und beenden einen Builder in der Hoffnung, dass Sie
die gleiche Sache geschrieben , die ich wollte lesen, wo sowohl Warenkorb andi Wenige Welt mehr Punkt-Info für Protokollierung länger, dass warren für warren gewarnt. Dann sind wir alle auf derselben Seite. Jetzt müssen wir noch eine Änderung vornehmen. Das ist zu den Erschütterten über CSO. Wir haben Zehe hinzufügen, dass Komponenten die unsere Mitte, wo Konfigurationen und erinnern, um Angelegenheiten immer erhalten die Controller liegen für die letzte. Also alles andere, was hier nur ein bisschen über rechts hinzufügt. Also für in Log-Art für den längeren Dienst, der in unsere Anwendung initialisiert wird, die
gestartet wird,werde
ich sagen, dass gestartet wird, Dienste angedockt sind. Singleton hinzufügen. Sie können also wissen, dass der Dienst in der gesamten Mitte beim Start der
Anwendung aktiviert war , indem Sie entweder Singleton oder Transient hinzufügen oder Scoped hinzufügen. Also ich meine, wir verwenden Single Time, also werde ich nur sagen, fügen Sie Single Thanh I Logger Service auf. Ich erkläre den Unterschied City in der einzelnen Stadt Unterstrich PTA und der Vergängliche später es nicht überwältigend mit Informationen gerade noch. Was wir also tun, ist zu sagen, dass wir Singleton-Instanz aus dem Dienst auf
diesem erstellen möchten , ist unser Service. Wirklich unser Dies ist unser Vertrag für den Service und das ist die Umsetzung aus dem Vertrag. Also alles, was fehlt, weißt
du,
du weißt schon, du bist gerade darüber und fügst die Bibliothek entsprechend ein, bis du keine grünen Linien
damit siehst , hätten
wir uns in unserer Anwendung in unserem gesamten Donna-Kern verliebt Anwendung auf Fleisch es gebrauchsfertig. Ich weiß, dass wir uns verliebt haben. Wir müssen es testen, oder? Der eigentliche Test wäre also, etwas zu versuchen oder eine Linie außerhalb des Gerichts zu setzen, die
ein Protokoll erstellen und dann überprüfen sollte , dass tatsächlich viel erstellt wurde. Also werde ich zu meinem Comptroller gehen, was wir tun werden, ist in ein paar Zeilen in
vielleicht zwei oder vier Optionen von Sissy zu setzen . Wenn wir die Aktion treffen, dass es das Protokoll schreiben sollte, dass die Aktion getroffen wurde, um
loszulegen , was wir tun müssen, ist diese Sache namens Dependency Injection auszuführen, wo unser Service in den Controller injiziert wird, so dass die Controller interagieren können, sind in Love Service. Richtig. Also verweisen wir über Service durch den Vertrag,
jemand, der privat zu sagen, und ich bin, wir nennen es nur lesen Andi. Ich sehe, dass ich länger Dienst habe. Also, das ist der Name von meinem Vertrag, auf dem ich erstellt habe. Ich kann einfach voran gehen und entweder ausnützen, eingeben oder einfach das Haftende auswählen, um eine fehlende Abhängigkeit einzuschließen, und dann länger unterstreichen. Das ist also der Name von meinen Gegenständen. Das ist, wenn sie den Dienst verkörpern, der protokolliert wird. Aber für die Abhängigkeitsinjektion brauchen
wir Zehe. Sei drinnen klar. Aus. Über. Controller. Über. Ähm, Konstruktor. Richtig. Also werde ich sagen, öffentliche Heimcontroller sind Konstruktoren. Eine Standardfunktion, die aufgerufen wird, sobald eine Klasse initialisiert wird. Richtig? Also werde ich sagen, sobald Sie Home-Controller angerufen, Ich möchte, dass Sie initialisieren ich länger Service. Ich werde nur im Auge länger Service auf dann die Parameter übergeben, die ich länger, so dass die coole Sache über Donna Court sich weigerte, Abhängigkeitsinjektion in früheren Versionen von
NBC zu tun , wir brauchen Tools von Drittanbietern wie injizieren oder etwas so, aber NBC macht es, dass sorry dot net core macht es sehr einfach, nur Abhängigkeit Inject weil es kommt biscotti in diesem ganzen Ökosystem integriert Abhängigkeitsinjektion umgibt. So reduziert das einige Hindernisse, Ähm, einige Duplikationen und Dinge mehr als einmal zu tun Es reduziert die Notwendigkeit für einige davon. Also werde ich nur unser Lese-Only-Objekt auf der Partitur initialisieren, das länger auf dem Objekt liegt, das weitergegeben wird, wenn unsere Home-Controller angerufen haben. Ich weiß, dass ich mein Objekt initialisiert habe. Ich kann nicht mit dem Service interagieren. Also, wenn ich etwas erlauben wollte, das ich sagen könnte, unterstreichen länger nicht, dann habe ich
Zugriff auf alle meine Funktionen, die ich gerade deklariert habe. Also würde ich vielleicht in vier auf DSI zugreifen wollen,
zugegriffen Home-Controller. Ordnung, also werde ich in der Liebe sagen, dass das, dass du auf den Home-Controller
zugreifst, ich
versuche , einen anderen zu machen, einige davon aufzuhalten. Dann unter den bekommt sagen wir, ich logge Debo statt. Na gut, , dann weiter. Ich werde sagen, Gottes Wert auf weiß Post nicht. Nur darauf basiert, werde
ich diesmal einen Fehler lieben. Also in seinem Beitrag werde
ich sagen, dass dies ein Fehler ist, so
etwas wie das auf dem letzten unter. Versuchen wir es mit den Leads. Ähm, ich wollte etwas kompliziert werden, aber das ist in Ordnung. Das kriegen wir später. Das hier wird also eine Warnung sein. Das ist eine Warnung. Ordnung, auf das wird Liebe warnen. Also verfiel ich. Alle diese Funktionen sind Aktionen eher mit Sehnsucht Funktionalität. Also lasst uns jemanden versuchen, in de Boot festgemacht zu gehen, und ich werde auch Postboten starten. Also, wenn Sie es bereits installiert haben oder wenn Sie es nicht haben, dann können Sie fortfahren und installieren und starten. In Ordnung, also werden wir unseren ersten AP eintragen, den ich anrufe. Also habe ich gerade die URL von unseren Debug-Sitzungen kopiert, sagte US-lokale Gastschule auf vier. Denn mein Hafen wird anders sein als Ihr, was auch immer diese Basis Sie sind. Dann in Postman, Ich sagte, dass Sie l Schrägstrich ap Ich Schrägstrich nach Hause. Das ist der Name von meinem Controller. A p a ist nicht zu Hause. Wenn ich das mache, habe ich mich direkt auf den richtigen Weg gefahren. Wenn ich zu Hause Schrägstrich fünf mache, dann sendet es es den Wert. Okay, das
tut mir leid. Also lass mich dir zeigen, was los ist. Als ich nach Hause ging, ging
es zu diesem. Die Erwartung ist also, dass
ich in der Rechtsakte dieses Logbuch sehen werde, bevor die Ergebnisse zurückkamen, richtig? Das gleiche vergessen würde einen Debug sehen. Und ich nehme an, der Wert um wirklich, der zerebral ist, dass alles klar, hat einen Wert zurückgegeben den Wert auf dann lasst uns einfach einen Beitrag machen. Also gegen zu tun, verstanden? Wir haben es getan, einige nur diesen Wert zu entfernen. Und ich muss nur diese Anfrage ändern, den Beitrag
stoppen und senden. Ich habe nie ein wenig zurückverfolgt, ging ein bisschen zu schnell. Ordnung, also, ähm, zurück in unserem Controller, haben
wir unseren Posten. Kommen wir da durch ein P? Ich schräg nach Hause. Das haben wir also. Es ist eine Post-Methode. Also verwenden wir keine gets, aber wir verwenden Post. Alles klar, aber dann erwartet es einen gewissen Wert vom Körper. Richtig? Also, das bedeutet, mit Postboten haben wir Zehe in einigen konfrontiert sind einige Wert im Körper. Also, wenn Sie auf diesen Körper klicken, so erscheinen Sie Arums Autorisierung, Header und Körper direkt an. Dann ist die Standardauswahl bekannt. Also müssen wir wohin? Zehe roh. In Ordnung, also haben Sie verschiedene Möglichkeiten, Daten in den Körper zu senden, außerhalb der Anfrage, die gesendet wird. Ordnung, also wählen wir einen Rohling aus und dann verlassen wir den Test Jason. So können Sie Text sehen. Jason ist das, was wir wollen. In Ordnung. Also, wenn Sie sehen uns SMS, klicken Sie darauf und Sie sehen Jason in der Liste auf, dann werden wir nur eine Zeichenfolge eingeben, und wir werden sagen Testwert. Na gut, , dann, wenn wir schicken, mal sehen, ob das funktioniert. In Ordnung? Also sehen wir nichts zurückkommen, weil, naja, es gibt nichts zurück, aber wir sehen einen Status. Okay. Richtig. Ähm, ich könnte das sogar ändern, dass es etwas anderes zurückgeben könnte. Aber dafür sind wir nicht wirklich hier. Wir testeten den Beitrag auf es ging durch dann der letzte wäre ein anderer. Dass wir testen wollen, wäre das Löschen. Also, wenn Sie sich die Richtlinie ansehen oder so, um zu tun, sehen Sie FBI Slash und das ist wieder einmal, warum Dokumentation so wichtig ist. Also ist es FBI Schrägstrich e p i mit Action Schrägstrich fünf. In Ordnung, also lasst uns das zusammen versuchen. Also dieses Mal machen wir eine Löschung. Der Anforderungstyp ist keine Posen, nicht get, aber er ist Löschen direkt am. Es wird erwartet, dass ich genug Werte übergebe. Ich werde fünf retten. Ich brauche unseren Körper nicht jemanden zu sagen, aus dem Grund bekannt. Nein, ich brauche unsere Körper nicht, wie ich bin. Wenn man sich die Post anschaut, schaue
ich auch an Puts, die Sie von Körper Tsunamis sehen, erwartet den Wert von den Körperrechten . Ähm, also habe ich diese schlechte Angewohnheit eine schwere Hand, wenn es darum geht, die Verschiebung zu unterdrücken, also lasst uns das Löschen versuchen. Also ändere ich das einfach, um einen ps Schrägstrich zu löschen Auf es ist ein Pier mit Aktion Schrägstrich fünf plötzlich senden und dann wird es geantwortet, Okey, so dass bedeutet, dass es getroffen. Und wenn Sie sich nicht sicher sind, können
Sie immer unsere Breakpoints auf die Action setzen. Oh, weil ich eine Modifikation meine. Der Haltepunkt wird nach einem Neustart funktionieren, aber Sie können nur einen Haltepunkt auf eine Linie außerhalb der Aktion setzen. Dann stellen Sie sicher, dass es auf der rechten Seite auf Ihrem Klick senden. Sie werden für Depot Guy in früher an der richtigen Stelle pausieren, Jedes Loch, das ich gerade getestet alle Optionen, in denen wir längere Gericht setzen. Also, was ich tun werde, ist, diesen Weg zu finden. Also habe ich den Weg vergessen. Mein Pfad ist C Schrägstrich Projekt Schrägstrich Buchhandlung ein ps Schrägstrich Projekt Schrägstrich Sperren. Ich werde Peel off besprechen, die mein Explorer-Fenster aufbringen. Ich werde zu ihm navigieren, hier bin ich. Also habe ich den Dateipfad auf meinem System navigiert, und ich sehe die neu erstellte Datei. Also, wenn ich mit der rechten Maustaste klicke und sagen wir mit Notify plus öffnen, dann werde ich Zeilen ihre Anfragen sehen, die ich gesendet habe, damit wir
erstens, erstens, können
Sie feststellen, dass es in dem Datum, an dem es im Zeitstempel war auf, aber es hat in den Typ aus der Protokollzeile oder der Ebene. Richtig. Also kennen wir alle in Vieren mit all den Eros. Wir kennen alle Warnungen, oder? So sagt es uns, die engen nicht wo sie eine gerade, dass allgemeine Informationen waren oder es war kein Fehler, der aufgetreten ist. Oder wenn Sie einfach anfangen, von Kurs zu warnen, wo diejenigen, die bestimmen, welche man
geschrieben wird , im Gericht waren. Als Entwickler werden
Sie in der Lage sein zu wissen, dass, wenn dies geschieht, Sie als Garantie
hingeben. Wenn dieser passiert, lege dich als Fehler hin. Also ruft jemand Antworten ein oder, wissen
Sie, sie erleben diese Schwierigkeit zu diesem Zeitpunkt. An diesem Tag können
Sie die Datei
finden, den Zeitstempel finden und
herausfinden, welcher Pfeil aufgetreten ist, der zur Benutzererfahrung beigetragen hat. So haben wir das Einloggen in unserem a p I eingerichtet und deshalb ist es relevant für unsere Anwendung auf, Sie wissen schon, Sie können es noch einmal überprüfen. Dies ist in der Ressource enthalten ist für Videos. Das ist also die ausgezeichnete Konfigurationsdatei auf. Sie können weiter auf die Einrichtung all die anderen Sachen für eine Sehnsucht gehen
10. CORS: in dieser Lektion konfigurieren
wir unsere Kursrichtlinie. Kein Auto ist die Abkürzung oder es ist eine Abkürzung für Cross-Origin. Ressourcenfreigabe. So ziemlich es ist ein Mechanismus, der Rechte für andere Benutzer gibt, die nicht auf dem gleichen sind bedeutet
nicht wie eso. Wenn auf Anwendung auf einem anderen Computer von meinem Computer gehostet wird, versucht es zu unterbrechen ist meine EPA. Es würde im Grunde so scheitern, wie wir es haben. Nein. Die Kurspolitik ist also im Grunde eine Möglichkeit, die Unterbrechung über die Leitung zu
ermöglichen
,damit ermöglichen
, , jeder von überall auf der Welt mit dem FBI interagieren kann, wenn nötig. Also bin ich hier in meinem Startup Dot CS Feuer auf. Wir werden die Konfigurationsdienste-Funktion hinuntergehen und so kann ich das einfach direkt
darunter hinzufügen , wo wir
unsere Identität im Entitätsframework initialisieren . Und ich habe das über die Slugger-Implementierung gestellt. Also, was ich hier sagen werde, ist die angedockten Dienste. Gott Kern. Ordnung, also da ist es, unsere Kursintelligenz wird weiterhelfen. Dann werde ich nur meinen Semikolon setzen, aber dann brauchen wir ein paar Optionen, richtig? Also werde ich nur mein ganzes Andi-Startup wie einen Lambda-Ausdruck verwenden, der spricht, Ordnung, und wir werden mich wirklich dorthin bringen, öffnen und schließen, Curly Brise an, dann innen aus diesem statt der aktuelle Brise, werden
wir sehen oder nicht hinzufügen Politik. Nach der Adam-Richtlinie werden
wir es die Kursrichtlinie nennen. Also verstehe ich, die Kernantworten gibt es klar, was es veröffentlicht hat? ist das an Dannist das an. Komm schon, dann brauchen wir noch einen. Also oftfragen
Sie sich wahrscheinlich, fragen
Sie sich wahrscheinlich, da können Sie nicht all diese Konfigurationen und Sie fragen sich wahrscheinlich,
OK, zu Hause, zu Hause, nehme
ich an. Erinnern Sie sich diese Dinger. Du weißt schon, Ehrlichkeit. Sie werden es wahrscheinlich auswendig lernen. Und Sie gewöhnen sich wahrscheinlich an das Muster. Andi, auch wenn du es nicht tust, dann da. Da drüben gibt es viele Ressourcen. Das wird Ihnen helfen, dot Net Core hat eine großartige Dokumentation. Während ich mitmache, verwende
ich möglicherweise verschiedene Token, also siehst du vielleicht keine Leute, die den Builder verwenden oder du siehst vielleicht keinen Builder, aber es ist das gleiche Konzept, richtig? Also tun wir, ich weiß, dass es nur die Politik aufbaut. Also werde ich Builder in eine andere Zeile setzen, also, weißt
du, es zieht sich nicht aus, alles ist klar. Und dann ging ich, um zu sagen, Baumeister Punkte viel jede Herkunft. Also diese, diese Richtlinie oder trotz der Richtlinie, sagt im
Grunde, dass Sie wissen,
überall, wo der Aufruf die aufrufenden Serverrechte sind oder eine Anwendung, die,
ähm,
Kontakt mit meinem a p a macht ähm, . Überall, wo es von Hallo kommt? Es ist direkt an, dann unter, dass ich sagen, Punkt auf. Ich werde hallo sagen. Jede Methode. Das bedeutet, dass ich niemanden einschränken werde, dass Toe nur bestimmte Teile
des FBI anrufen und nicht andere anrufen kann . Dann noch eine, wo ich einen niedrigen Header sehe, weil es Header geben könnte. Ich weiß nicht, welche Hitters ich in meinen FBI-Anrufen benötigen werde, also möchte ich keine Beschränkungen für die Header auf keinen Lärm setzen. Ich folge nur irgendwelchen von Kurs. Wir können sie auf andere Weise einschränken, aber es ist gut, eine offene Politik zu haben, zumindest basierend auf dem Kontext. Hier. Es ist eine gute Zeit für offene Richtlinien, und dann beschränken wir bei der Anwendung das anstatt auf globaler Ebene jetzt, nachdem wir dies getan haben und wir diese Richtlinie erstellt haben. Wir haben zwei weitere Zeilen vor Gericht, die wir schreiben müssen. Und das ist in der Konfiguration bekannt. Also haben wir das in den Konfigurationsdiensten hinzugefügt wurden, dass Service für Poren? Nein, wir brauchen die Zehenlasche. Wissen Sie, wie es sich verhalten sollte. Also werde ich das direkt oben mit Rooting auf tun. Ich werde sagen, dass Kerne verwendet werden. Ordnung, einige Mieter, die meisten verwenden Kerne am Tag. Ich muss angeben, welche Politik. Also haben wir es hier oben genannt. Wir bauen nur eine Politik auf und geben ihr den Namen, Kurspolitik. Jemand, der es wiederverwenden kann. Hören Sie keine Punktzahl auf. Wir verwenden die Kursrichtlinie, dann sind wir ziemlich fertig. Das war's. Also haben wir Cores Store-Anwendung hinzugefügt und wissen, dass wir bereit sind für ein wenig über Interaktion
11. Änderungen in GitHub: Hey, Leute, wir sind wieder da. Und in dieser Lektion werden
wir einfach überprüfen, was wir getan haben, um unsere Änderungen im Schlepptau zu überprüfen. Argueta Balkone. Also ich weiß, ich bin sicher, dass wir uns bereits angemeldet haben. Wir wollen unsere neuen Projekte oder unser aktuelles Projekt als Repository auf unseren
Ghettobalkonen hinzufügen . Also, um damit zu beginnen, ist
es relativ einfach. Das erste, was Sie tun möchten, ist in der unteren rechten Ecke schauen und Sie werden sehen, sind aber in ihren Kleidern außerhalb der Quellcodeverwaltung, so dass Sie darauf klicken können. Dann können Sie wählen, bekommen. Also, wenn Sie nicht sehen, dass, wenn Sie nicht an der Quellcode-Steuerelement auf unserer sehen, wenn Sie darauf klicken , Sie sehen nicht get. Das bedeutet, dass Sie etwas in der Installation verpasst haben, so dass Sie voran gehen können
und nicht die Drittanbieter-Tools für Visual Studio oder überprüfen Sie die Isolationsvideos vorher an diesem Punkt durchgemacht
haben, Sievorher an diesem Punkt durchgemacht
haben,
dass Sie sowieso keine Schritte verpasst haben, wenn Sie es sehen, können
Sie fortfahren, um auf get zu klicken, und sobald Sie das getan haben, sehen
Sie einige Schnittstellenänderungen. Eine, die du nicht mehr siehst. Aber das ist an der Quellensteuerung. Aber, wissen
Sie, sehen Sie einen, der Buchhandlung A p. I sagt und Sie sehen, dass der Zweig Meister heißt. In Ordnung, als Nächstes wirst
du veröffentlicht werden wollen, um aufzustehen. So sehen Sie dieses neue Team Explorer pinkeln und kommen und Sie sehen, wie Ihre
Entwicklungsdienste gestoßen . Wir benutzen sie nicht, aber wir werden Get Hub verwenden lassen, vielleicht später und ich kann das Jahrhundert entwickeln
, wie das funktioniert. Aber im Moment werden wir uns darauf konzentrieren, auszusteigen. Das ist einfacher zu beginnen und dann gehe ich weiter und klicke auf Veröffentlichen, um Hilfe zu erhalten. Sie würden mich dann gebeten, meinen Benutzerkegel zu verifizieren. Wenn Sie es also noch nicht signiert haben, als Sie können, wird
es wahrscheinlich ein Problem sein, sich anzumelden. , Wenn du dich bereits angemeldet hast,siehst du in etwa so aus. So bestätigen Sie einfach, dass Sie den Namen ändern können, wenn Sie möchten. Ich werde gehen. Mein Andi kann eine Beschreibung hinzufügen, wenn Sie möchten. Wenn Sie es privat machen, bedeutet
das alles, was Sie in der Lage sein werden, es zu sehen und mit ihm zu interagieren, es sei denn, Sie laden direkt
jemanden ein , mit Ihnen
zusammenzuarbeiten. Ich werde meine auf Ticked on Click Publish verlassen, so dass es ein öffentliches,
öffentlich zugängliches Repository sein wird . Was also tun wird, ist das Projektarchiv zu erstellen. Synchronisieren Sie ein, stellen Sie sicher, dass es seinen zu ghetto dot com unter meinem Profil schiebt. Nun, wenn ich Hoffnung bekommen, werde
ich alle meine Repositories sehen, und ich werde meine neu erstellte Buchhandlung AP I sehen. Wenn ich darauf klicke, wird
es in den Raum navigieren. Also von hier aus kann
ich eine Beschreibung hinzufügen, wenn ich es nicht dort vor auf meiner Website auf, Sie wissen schon, füllen Sie mich wie ein schnelles Lesen, um einige Informationen über ihre positiven zu geben. Ich werde das alles hier machen. Sie können voran und machen Sie Ihr eigenes Boot, wenn wir wieder zusammenkommen, und dann sollten einige Informationen da sein. Aber ja, das war's. Also wissen Sie, wenn Ihr Computer abstürzt, Sie werden immer ein Backup in Get up haben. Sie können immer zurückkommen, um zu klonen oder nicht laden, wo Sie einfach in Visual Studio öffnen können wird zu Ihrem Computer kommen, Sie können es öffnen und wieder arbeiten. Und das ist einer der großen Vorteile bei der Verwendung von 1/3 Party-Quellensteuerung , ,die wie Ghetto zur Verfügung gestellt wird, wo Ihr Kabel immer irgendwo sicher sein wird. Wenn Sie es später von der Öffentlichkeit ändern möchten, können
Sie zu den Einstellungen auf gehen. Sie können den Zugriff so gut verwalten. Ich glaube nicht, dass Sie gehen müssen, um Zugang zu verwalten ihre vor. Also, sobald Sie auf Einstellungen klicken und Sie nach unten scrollen, dann werden Sie sehen. Machen Sie diesen Bericht für die Öffentlichkeit privat. Sie können das Eigentum übertragen, oder Sie können es löschen, wenn Sie einen verwalteten Zugriff mit einem Anwalt wünschen, um andere Personen einzuladen mit Ihnen zusammenzuarbeiten.
12. Datenbank in SQL Server erstellen: Hey, Leute, in diesem Video werden
wir anfangen, die Datenbank zu entwerfen, die wir verwenden werden, zumindest die
Basisdaten , die ich für dieses Projekt verwenden werden. Das Gesamtszenario, mit dem wir arbeiten, ist eines, in dem wir am Tag eine Buchhandlung haben. Wir wollen, dass wir einen AP entwickeln, weil, na ja, sie haben. Es gibt eine Buchhandlung, sie haben eine Datenbank. Sie haben Daten über die Bücher und Autoren gespeichert. Andi. Was
aber passiert, ist, dass sie tatsächlich ihre Informationen über ihre Bücher und ihre Autoren
an Dritte weitergeben wollen ,
ähm, ähm, Personal auf dem besten Weg, dies zu tun, ist durch ein E p I So dass verschiedene Websites können in ihre Datenbank integrieren und Daten auf ihre Bücher ziehen
auf potenziell sogar Einkäufe über diese Drittanbieter-Websites tätigen. Also die Szenarien,
wirklich, dass wir ein FBI auf bestehende Datenbank aufbauen werden. Also, dass die Skripte für die Datenbank, die wir im Begriff sind zu bauen, in der Ressource bereitgestellt werden, so dass, wenn Sie bereits das Gefühl haben, eine Datenbank von Grund auf neu zu erstellen, dann können Sie einfach nicht wissen, dass das Skript und gehen Sie weiter und , die auf Ihrem Computer generiert wurden. Für diejenigen, die nicht zu sehen sind, wissen
Sie, wie komfortabel. Dann kannst du zuschauen. Dieses Video wird durch den Aufbau der gesamten Datenbank gehen. Wir haben wirklich nur zwei Tische. Eins für die Bücher, eins für die Autoren. Wir werden eine Beziehung am Tag erstellen, wie wir es bauen erzählt, und Sie werden irgendwelche kleinen Nuancen über den Aufbau der Datenbank durch das
Fortsetzungs-Management-Studio sehen . Wenn Sie Ihre Fähigkeiten in der Datenbankentwicklung verbessern möchten, dass Sie meinen anderen Kurs, Microsoft SQL Server Development für alle, so können Sie überprüfen, dass Sie überprüfen und verbessern Sie Ihre Fähigkeiten in SQL über. Ich werde fortfahren, damit wir SQL Express bereits installiert haben, Sir. Um SQL Express. Wenn Sie eine andere Edition von SQL Server auf Ihrem Computer haben und das in Ordnung ist, können
Sie einfach das Management Studio mit dieser Instanz aufrufen, wenn ich in dieser Instanz
neu anfangen soll , wo ich einfach das Management Studio öffne und das Spotswood Pop-up. Um meine SQL Express-Instanz durchzuführen, benutze ich nur einen Punkt und dann über Schrägstrich und im Wort esque UAL Express. Also, wenn ich das mache und eine Verbindung herstellen konnte, dann sollte ich den Zugriff auf diesen Bildschirm bekommen. Also auf den Datenbanken werde
ich nur mit der rechten Maustaste klicken und neue Datenbank sagen. Und dann ist das erste, was man bereitstellen muss, der Name aus der Datenbank. Ich werde es Buchhandlung nennen. Ordnung. Buchhandlung, Kamelkoffer. Bigby Big ist alles andere, der Kleinbuchstabe. Also nenne ich es einfach Buchhandlung Click. Ok, nein, um zur Datenbank zu gelangen, alle Datenbanken zu erweitern. Sie sehen also, dass ich hier eine Reihe anderer Datenbanken habe,
aber die, die wir interessieren, ist Buchhandlung, also haben Sie wahrscheinlich eine. Und wenn du in deinen Füßen bist und du in der Lage sein solltest, nie zu bekommen, so gehen wir in der kleinen Buchhandlung und da waren Actiq Tische drauf. Dann klicken wir neu. Also radikal Tabellen, neue Tabelle. Alles klar dann, das wird unseren Tabellendesigner starten Jetzt für mehr Tabellendesigner, wir werden nur anfangen, alle Spalten zu füllen,
den Datentyp, den jede Spalte haben sollte und ob wir keine Werte in dieser Spalte akzeptieren können oder nicht. Richtig? Also die erste Spalte, die jede Entität in einer gut gestalteten Datenbank benötigt, ist ein i d. Alles klar, also würde ich ein eindeutiges Identitätsfeuer darstellen, richtig Für jeden einzelnen Datensatz, der eingeht, können
sie eindeutig durch den Wert identifiziert, der in die ID-Spalte eingeht. Das ist sein Zweck, dann ist der Datentyp, den ich für meinen eigenen verwende, int, aber dann, wenn es eine eindeutige Identifizierung ist, die ehrlich identifiziert, was Sie einen Primärschlüssel nennen, also um es zu einem Primärschlüssel zu machen, gehe
ich nur auf Grillen, Klicken Sie mit der rechten Maustaste, und dann sehen Sie die Option Primärschlüssel auf. Dann ist das nächste, was ich tun möchte, sicherzustellen, dass sich der Wert jedes
Mal von selbst ändert . Also unter Spalteneigenschaften werde
ich zu dem gehen, der besagt, dass ich keine Spezifikation gesehen habe und dann werde ich dies auf Ja
setzen, ich mache eine Identität. Also, sobald diese Identität, wird
er um eins erhöhen Jedes Mal, wenn ein Datensatz hinzugefügt wird, können
Sie das ändern, aber nein, wir lassen es in Ruhe. Als Nächstes werde
ich den Vornamen hinzufügen. Also der Vorname des Autors auf diesem Datentyp, wann Environ char 50 verwendet werden soll. So Environ Reifen sagt, dass ich werde Story im Text auf Ich möchte bis zu 50
Zeichen im Wert von Text speichern . Ordnung, als Nächstes, wo
der Nachname, InOrdnung,
als Nächstes,
wo
der Nachname,der auch unsere 50 einladen wird, werde ich Viol haben und dann werde
ich uns umgebende Zeichen setzen, weil, weißt
du, für den Fall, dass Sie nette Dinge über Author Marks sagen möchten, bedeutet, dass es keine wahrnehmbaren Grenzen gibt. Es liegt also fast an der Einschränkung Ihrer Datenbank im Vergleich zu Ihrem Rechner. Aber es gibt keine 50. Du hast das getan. Will auf 50 Zeichen zu bekommen. Alles 51 darüber hinaus wird abgehackt werden. Es gibt keine reelle Zahl Limits schreibt auf, dann Profil auf. Dann sagen wir Profil. Ah, Ordnung, nun, ich denke, Bio und Profil sind ziemlich gleich, also entferne ich eigentlich nur Profile. So hat der Autor Vorname Nachname bio. Wenn wir über irgendetwas anderes auf dem Weg in das Projekt denken und wir können es hinzufügen, einige
gehen nur zu tun Kontrolle s und speichern. Tut mir leid, das
habe ich getan, ohne es zu erklären. Also, nur um den Namen von der Tabelle zu speichern, wir steuern SRE kann nicht die Diskette Ihre auf. Dann geben wir ihm einen Namen. Autor Klicken Sie auf OK, und dann haben wir unsere erste Tabelle, die Autor der nächsten Tabelle ist, die wir wollen. So irakische Tische wieder gehen auf den Tisch auf, dann wird der Stall Bücher sein. Also, wenn alle das gleiche Designmuster haben wir eine 90 Ich mache es harten Typ in einen Muskel in es
zu einem Primärschlüssel zu machen, um es Identität zu sein. In Ordnung, also können
Sie das Video immer pausieren und zurückspulen, wo ich es vielleicht schnell tun muss. Aber ich drücke einfach mit. Also jedes Buch hat einen Titel auf dem Titel wird umgebung Char sein. Ich werde das Environ-Diagramm hier auf 100 setzen, weil Sie wissen, dass Sie ein paar Bücher mit langen Titeln haben . Nun, im Jahr darauf, dann ist das immer knifflig,
wenn es um das Jahr im Verlagsjahr geht, siehst du es? Uns auf Ganzzahl speichern Sie. Es lädt vielleicht unsere vier, richtig? Ähm, es kann schwierig werden, also denke ich, weil es keinen Jahresdatentyp
gibt, gibt es zu der Zeit auch eine Beat-Zeit, aber ich möchte nicht die ganze Urkundenzeit speichern, nur um die Jahresrechte zu erhalten. Also, was ich tun werde, ist, dass ich es als int, richtig. also , liegt
es natürlich Wenn Siealsodie Anwendung erstellen, liegt
es natürlichan Ihnen, sicherzustellen, dass die richtigen Daten in die Datenbank gelangen. All das sind Regeln. Sie müssen achtsam sein, bietet Putting in der ESPN, das ist, Sie wissen, die Bücher eindeutige Nummer, die es auf diesem kann eine eindeutige Identifizierung auch haben. Aber Sie außerhalb von Dingen, die ein Buch machen,
Uli,
indem Sie das Buch selbst in der Datenbank haben Uli, , möchten
Sie im Allgemeinen sicherstellen, dass Sie einen Primärschlüssel haben, der getrennt ist und abgesehen von
Identifizierungs Faktoren aus ein Buch. Ordnung, ähm, InOrdnung,
ähm,
ich werde eine Zusammenfassung zusammenfassen, so dass,weißt
du,
wenn du es jemandem bewerben würdest weißt
du, , lass sie die Zusammenfassung lesen. Wir werden ein Bild für dieses Buch haben. Also in einem Vorschaubild auf diesem eine, Ich werde uns im März setzen sind 1 50 auch. Also sitze ich drin, um,
du weißt schon,
ziemlich groß zu sein du weißt schon, , also was passiert, ist, dass das Bild wirklich der Weg
Zeh sein wird . Ah, Akte lasse ich irgendwo eine Akte? In Ordnung. Also können wir das einfach so lassen, wie es ist, wenn wir zu diesem Punkt kommen, werden
wir es ein bisschen mehr erkunden. Dann haben wir den Preis drauf. Ich werde den Preis für sein Geld festlegen. So SQL MSs Sie tatsächlich geben uns einen Datentyp. Du hast wenig Geld, und du hast Geld, wo es Geld ist. Geld, richtig? Geld ist also wie ein netter Datentyp, der buchstäblich entworfen wurde, um Geldwerte zu speichern. Ähm und weißt du, es ist in den Motor eingebaut, um diese Werte besser zu jagen. Alles klar
, der letzte wäre der Autor I d In Ordnung. Also Autor, ich weiß, wird als Primärschlüssel fungieren. Und das muss in Tudor sein, weil Sprint Sorry, Fremdschlüssel, weil Fremdschlüssel die gleiche haben müssen Hat der Typ des entsprechenden Primärschlüssels, richtig? Also ein Fremdschlüssel. Ich sage im Grunde, dass, was auch immer Wert hier eingeht, mit dem verknüpfen wird, was jeder hier
reingeht. Wenn der Autor ein Buch
mitbrachte, mitbrachte, werden
wir die Bücher speichern, die ich in den Titel des Jahres und
alles über das Buch setzen werde . Und dann ging ich, um einen als Wert für den Autor zu setzen. Ich nicht zu sagen, dass dieses Buch mit dem anderen mit dem Autor verbunden ist. Entschuldigung, wer hat auch, dass ich entwerfe? Ordnung, also gibt es zwei Dinge, die wir hier tun müssen. Und dann sind wir fertig mit diesem Design für Wissen, wohin ich gehe? Zehe eins, speichern Sie diesen Tisch. Also werde ich das retten. Hat Bücher direkt dran. Das sollten Autoren sein. Ich nannte es Autor. Es sollten Autoren sein. Also, wenn Sie Autor, Ich schlage vor, dass Sie tun uns sind im Begriff zu tun, wo Nur Tabellen erweitern und Sie sehen Ihre beiden Tabellen Dort sehen Sie Autor auf Bücher. Daher sollte der Name der Tabelle normalerweise plural verwendet werden, um zu widerspiegeln, dass mehr
als ein Datensatz gespeichert wird. Sie speichern also mehr als eine Aufzeichnungen von Dritteln. Du hast also nur Drittel
abgeschoben, oder? Lassen Sie mich diese Umbenennungsübung noch einmal durchlaufen. Entschuldigung. Manchmal bewege ich mich schnell. In Ordnung. So können Sie mit der rechten Maustaste klicken. Es ist an, dann siehst du jetzt umbenennen. Sobald Sie das tun, wird
es unvermeidlich. Also, was ich gerade wusste, war nur ein Doppelklick, aber sehr langsam. Also ist es bereits ausgewählt. Und wenn ich es noch einmal nehme, wird
es unvermeidlich. Das ist alles, was ich anders gemacht habe. Aber es ist der gleiche Effekt. Also Autoren und Bücher Und wenn Sie diese Warnung profitable Umbenennung erhalten, klicken Sie auf Ja, auf Drücken Sie voraus. In Ordnung, also haben wir Autoren und Bücher. Jetzt, wo ich es besser genannt habe, ist
das, was ich tun werde, richtig. Klicken Sie in den leeren Bereich unter dem Bücherdesign, oder? Gehen Sie also zurück zu meinen Büchern Design Rechtsklick, gehen Sie zu Beziehungen auf der Nummer, verbrachte die Anzeige direkt auf dann neben Tabellen zur Spaltenspezifikation. Ich werde auf diese Rolle klicken. Ich sehe diese Ellipse auf der Ellipse. Dann gehe ich zur Primärschlüsseltabelle, die Autoren ist. Also möchte ich einen Primärschlüssel in. Der Autor ist stabil, was ich D.
Darauf ist . Ich sage, dass die entsprechende Spalte in der Buchstabilität in der Fremdschlüssel-Tabelle, Die entsprechende Spalte wäre Autor I d.
Richtig. Also beschränken Autor, ich d macht es leicht zu wissen, dass all dies ein Fremdschlüssel für den Autor Stable Sonam ist, die
Verknüpfung der Bedeutung. Ich kann nicht den Autor 100 im Buch Stall für ein Buch haben. Aber ich habe nur fünf Autoren sind bekannt von ihnen der I d 100. Was wir hier schaffen, ist eine Einschränkung in dem Wert, den es wieder möglich ist, wenn Sie wissen, ich bin zu schnell bewegt. Andya Ich benutze Jargon ist, dass Sie den neuen Gesang nicht ganz verstehen. Mein Kurs Microsoft SQL Server-Entwicklung für alle auf es wird Sie von Grund auf zu bringen. Welche Datenbanken sind ganz, um Datenbanken für Ihre Zwecke auf Ben zu entwickeln? Weißt du, alles andere wurde an Ort und Stelle geschnappt. Welche Opern hier voraus. Also klicke ich auf, OK, ziehe die Kleidung an, dann spare ich weiter. Sobald ich das gespeichert habe, wird
es mich auffordern, dass ich im Begriff bin, Änderungen zu mir zu machen. Ich sage ja. Nein, du könntest auf die Ära kommen, wenn du nicht so vertraut bist. Waren Sie mit dieser Art von Modifikation, erhalten
Sie möglicherweise einen Fehler, der besagt, dass
Sie wissen, können Sie Tabellen nicht ändern, die bereits existieren oder Sie müssen löschen oder so etwas. Was Sie tun können, ist zu Tools oder zwei Optionen zu gehen. Und dann gehen
Sie im Dialogfeld, das angezeigt wird, zu Designern weiter. Dann sehen Sie diese Option. Asus verhindern Änderungen sind erforderlich. Tisch Erholung. So würden Sie ein geticktes haben, wenn Sie Bereich haben würde. Süchtig, du hast es einfach nicht getickt. In Ordnung,
Also, sobald Sie auf Ticket und klicken, OK, und dann fahren Sie wieder. Du solltest okay sein. Ordnung, jetzt, wo wir hatten, haben wir diese Datenbank entworfen oder die nächste Mission wird es sein auf dem A P
I R
aufzubauen I R Zumindest beginnt das Projekt mit der Quelle, die unser eigenes Gebäude erzielt hat. Alt ist das FBI drauf. Richtig? Also werden wir Beispieldaten einfügen und vielleicht einige Änderungen vornehmen, während wir später
weitergehen . Aber im Moment haben wir einiges erreicht. Wieder einmal ist
das Skript für Sie verfügbar und was Sie mit dem Skript tun können, und es wird aussehen, ich werde so aussehen. Das ist ein Skript. Also, was Sie damit tun, ist es im Management Studio auf Sie öffnen, klicken Sie einfach auf Ausführen, und es wird nur, Sie wissen, diese Tabellen
erstellen. Also habe ich durchgemacht, wie du sie im Designer mit dem Skript baust. Sie müssen nur das Skript im Management Studio öffnen. Entschuldigung. Und dann wird der Slick ausgeführt, und es wird voran gehen und beide Tabellen für Sie erstellen. In Ordnung. In Ordnung. Das war's also bald für heute.
13. Data und Entity: Ihr Jungs in dieser Liste werden wir beginnen, unsere Datenklassen in unserem Projekt zu setzen ,
so dass wir beginnen können, mit unseren Daten zu interagieren. Frieden? Nein, Wir haben die Datenbanken in SQL Server auf eingerichtet. Wir verwenden SQL Server Express auf. Was ich hier habe, ist ein Nun, das ist ein Datenbankdiagramm oder e r d. So ziemlich viel von der so das generieren würde ich in die Datenbank gebohrt haben und dann ein Star sein werden. Gramm direkt kochen neues Diagramm. wurde ein Dialogfeld angezeigt. Ich habe die Tabellen hinzugefügt. Dann hat es das erzeugt. Es zeigt mir also immer noch alle Spalten,
die Primärschlüssel für die Fremdschlüssel auf Zeigen Sie mir, dass es eine Fremdschlüsselbeziehung gibt. Welche Primerica Fremdschlüsselbeziehung zwischen diesen beiden Tabellen. Jedenfalls ist
das wirklich nur ein Typ, denn das ist nicht, wo die Arbeit sein wird. Die Arbeit wird im Visual Studio sein, also haben wir ein paar Änderungen, die vorgenommen werden müssen, um für Visual Studio, unser Produkt im Visual Studio eher Zehe haben einige Kenntnisse aus der Datenbank, die wir auf der anderen
aufbauen Seite. Also die erste Änderung, die ich machen werde, ist in den oben Einstellungen, die Jason Datei. In dieser Datei sehen
Sie also eine Standardverbindung, und es wird einige Server auf einigen Datenbankinformationen haben. Niemand kommt in den Verzug. Sie geben dir. Ah, ziemlich eindeutiger Name. So geben sie dir ist Netze dash. Was auch immer der Name Ihres Projekts ist, dann ein gutes Preis-Leistungs-Verhältnis, richtig? Sie wissen, was dies tun würde, ist Entity Framework zu sagen, dass dies der Name aus der Datenbank und wenn es nicht
existiert, dann erstellt es existiert, dann verwenden Sie es. In unserem Fall haben
wir bereits eine Datenbank. Das ist eine Simulation, weil wir eine FBI fremde Datenbanken erstellen, die bereits existieren. Was wir also tun müssen, ist es eins zu sagen. Auf welchem Server befindet sich diese Datenbank? Das ist also ah, lokaler DB-Server, der im Grunde in Visual Studio eingebaut wurde. Es ist perfekt fähig, aber wir haben es nicht bemerkt, und wir verwenden SQL Express auf dem Weg, um rs zu erhalten. Sie drücken es immer noch den Namen. Also gehst du den Zeh. Sie haben drei Möglichkeiten. Sie können entweder sagen, dass der Name hier muss Maschinenbox Schrägstrich undein SQL Express oder eine Instanz, die Sie installiert haben, falls Vielleicht mir nicht gefolgt ist und SQL Express Jede von
einer anderen Instanz, die Sie verwenden, das ist in Ordnung. Nur auf den richtigen Server hingewiesen. Wenn du mir folgst, genau das zu tun, was ich tue, und das ist vollkommen in Ordnung, dann würde die Serveradresse, die wir hier brauchen, etwas wie entweder der Computername aussehen oder wir werden lokalen Host schreiben, dann der Schrägstrich und dann sehen Sie SQL Express. Das heißt also die lokale Maschine, die meine Maschine hier auf dem SQL Express ist. Instanz, Wenn die Datenbanken auf einem anderen Server, dann öfter als nicht, Sie können tatsächlich einfach in den Namen von diesem Computer in diesem Raum setzen. Alles klar, auf dso Das sagt mir, dass ich ein ungültiges Escape-Zeichen habe. Also brauchen Sie tatsächlich einen doppelten umgekehrten Schrägstrich genau dort. Richtig? Es ist also, wenn ein Schrägstrich, wie Backslash etwas Besonderes ist. Es sagt also nur über illegalen Charakter. Setzen Sie einfach das Doppelte darauf sollte in Ordnung sein, sind Also ich sage, dass mein Server ein lokaler Computer ist und Sie nach SQL
Express-Instanz suchen , die ziemlich genau das ist, was hier angezeigt wird oder wenn wir versuchen, eine Verbindung herzustellen. Denken Sie daran, dass
wir SQL Express gesehen haben, damit Sie es so schreiben können, wie es hier erscheint. Natürlich müssen
Sie einen Schrägstrich verdoppeln, da ein Schrägstrich s ein Problem ist, oder Sie können einen lokalen Host Backslash Backslash SQL Express uneben,
kurz,
Analphabeten sind kurz, . Es wäre zu sehen, Full Stop s Ihre Express, Unser Full Stop Schrägstrich SQL Express. Ich hätte hier sagen können. Alles klar, so dass Full-Stop-Backslash Backslash eso, dass Full Stop lokal repräsentiert, ziemlich viel war, aber ich lasse es auf dem lokalen Host. Weiter oben ist der Datenbank-Teil. Also brauchen wir den Namen von unserer Datenbank. Also habe ich meinen Datenbank-Buchladen benannt. So nannte ich es. Also werde ich den Namen von dieser Datenbank ändern, was sie mir geben. Und ich sagte, dass sie mir einen Teil einer Wohltätigkeitsorganisation geben. Sie nennen es Buchhandlung auf dem Square FBI, also werde ich nur das Fett löschen. In Ordnung. So oder so, löschen
Sie einfach, was da war. Lassen Sie die Halbpunkte, bitte. Also löschst du einfach um die Semikola? Stören Sie nicht diese Semikolon so Wenn Sie in Fehler laufen oder Sie sehen, dass Grönland erscheint, es ist wahrscheinlich, weil es die Spitze verpasst Sie rückgängig machen können. Gehen Sie zurück zum Original und versuchen Sie es erneut. also Möchten Siealsoden Servernamen zwischen dem Gleichheitszeichen auf dem Semikolon ändern? Schein für die Datenbank Name Equal Sign in Semikolon auf. Sie müssen nichts anderes in dieser Zeile in Richtung praktisch stören, so dass Sie einfach
auf Speichern klicken können . Sehen Sie diese Datei und er kann diese Datei schließen Also sind wir mit diesem Feuer für keine nächste oben
haben wir die Anwendung db Kontext fertig . Also für die Anwendung DB Context, die unter Ihrem Datenordner auf That's a file application telefoniert wird. Db-Kontext. Es interagiert im Grunde mit den Up-Einstellungen Jason D. Für die Verbindung, und der Grund ist, das zu tun, ist, in unserem Start. Wir hatten gesagt, dass in der Standardverbindung verwendet wurden. Uh, also verwendet der DB-Kontext diese Klassendateianwendung. DB Context
, der einen SQL-Server in der Konfiguration für die Verbindung String verwendet, wird in Form einer Standardverbindung in Up-Einstellungen gefunden. Jason Also dieser DB-Kontext ist nein nein, dass wir diese Anpassung vorgenommen haben. Es schaut nicht auf unsere aktuelle Datenbank, die wir gerade gesagt haben, dass die Datenbank mit arbeitet . Also, nein, was wir tun müssen, ist einige Klassendateien in unsere Projekte zu schreiben, die genau wie über
Tabellen aussehen werden . Also, wenn ich richtige Klassendateien sage, die wie unsere Tabellen aussehen, was ich sehe, ist, dass Sie einfach Asyut-Typ eingeben können. Wir fangen einfach an, indem wir sagen, db setzen auf, bitte. Das Gehäuse ist sehr wichtig. Sie wollen Kapital B Capital s BB setzen auf, Dann wäre die erste Tabelle Autoren, Also schreibe ich tatsächlich eine Klassendatei. Also werde ich erklären, warum ich ging, um zu sehen, Autor sind keine Autoren. Also sagte Beebe: Autor. Und dann gebe ich ihm den Namen Autoren und es ist eine Eigenschaft, wirklich. Es wird also auf die rote Linie gesetzt, oder? Lassen Sie uns noch darüber nachdenken. Dann noch einen. Also habe ich gerade das Wort Requisite geschrieben. Der Rop drückte zweimal auf, und er hat diese Linie für mich erzeugt. Also habe ich den öffentlichen Qualifier deutlich verpasst, dass einmal Amigo Boxen öffentlich sein sollten. BB setzt auf Autor in Hungerklammern und dann Autoren auf. Dann lass mich das noch mal versuchen. Also ist es öffentliches Fernsehen auf dann Winkelklammern. Und dann dieses,
sein Buch über den Namen vom Tisch ist Bücher sind also diese, was in dieser Winkelklammer ist erwarten eine Klasse. Also, was ich tun werde, ist darüber zu schweben. Setzen Sie die Glühbirne ein, dann siehe Generieren eines Klassenautors in einer neuen Datei auf. Dann werde ich dasselbe für den Buchverkauf tun. Er zog von weiß und Underland zu wissen, dass Sion oder was auch immer Farbe, die
wie ein wirklich Schlüsselwörter ist . Also ging ich zu der gleichen Sache für Bookworm,
ging, um Buch in einer neuen Datei zu generieren, so dass es diese beiden Dateien Autor und
Buch innerhalb meines Datenordners direkt neben meiner Anwendung generiert wurde . Db-Kontext. Nun ist der Grund, warum ich den Klassenautor nannte, aber die Tabelle oder der Name von den Immobilienautoren ist wirklich eine Frage der Semantik, richtig? Also haben wir einen Satz von Autoren, richtig? Aber was auch immer der Klassenname ist, Sie möchten eine singuläre Instanz oft Autor darstellen. Ein Autor repräsentiert also einen Datensatz, der eine Klasse in unserem, ähm Sie wissen, unsere Konzepte sind projektrichtig, unser Programm. Es ist also wirklich etwas von Semantik, aber ja. Also haben wir eine Klasse für den Autor, und wenn wir eine Gruppe von ihnen haben, wäre
er Autoren. Und das Quell-Mentum oben in der Datenbestie über Tabelle genannt Autoren auf dem CME-Konzept für Bücher. In Ordnung, also werde ich anfangen, Haute unsere Klassenakten zu füllen. Solidos halten Sie die Kontrolle und klicken Sie auf. Alles klar, also, Kontrolle, klicken Sie darauf. Navigiert bis zur Definition der Klassen. Richtig, das funktioniert 90% Rabatt auf die Zeit. Also werde ich anfangen zu legen schrieb die Eigenschaften für den Autor relativ zu den Eigenschaften auf Datentypen, die wir in unserer Datenbank skizziert hatten. Oder nehmen wir an, dass wir diese Datenbank nicht erstellt haben, aber wir erben eine Datenbank, die wir zusätzlich entwickeln müssen. Wir müssen wissen, was die Spaltennamen waren? Was waren die Datentypen? Citron war der Schlüssel. Wir müssen all das in unserer Datenklasse nachahmen, damit wir mit der
entsprechenden Tabelle interagieren können . Also werde ich eigentlich anfangen, indem ich ihm die Tabelle sage, die es abbilden sollte. So kann ich die Möglichkeit haben, über Anrufdaten Annotationen onda zu verwenden. Wir beginnen mit eckigen Klammern. Das ist also zwischen den Braves für nahes Weltraum in der Öffentlichkeit, richtig? Und wir werden Tabelle Capital,
T-Tabelle und eine offene und enge Brandkrankheit sehen . Und dann werde ich Ihnen sagen, dass der mit ihm verknüpfte Tisch alles dritte ist
, weil das der Name aus der Tabelle in der Datenbank ist. Also, wenn du es falsch eingegeben hast oder er das s nicht angezogen hat, ist
das in Ordnung. Ich werde nicht töten, leisten Sie sich eine Schreibweise. Aber stellen Sie sicher, dass Sie es zurück, weil Visual Studio wird keine Allergie, um fortzufahren, oder Sie werden in Probleme laufen, wenn die Schreibweisen nicht korrekt sind. In Ordnung, also braucht der Tisch etwas enthalten. Also werde ich nur diese Abhängigkeit einschließen. Also bekommen wir unsere Dana Data Annotationen für Schaltpläne auf, Dann werden wir anfangen, füllen alte über Autorenklasse werden auch dies eine teilweise jemand zu sagen,
Autor, Autor, Teilkreuz. Es ist also öffentliche Teilklassenreihenfolge. Entschuldigung. Alles klar, also werden wir auf idee Spalte auf Wir haben die Idee in der Datenbank definiert, um Ganzzahl zu sein oder so gehen zu unserem Vornamen und Nachnamen beide eine Zeichenfolge, weil wir in der Datenbank sie als vier Ladung erklärt haben, nur um zurück zu gehen und überprüfen, Sie können immer zurück zu Ihren Spalten. Ich schaue auf die Datentypen So Vorname war März oder Umgebung sind zuerst in meinem
Nachnamen sind beide. Das auf Bio war var Char-Markierungen, was ziemlich nur eine andere Zeichenfolge ist. Dann war's das. Also dort hätten wir alle aus den entsprechenden Spalten definiert. Also eine Spalte. Nun, das sind alle von ihnen. Das sind vier Spalten und wir haben alle vier Spalten hier. Jedoch, was passiert ist, dass auf Autor kann viele Bücher haben,
Also, das ist der Punkt der Beziehung mit einem Autor, viele Bücher. Also, wenn Sie nicht so vertraut mit Beziehungen zum Datenbank-Design Canticle sind, mein Kurs Microsoft SQL für alle in Ordnung, aber nicht die Tabelle mit dem Fremdschlüssel zeigen. So ziemlich sind die vielen. Sobald Sie also einen Fremdschlüssel in eine Tabelle eingefügt haben, sagen
Sie, dass Sie eine Entität haben, die viele von diesen Datensätzen haben kann. Sie haben einen Autor. Ähm, weißt
du, ein Datensatz für eine Person, dass du viele Bücher haben kannst, die mit diesem einen Autor zusammenhängen. Also dann in C scharf, was wir tun wollen, ist ah,
Eigenschaft, die besagt, dass, wenn ich einen Autor bekomme und ich alle Bücher Associate ID will, dann brauche ich zumindest aus den Büchern. Das ist genau das, was wir ausschreiben werden. So haben öffentliche virtuelle auf. Dann werde ich das einfach einschließen. Also verwenden wir eine Liste, die einen C-scharfen Datentyp ist. Ich liste vom Typenbuch
auf, richtig. Also möchte ich eine Liste von Buchklassen auf. Ich werde diese Liste Bücher nennen. Das war's. Also, wenn ich einen Autor bekomme, dann wäre ich in der Lage, alle verwandten Bücher innerhalb dieses Datensatzes aufzunehmen? Nein, für das Buch werden
wir beginnen, indem wir definieren, mit welcher Tabelle es verknüpft ist, was die Tabellenbücher sind. Dann werde ich noch einmal diese eine Partials sein öffentliches Teilklassenbuch treffen. Nein, ich werde anfangen, alte zu bauen oder die andere Spalte zu definieren. Also habe ich im Grunde jeder von ihnen, also gehe ich einfach durch und erinnere mich an zu viel sie zurück zu den Beta-Tests, die Sie festgelegt falls Sie verschiedene Datentypen von mir festgelegt haben und ich ging voran und sagte es Composite-Video und Fehler in. Aber ich werde erklären, was hier passiert. Also haben wir die Idee. Natürlich haben wir den Titel, wo die in. Also sehen Sie einige Fragezeichen außer ihnen, ich mache im Grunde nicht wenig. Alles klar, wenn
wir sagen, bemerkenswert in der Datenbank wäre definiert nicht in C scharf, müssen
Sie ein Fragezeichen setzen und es funktioniert auf einigen Datentypen. Es funktioniert nicht bei jemandem. Sobald wir das Fragezeichen gesetzt haben, bedeutet dies, dass es eine Last Zeh ist. Haben Sie den Wert? Nein. Entitätsframework wird also diese Art von Validierung erzwingen. Wenn ich also versuche, ein Buch zu erstellen, biete ich kein Vital für Staatentitel als es anders ist, wird die
Arbeit wahrscheinlich zurücktreten und sagen, dass Sie dafür ein gültiges benötigen. Es ist in der Regel so streng mit numerischen auf Anlagebarren. Sobald eine Zeichenkette gespielt wurde, hat
sie irgendwie etwas mehr Nachsicht, also konzentriere ich mich wirklich nur auf die ganze Zahl. Die doppelte Andi, die andere Ganzzahl haben jetzt alle Spalten hier ausgefüllt, die in der
Datenbank vorhanden sind, haben Autor Odd I D. Aber dann ist die coole Sache über Entity Framework, dass, wenn Sie, ah, Beziehung Ori dieser Fremdschlüsselbeziehung erinnere mich, dass ich das mit dem
Autor besprochen habe . diese Liste von Büchern
einfüge, kann ich nur einen Autor abrufen und dann automatisch die Liste von Büchern abrufen. Nein, das Gleiche für das Buch. Wenn ich ein Buch abrufe, möchte
ich einige Details über den Autor in SQL, den Sie bei einem inneren Join haben, aber im Entitätsframework können
Sie eine Eigenschaft vom Typ aus der Klassendatei einfügen, die die Daten enthält. Also nein, wenn ich das Buch bekomme, hätte
ich eine Eigenschaft in diesem Buch namens Autor auf Off Course Author Ideas. Was würde Autor verknüpfen? Und Sie wissen, dass, was auch immer die Idee vom Autor ist, es ist auf, um es automatisch abzurufen. Dann würde ich in der Lage sein, ihren Vornamen Nachnamen auf ihre Details zu bekommen, nur indem ich das Buch. Also, das ist, was in verschiedene Arbeit bringt auf den Tisch, so dass Sie weiter gehen und speichern, dass auf das ist es für nein. Also, was wir gerade getan haben, um zusammenzufassen. Und ich werde nur eine Rechnung machen, um sicherzustellen, dass ich nichts eingeführt habe, um das
Programm zu brechen und es war erfolgreich. Das ist also gut. Also, was wir gerade getan haben, war, dass man die Einstellungen für die Datenbank anfeuert, um unsere entsprechende
Datenbank zu betrachten , die wieder in diesem Kontext auf bestehende Datenbank sein würde. In Ordnung, wir gingen auch weiter auf DWI konfiguriert die Teilklassen für unsere Tabellen. Von diesen sind wie Leitungen Botschafter für Datenbank sind. Ich weiß nicht, welches andere Wort ich verwenden könnte, um sie zu beschreiben, aber so ziemlich werden sie Beziehungen zwischen unserer Anwendung hier in der
eigentlichen Datenbank vermitteln . Also unser Kontext db Kontext? Nein, Si, ist das okay? Ich suche nach einer Tabelle namens Autoren und ich werde diese Klasse verwenden, die wir gerade den Broker definiert haben Jede Beziehung zwischen denen Wenn ich meine, etwas zu beginnen, wird
es relativ zu dem sein, was ich durch diese Klasse einfügen kann, während wir weitergehen. Dies wird ein bisschen mehr Sinn machen, oder einfach nur basierend auf Konfiguration. Einige Dinge werden sich ändern, die diese Dinge vielleicht überdenken müssen, aber für nirgends tut diese Konfiguration, also müssen wir sie nicht wieder tun. Nicht leugnen
14. AutoMapper und DTOs: Willkommen hierbei. Hören Sie, wir werden unsere Datenübertragungsobjekte absetzen, oder DT verdankt vier kurze sowie die Einrichtung Autumn Oper, die die Brunnen-Mapping zwischen unseren Daten verarbeiten wird. Freunde sind Objekte in unseren Basisdatenklassen. Lassen Sie mich also ein wenig erklären, warum wir Datenübertragungsobjekte brauchen. Also habe ich hier die Datenklassen, die wir kürzlich erstellt haben, die Buch über Autor sein würden. So wissen wir bereits, dass diese direkt auf die Tabellen in der Datenbank abgewickelt werden. Wenn wir die Tabelle in der Datenbank ändern, müssen
Sie diese Klassen entsprechend ändern, nur um sicherzustellen, dass wir nichts
auf dem Weg brechen . Nun, die Sache ist, dass wir nicht direkt mit diesen Klassen interagieren wollen. Diese Klassen sollen eine direkte Repräsentation von der Datenbank sein, wenn wir sie
ändern müssen , sollten
sie nur relative Zehe Änderungen in der Datenbank über Kehlen geändert werden, die den MP
bauen, den ich enthüllen wollte bestimmte Funktionen, die es ermöglichen würde, dass die
Interaktion jemand begrenzt sein würde. So sind wir in der Kontrolle aus, was ich Benutzer durch unsere 80 ich tun kann, die mit der richtigen
Entwicklung beginnt . Also werde ich wahrscheinlich ein Beispiel geben, wo, wissen
Sie, beim Einfügen eines neuen Datensatzes, beim Einfügen eines neuen Buches, wir wahrscheinlich nicht allo sie toe in einen Wert für das I d setzen
würden. Geben Sie ihnen einen Titel. Geben Sie sie, Sir. Geben Sie ihnen die Kapazitäten, um einen Titel einzugeben. Geben Sie das Jahr, vielleicht die ISBN-Nummer auf vielleicht eine Zusammenfassung über alles, aber sie sind nicht die i d. Auch wahrscheinlich, um den Autor in irgendetwas zu bestimmen. Wir würden wahrscheinlich nicht wollen, dass sie in der Lage sein, das Image-Boot auf ihnen zu
ändern, um den Preis zu ändern und so weiter. Ein Datenübertragungsobjekt ist so ziemlich das, was wir ein Modell nennen. Wenn wir in NBC wäre, würde es ein Modell in einem Paar nennen. Die Entwicklung wird es ein B t o nennen. Alles klar, so ziemlich, es wird einfach wie ein Conduit sein. Es ist also ein weiteres Hindernis weg von der Datenbank, wo wir kontrollieren, welche Art von Käfer weitergegeben werden kann. Dann kümmern wir uns danach um diese Manipulation, also bauen wir dieses Programm auf. Das erste, was wir tun werden, ist, Autumn Oper in unsere Lösung aufzunehmen. Also gehen wir mit der rechten Maustaste auf oder Projekt in unserem Projekt. Sorry auf dann, Goto verwalten neue get Pakete Dann gehen wir über zu Bro's und dann sind wir für Auto Ma Per So auto ist ein Automobil und Mopp er auf der Semicon Nehmen Sie Pre-Release Wenn Sie unticketet von einer vorherigen Übung auf, Wir suchen Auto Ma per Also gehen wir voran und installieren die Herbst-Oper auf. Dann werden wir auch die Erweiterungen Punkt Microsoft installieren, dass es Abhängigkeitsinjektion . Also geh einfach voran und fange damit an. Und dann, wenn wir damit fertig sind, können
wir voran und verlassen neue bekommen so nein, wir haben Herbst oben. Nein, wir brauchen Zeh. Lassen Sie unsere Anwendung wissen über Herbst oben Jemand, um voran zu gehen und erstellen Sie einen neuen Ordner auf Ich möchte diesen Ordner aufrufen. Ma pings So m e p p i n g. Ich habe einen Ausgabefehler dort, meinen Cursor
nicht sehen. Ihre Mom pingt an, dann insig so voll, dass wir eine neue Klasse erstellen werden. Ich werde es Mops nennen. Sie möchten also nur Namen auswählen, die nicht mit den Schlüsselwörtern kollidieren. Richtig? Du darfst also nicht geben. Man kann es etwas anderes nennen. Stellen Sie einfach sicher, dass es nicht mit den Schlüsselwörtern abstürzt. Also haben wir Karten der öffentlichen Klasse, und dann werde ich sagen, Anruf auf Profil. Alles klar, dann wird es mich bitten, etwas einzubeziehen, das ich benutzen muss. Herbst-Obermaterial. Dann ist das in Ordnung. Nun, das ist nur eine Konfigurationsklasse, also sind wir noch nicht ganz bereit dafür, aber wir lassen uns brauchen, um unsere Anwendung oder Boot oder Herbst Oper Bestrebungen zu lassen. Also gehen wir zum Start, nicht CS on. Dann gehe ich auf die Zehe. Fügen Sie es alle Rechte über diesem Strugar. Jemand zu sagen, Dienste, Punkte ad Oh, zu Mapper. Und da ist es, am Ende der Liste. Also im Herbst oben und dann möchte ich sagen, tippen Sie auf, dann nennen Sie den Ort den Namen von unserer Klasse, die Mops ist. Also tippen Sie Mops auf Semikolon aus Kurs gehen Sie voran und schließen Sie alles, was
aufgenommen werden muss . Dann sind wir gut, auf dem Teil zu gehen, also nein, unsere Anwendung weiß, dass es Tomar Pratt braucht, die Dienste ausgelöst hat. Als Nächstes machen
wir ein paar Details. Wo können wir also nicht jeden einzelnen DT in Ordnung bringen? Nein, aber ich werde die Basis treffen und dann, wie wir mitmachen, wahrscheinlich andere machen. Also werde ich brechen,
klicken Sie erneut, klicken Sie erneut, erstellen Sie einen neuen Ordner. So sind es Ordner eine ausgezeichnete Möglichkeit, Ihre wie Dateien zusammen zu halten. Agita. Man feuert überall. Deshalb werde ich eine Menge Kugeln kreieren, während sie weitergehen. Diesmal werde ich es DT-Löcher nennen. Richtig? Das ist also der Name aus dem Ordner auf. Dann würde ich mit dem Ordner interagieren klicken Sie auf Punkt hinzufügen, eine neue Klasse auf. Dann möchte ich diesen einen Autor Beatty nennen, oder und ich werde nur eine andere Klasse zur gleichen Zeit auf Abruf dieses eine Buch erstellen, GTO. Also für jede Datenklasse, die Sie jede Tabelle haben, Sie wahrscheinlich sicherstellen, dass möchten
Sie wahrscheinlich sicherstellen, dassSie übertragene Übertragungsobjekte haben, so dass Sie abhauen können, was nicht geändert werden
sollte, wenn Sie verfolgen, was auf dem Weg geändert werden sollte. In Ordnung, das sind
also die Basis, die DT schuldet, dass ich so echten Eintrag habe, dass sie so
ziemlich wie die Datenklasse aussehen werden. Also werde ich das alles direkt aus der Datenklasse kopieren, auf die ich in den DT setzen werde oder hier keine gute Sache. Also fragen Sie sich vielleicht. OK, warum muss ich Klassen? Und das ist in Ordnung. Das ist eine gültige Frage. Eso habe ich gerade alles vom Autor in den Autor DDO Alles von der Buchung bis zum
Buchdetail kopiert . Das Gute an der DT Oh nein,
ist, dass es Low City ist und vier bestimmte Validierungen von vorne. Also, während wir die Datenbank eingerichtet haben, um zu sagen, OK im März sind 50 Sie würden bemerken , dass Buch eine Zeichenfolge ist und es gibt keine echte Grenze für die Zeichenfolge, so dass die Zeichenfolge Umgebung Reifenmarken sein könnte und es könnte unsere 50 sein könnte Umgebung Taiwan. Wir wissen nicht, dass wir auf dieser Ebene nicht hören, aber wenn sie zum GTO kommen, das ist, was unsere Nutzer interagieren werden. Also, was auch immer wir für die Validierung hier einrichten, wenn es erforderlich ist oder wenn es, wissen
Sie, in der Anzahl der Zeichen
begrenzt ist, die Sie bekommen können Was auch immer es ist, dass wir wollen, dass wir das
Limit einrichten . Um, unsere Benutzer von der A p i zu tun, würden
wir auf der Ebene der Datenübertragungsobjekte tun, die Sie hier sehen, dass ich kopiert und
direkt von booby eingefügt habe, um eine rote Linie zu haben. Also sind Sie wahrscheinlich voran gegangen und haben Daten aufgenommen, aber wirklich intial möchte
ich nicht, dass der GTO direkt mit der Datenklasse interagiert, also sollten Details miteinander interagieren. Also habe ich Autorendetail. Wenn ich also eine Repräsentation brauche, die oft innerhalb meines Buchs verfasst ist, dann wäre das relative Autorendetail. Alles klar, Details
zu Datenklassen interagieren nicht direkt. Richtig? Deshalb haben wir Autumn Oper so wissen, dass wir Details einrichten müssen. In Ordnung, ich kann zu meinen Mops zurückkehren, die CS-Datei und meine Konfigurationen beenden. Die Konfiguration, auf die ich mich hier beziehe, besteht darin, das Mapping zu erstellen. Also lasse ich Herbst oben noch, dass diese beiden Klassen sollten in der Lage sein, direkt
zueinander zu markieren . Und deshalb müssen die gleichen Spalten- oder Eigenschaftsnamen vorhanden sein. Also, wenn ich eine falsch geschrieben oder wenn ich sprach Zusammenfassung mit einem alten. Aber damit landen
Sie in der Buch-Datenklasse sowohl auf als auch in der GTO, dann werden Autos ignorieren, weil, was das Automobil betrifft, sie sind nicht die gleichen. Sie sind nicht wie richtig. Wenn ich also auf Karten sitze, dass CS das ist, was wir glücklich sind, dass wir hier machen. Also werde ich sagen, erstellen Sie Mopp und öffnen Sie dann Winkelhalterung. Und dann werde ich sehen, dass ich den Autor mop und dann speichern Komma zu Autor E T o. Dann, nach der Winkelhalterung, öffne und schließe
ich Klammern und ich werde sagen Punkt Reverse Mop. Das bedeutet, dass das Mapping in beide Richtungen verlaufen kann. Nein,
du siehst, dass, um eine Nummer dafür zu haben, landet und ich habe einen Rechtschreibfehler. Lassen Sie mich das dann beschreiben. Ich werde nur weitermachen und alles einschließen, was aufgenommen werden muss. Also, nachdem ich alles aufgenommen habe, was aufgenommen werden muss, kriegen
Dad und ich einen Ridley. Oh, mein böser, mein böser. Was wir hier in der Klasse brauchen, ist Ah, Konstruktor. Mein schlechtes. Also sollten wir öffentliche Karten sagen. Also bin ich nicht zum Konstruktor ausgewandert. Entschuldigen Sie sich. Also haben wir oder Klasse Mops, als wir unseren Konstruktor haben. Dann sind wir klar Arm UPI ist in Ordnung. Also kann ich einfach die beiden Mapping erstellen. Also habe ich einen für Autor und auch Detail auf dann bin ich mit einem für Buch Onda Book DT. Alles klar, im Wesentlichen, was das tun wird, ist allein, dass ich entweder einen ausfüllen kann. Also, wenn ich Phil sage, meine
ich, wenn ich gemäß der Datenbank laufe und ich die Datenklasse aus dem Buch zurückbekomme, aber dann hat
das Detail , das ich habe, vielleicht drei weniger Spalten als die Datenklasse. Dann kann ich einfach ein direktes Wischen machen, und es wird die Farben der gleichen Namen finden, die Daten setzen, ignorieren die anderen, und dann habe ich ah Buch PTO Objekt mit den relevanten Daten gefüllt. Von der ursprünglichen Klasse auf der Rückseite zu kommen, ist wahr, weil aus dieser Konfiguration, Reverse-Mop, wo die Buchdetails mit Daten gefüllt werden können. Ich muss es nur abbilden und es wird das Objekt vom Typ Buch mit Daten füllen, die dann an die Datenbank
übergeben werden können . - Natürlich. Es würde nur dieses Feuer bekommen, wenn die Validierungen, die ich im Buchvideo eingerichtet habe,
erfolgreich gewesen wären . Nein, nur aus der Nähe. Wir werden einen Build machen und sicherstellen, dass alles intakt ist, wenn ich meinen Build mache. Und ich sehe, dass ich eine ernsthafte tragen muss, so in Autor DT oder ich habe die Eigenschaft und Mapping
toe-Buch . Also, wie ich schon sagte bto Stab zu DT auch d t o direkt auf die coole Sache über
Herbstbetreiber , dass sobald das Wischen existiert,
wenn ich etwas wischen muss, ähm, vom Autor GTO, aber relativ zum Buch, es wird automatisch damit umgehen, dass Mapping so eine tolle Bibliothek für Sie ist. Also habe ich diese Anpassung vorgenommen und ich werde wieder bauen. Ich sehe, ob ich fehlende Assemblys habe. Ich will nicht erfolgreich bauen auf dso Wir sind fertig
15. Änderungen in GitHub: Willkommen zurück. Es ist wieder an der Zeit, wenn wir überprüfen, was wir für diesen Abschnitt getan haben und dann unsere
Änderungen überprüfen , um Hoffnung zu bekommen. Also für diesen Teil aus dem Kurs, hätten
wir eine Datenbank in SQL Server Express auf erstellt. Dann gingen wir weiter und änderten unsere Einstellungen, um auf diese neu erstellte Datenbank zu verweisen. Wir implementierten die Datenklassen, die verwendet werden, um mit den Tabellen in
der Datenbank zu interagieren . Und wir haben auch Autumn Oper mit einigen DT Schulden eingerichtet, um sicherzustellen, dass wir die
Mapping-Konfiguration für unseren Benutzer und gegenüber unserer Datenbank haben . Und in unserem A P I Nein, wir werden nur unsere Änderungen überprüfen. Also jedes rote Häkchen stellt dar, dass ich die Datei geändert habe. Also, wenn Sie sehen, unsere es dauern, bedeutet dies, dass die Datei seit dem letzten Huhn geändert wurde. Wenn Sie ein Vorhängeschloss sehen, bedeutet dies, dass seit dem
Einchecken des Feuers keine Änderung stattgefunden hat . Wenn Sie sehen, dass Prozess Feind ist, dass, während Sie gerade etwas Neues zu den bestehenden
robusten Erso hinzugefügt Huhn sind Änderungen. Wir gingen direkt die Lösung klicken Sie auf Commit on, geben Sie ihm eine Nachricht, damit ich einfach eine schöne Nachricht schreiben kann, damit Sie das Video anhalten und die Nachricht
schreiben können, wie ich es geschrieben habe. Aber ich ermutige Sie immer, in Ihrer Nachricht relativ detailliert zu sein, damit
jemand anderes , der mitkommt, eine Vorstellung davon haben kann, was mit diesem Huhn gemacht wurde. jedoch vollständig so einzuchecken, Umjedoch vollständig so einzuchecken,sind Sie nicht neben dem Wort Commit all und dann sehen Sie
,
überschreiben Sie , alle auf der Senke, was das tun wird, ist lokal zu verpflichten und dann zu drücken, um Hilfe zu erhalten . Sobald das erledigt ist, können
Sie immer wieder zu Ihrem Positiven zurückkehren und überprüfen, ob Ihre Änderungen am vorgenommen wurden. Dann war's das.
16. Autor:innen von Repositorien und Service: Willkommen zurück. Wir werden jetzt mit der Einrichtung unseres Autoren-Repositorys beginnen. Nur ein kleiner Hintergrund Sind Repositories ziemlich wie eine Sammlung von Funktionen, richtig? Also, wenn wir über unseren Autor abgestoßen sprechen oder was wir tun, ist die Einrichtung einer
Basisstruktur , durch die mit unserem Autor Table Toe interagieren, führen Sie alle Datenbank-bezogenen Operationen. Es ist also eine weitere Ebene der Behinderung, so dass wir nicht
jedes Mal direkt die Datenklasse aufrufen . Aber wir rufen nur eine Funktion auf. Andi, diese Funktion kann mehrere Stellen verwendet werden. Dann setzen wir uns für die Abhängigkeitsinjektion in unsere Controller für den Zugriff ein. Aber wir werden diese Gelegenheit auch nutzen, um ein Basis-Repository einzurichten. Das bedeutet, dass jeder Tisch, na ja, jedes Band diesen Kerl ausführen wird. Vier von den gleichen Funktionen sind Operationen. Grundsätzlich erstellen, lesen,
aktualisieren und löschen die Crowd-Operationen lesen, . Also werden wir eine Basis oder Buster mit ah Baseline-Definition für diese Funktionen einrichten. Und dann wird jede andere Klasse oder jedes andere Repository eher von dieser Basis ein
wenig erben . Fangen Sie damit an. Also zuerst wollen sie zu unseren Verträgen Ordner gehen, rechten Maustaste,
klicken Sie auf. Fügen Sie hinzu, ich füge Klasse hinzu. Ich füge wirklich gut hinzu, Klasse oder stört, Wir schaffen wirklich eine Störung. Aber ich kann Klasse unabhängig verwenden. Andi,
ich werde das nennen. Ich Repository BCE. Alles klar, sobald
Sie diesen Namen eingegeben haben, repositoriere ich im Grunde voraus und klicke, füge hinzu und warte darauf, dass das generiert wird. Also noch einmal, wir machen eine Störung, also werde ich zuletzt die Inter heftig ändern. Alles klar, dann. Ich will nur sagen, dass die Basis relativ zu einer Klasseneinheit ist, die ich
Tee nenne . Wo? Tee. Dickdarm-Klasse. Teile dieser Spalte, die besagen, dass dies ein basiertes Repository auf seiner Funktionalität ist, werden
relativ zu Wasser sein , eine Klasse, zu der ich sage, dass es relativ ist. Und wenn ich Klasse sage, meine
ich die Datenklassen, die die direkten Broker sind. Für die entsprechende Tabelle werden
Sie alle Sinn machen. Also gehe ich nur wenig an diesem Stand vorbei. Wir bauen es zusammen. Also werden wir einen Treibstoff-Funktionen haben. Ähm, gut definiert, nicht definiert. Innen deklariert. Von dieser Schnittstelle an, beginnen
wir mit dieser hier namens Find all Nein, ich werde asynchrone Programmierung verwenden, also schauen Sie sich eine synchrone Programmierung an,
die, uh,
parallele Programmierung ist uh, Technik, dass es sehr einfach Zehe implementieren macht, und es wird die Reaktionsfähigkeit von Ihrer Anwendung auf diesen Operationen zu erhöhen. Also lassen Sie uns zusammen sitzen so toe aufgrund einer synchronen Funktion zu deklarieren, müssen
wir der Aufgabe erklären und dann öffnen wir Winkel Klammern und dann, wenn es
Wert zurückgibt , und dann müssen Sie den Wert angeben, der zurückgegeben wird oder der Datentyp aus, wird
der Wert zurückgegeben. Also die erste 1, die ich mache, ist alles zu finden und ich wollte alles in Form einer Liste finden. Also bin ich Listen amüsant? Darauf listet ich auf. Ich möchte die Liste vom Typ t erinnern, Tees nur relative Tochter, ein Klassentyp wird direkt an übergeben. Dann nenne ich es finden alle. Im Grunde sehe
ich, ob diese Funktion aufgerufen wird, ist
es eine asynchrone Funktion. Es sollte zumindest aus der Klasse zurückkehren, die ich anfordere,
ich rufe die Funktion auf . Finden Sie heraus. Als nächstes haben wir eine Aufgabe an dieser ist, nur eine Instanz von jedem Klassenelement
oder einem Objekt aus dem Klassentyp zurückzugeben , auf dem ich anfordere. Ich nenne das hier. Finden Sie von Heidi auf diesem wird einen Parameter von int i d nehmen. Als nächstes haben
wir Aufgabe. Entschuldigung. Aufgabe auf Bulle. Dieser wird also einen Booleschen Wert zurückgeben. Ich nenne das hier. Erstellen auf was? Ich erstelle eine Entität vom Typ T also t weiter, ich nenne es Entität. Das ist mein Basisname dafür. Also, egal welcher Klassentyp, ich werde eine Instanz aus erstellen, verstanden? Um das Objekt zu übergeben. Es erwartet ein Objekt von diesem Klassentyp auf. Dann möchte ich auch ein bisschen haben und löschen, die sehr identisch aussehen werden, um zu erstellen . Also werde ich nur das duplizieren und sagen, bekommen Andi Deletes Denken Sie daran, Control D ist der doppelte Sharkey. Und dann ging ich nach oben eine letzte Funktion namens Task Bull auf diesem wird Zehe Griff Sieben. Richtig. Also die Sache innerhalb von zwei verschiedenen Arbeiten, wenn
Sie erstellen, müssen Sie immer die Änderungen dafür speichern Eigentlich an die Datenbank übergeben. Nun, das ist nur das Basis-Repository. Nein, ich brauche ein Repository, das für meine Autorenoperationen spezifisch ist. Ich werde mit Verträgen fortfahren. Erstellen Sie weitere Interferes auf. Dann wird dieser Name Ich Autor Repository genannt werden. In Ordnung auf. Dann gehe ich voran und klicke, füge hinzu. Aber dann noch einmal, es ist eine Inter Honorare. Aber dann wird diese Schnittstelle von der Repository-Basis erben. In Ordnung, also wenn ich sage erben, meine
ich nur, ich werde sehen, dass ich Repository Colon auf verfasse. Dann fügen Sie Repository-Basis auf dann t ist nicht das, was ich übergebe, aber weil ich weiß, dass ich es
mit
dem Autorzu tun , dass ich es
mit
dem Autor habe, wird die genaue Entität Autor sein Alles klar, also bedeutet, dass alles, was innerhalb von diesem speziellen getan wird, stört relativ zum Autor sein. Aber dann ist das cool. Es wird so für jede Datenklasse sein, dass Sie ein Repository vier haben werden. Dann werden Sie nur angeben, auf welcher Datenklasse es relativ ist, dann werden Ihre Funktionen relativ dazu definiert. Alles klar, aber das ist nur eine andere Schnittstelle. Das heißt, wenn es andere Operationen mit Auster gibt, die ich durchführen möchte, dass wir nicht, du weißt schon, kein Teil der Bestie
sind. Also die Basis ist nur Sie wissen, sind vier Operationen, die jeder Tisch in der Lage sein wird, über. Ich meine, bestimmte Arten von Operationen
haben. Vielleicht möchte ich den Autor von einem Buch abrufen, das ich d oder etwas anderes aus der Norm von dem, was in der Basis ist. Dann kann ich diese Erklärungen ineinander schreiben. Dies stört Teil auf Kerl muss enthalten, was fehlt. Da gehen wir. Also noch einmal, sind Schnittstellen, und das sind nur Deklarationen. Also natürlich brauchen
wir eine konkrete Klasse, die diese Operation tatsächlich umsetzen wird. Also der Vertrag, Vater Schnittstelle mit den Erklärungen, aber dann Ihre Dienste. Also habe ich einen Ordner hier Dienste Diese werden Dateien sein, die erben werden. Also haben wir so etwas mit dem längeren Service gemacht, bei dem ich den Vertrag mit den
Deklarationen von den Funktionen auf dem dann vom Vertrag geerbten Dienst hatte . Andi setzen tatsächlich die Definitionen für diese Funktionen. Richtig? Also machen wir das gleiche hier, wir haben ich ein Repository, das von der Basis auf erbt. Was ich dann tun werde, ist in einer neuen Klasse Dienste zu gehen. Andi, Dieser wird Autor sein. Repository, klicken Sie auf Hinzufügen Dann werde ich das Repository erben von Ich kaufte Author Repository Recht auf. Dann ging ich nach Include ein Der Ordner verwendet diesen Namensraum auf. Dann werde ich den Zeh in die Definitionen für andere Funktionen setzen lassen. Das ist also, was diese rote Linie ist. Also, wenn ich schwebe, werden
Sie sagen, implementieren Schnittstelle und es wird alle von der Methode Stubbs relative
Spitze erzeugen , was definiert wurde. Also sehen Sie, alle diese kommen von B ist, weil, aber ich vererbe Repository, ich bekomme alles von dem, was in der Basis ist. Und dann, wenn ich benutzerdefinierte Funktionen hier drin hätte, hätte ich auch Methodenstubbs, die sie an einem Ort darstellen. Nein, ich kann eine schnelle Rechnung machen, nur um sicherzustellen, dass ich nichts verpasse. Und es ist immer gut, Builds zu machen, nachdem Sie einige Gerichtsänderungen vorgenommen haben, weil Sie etwas auf dem Weg
verpasst haben oder es etwas nicht richtig auf einem Build gemacht hat, wird Sie davon informieren, dass Sie davon abhalten, mit grellen Fehlern fortzufahren. Richtig? Der Builder ist also erfolgreich und nein, wir werden mit der Implementierung dieser Funktionen beginnen. Also, um zu beginnen, dass das, was ich brauche, eine Instanz von meinem Anwendungs-DB-Kontakt ist. Also denken Sie daran, dass Anwendung BB-Kontext und ich einfach die Datei schnell geöffnet. Es hat die Definitionen für Ganze, um eine Verbindung mit der Datenbank herzustellen. Es weiß, dass dies die Datenklassen sind, auf die es schauen sollte. Es weiß, dass die Konfigurationen, zusammen mit der Verbindung, alles, was alles in dieser Klasse eingehüllt ist,
Zeichenfolge. Was wir also brauchen, ist ein Objekt aus dieser Klasse, die unser Anwendungs-Db-Kontext innerhalb von für Buster ist, so dass wir
mit der Datenbank interagieren können . Also werde ich anfangen, indem ich Eigenschaft privat nur lesen auf Es wird vom
Typ Anwendung db Kontext auf sein . Ich werde den Objektnamen auf der Partitur nennen. DB richtig? Nein, Nachdem ich das getan
habe, werde ich es innerhalb des Konstruktors initialisieren. Also werde ich einen Konstruktor erstellen. Und dazu kann
ich C t o r Laptop lesen und es erzeugt einen Konstruktor. Also das ist ein netter, scharfer Schnitt weg von Ihrem Konstruktor zu bekommen. Also weiß, dass ich ein Konstruktor bin. Ich werde ihm sagen, dass es einen Parameter von der Typanwendung nehmen sollte. Db-Kontext auf. Ich werde den Parameter db aufrufen, also ist man Unterstrich DB und man ist nur BD eingeschaltet. Dann innerhalb dieses Konstrukt werde
ich es auf der Partitur initialisieren. B B ist gleich DD, also nennen wir das Abhängigkeitsinjektion, wo Sie Eigenschaft auf dem neuen deklarieren, es im Konstruktor
initialisieren, und dann können Sie das Objekt frei verwenden, überall in Ihre Anwendung. Jetzt werde ich tun, die Definitionen sind die richtigen die Funktionalität in jedem. Meine Gedanken hören relativ auf. Das Ganze, das ich sie definiere, ist die Reihenfolge, in der ich sie in der Repository-Basis definiert habe, und es gibt einen besonders jemanden, der es diese Woche tun kann. Also, eigentlich werde
ich mit dem Sparen beginnen, weil das die einfachste ist, richtig? Also möchte ich speichern und dann werden wir alles tun, um in dieser Reihenfolge zu löschen. Beginnen wir also mit Safe, also möchte ich die Speicherfunktion auf finden. Dann, was ich tun werde, ist, diese Ausnahme zu entfernen, die ausgelöst wird, und dann werden wir sehen, var ändert einige Zumpfungen der Variablen, die es aufruft, ändert sich, dann werde ich sagen Unterstrich db Also das sind meine Objekte, die es mir erlauben, mit Die Datenbank ist Entitätsframework-Kern, der alle Datenbankoperationen in meinem Namen vermittelt. Das ist also mein Objekt zum Talkto Entity Framework. Dann sage ich dot und dann bekomme ich eine Reihe von Funktionen. So können
Sie öfter die Funktion betrachten. Ich folgerte irgendwie, was es tun soll. Also, wie, hinzufügen, ich bin sicher, dass Sie schließen können, dass Anzeige hilft uto etwas zur Datenbank hinzuzufügen. Sie haben Updates, haben löscht, was wir durch sie gehen. Also im Moment, was wir tun wollen, ist zu retten. Also wollen wir nach etwas suchen, das auf Sicherheit hindeutet, oder? Sie haben Änderungen gespeichert, die sie haben. Sehen Sie, ob Änderungen eine Senke wissen, dass der Unterschied zwischen den beiden gut ist, offensichtlich ist eine asynchron und eine ist nicht asynchron. Änderungen speichern funktioniert. Das ist in Ordnung. Aber dann, weil wir hier eine synchrone Programmierung verwenden, werde
ich Sie von Entitätsframeworks profitieren. Sie sind synchrone Funktionen NC, die speichern Änderungen eine Senke auf, dann öffnen und schließen Brise. Nein, es gibt wenige Dinge, die sie beachten müssen, wenn es um asynchrone Funktionen geht. Eins. Ja, wir haben sie als Aufgaben definiert. Aber dann schweben Sie über diese Agentur, dass es Oh, tut mir leid. Das ist ein anderes. Lassen Sie mich die Gerichtsbasis vervollständigen und erklären Sie dann das Ganze Es ist interessant. Das ist also unser Anlagebarren. Also, was es tun soll, ist zurückzukehren. Wenn es Veränderungen gab, Fleisch nicht. Wenn ich also etwas an die Datenbank als Entity-Framework übermittelte, wenn es keine Änderungen speichert, sollte
es sagen, dass ja, es gab eine Änderung zu Hause. Irgendwelche Aufzeichnungen wurden geändert oder so etwas, richtig? Wenn also keine Aufzeichnungen geändert wurden, dann ist das unser Problem, richtig? Also möchte ich zu unseren Wasserfällen zurückkehren. War ihr Problem oder nicht? Wenn es Datensätze geändert wurden, dann ist alles gut. Das würde also wahr zurückkehren. Also werde ich nur Rückgabeänderungen schreiben, die größer als Null sind. Richtig, also ist das ein schöner, einzeiliger Scheck. Wenn die Änderungen Großbritannien und Null waren und dann das Ergebnis von diesem Nein zurückgeben, sehe
ich auf Fehler hier. Es heißt also,
dass ich im Grunde diesen Bereich nicht zurückkehren kann und
sagen kann,dass ich die Aufgabe zurückkehre,
ähm,aber etwas ist drin. zurückkehren kann und
sagen kann, dass ich die Aufgabe zurückkehre,
ähm, Dieser Bereich ist also nicht wirklich klar. Das erkläre ich also das synchronisierte in. Dieser Fehler sagt Ihnen also nicht wirklich, was das Problem ist. Das Problem besteht darin, dass, wenn Sie einen asynchronen Aufruf ausführen, es zurückkehrt. Und wenn Sie den Mauszeiger über diese Änderungen bewegen, ist Aufgabe. Erinnern Sie sich daran, dass wir die Aufgabe Bull haben. Es gibt Task-Aufgabe int zurück, aber dann für diese Operation muss
es ein int. In Ordnung, also sagt es im Wesentlichen,
dass ,
dass die Datentypen nicht viel sind. Also, wenn wir einen synchronen Funktionsaufruf machen, wissen
Sie, um über den konkreten Typ zu kommen, wie in, um zurück zu kommen und in eine nicht eine Aufgabe in, muss
ich es mit dem Schlüsselwort fortfahren warten, dann ist das eine andere Problem an sich , weil nein wird mir sagen, dass Sie nicht auf, wie es ohne und eine Spüle Funktion tun können. Also dann würde der Vorschlag hier die Methode zu einer Senke gemacht werden, die das Schlüsselwort einführt, das nach der Öffentlichkeit jagt und alles bemerkt. Nein geht weg. Alle Fehler verschwinden jetzt. Also lassen Sie mich nur ein paar davon eins. Wenn Sie ein Boot Toe sind, definieren Sie auf asynchrone Funktion. Sie müssen sagen, dass Sie ihm natürlich den Qualifier der öffentlichen Aufgabe geben und dann den Typ zurückgeben. Und wenn es ungültig ist, gäbe
es keine Rückgabetypen. Es wäre nur Aufgabe an. Dann speichern Speichern ist ein Funktionsname. Sie brauchen also das Schlüsselwort, eine Senke, die Schlüsselwortaufgabe. Wenn ein Datentyp involviert ist, setzen
Sie ihn in die eckigen Klammern. Wenn nicht, dann tust du es nicht. Und dann müssen Sie sicherstellen, dass Sie tatsächlich etwas aufrufen werden, das
eine synchrone Inside von dieser Definition ist . Andernfalls wären
Sie freundlich veraltet, um die eine Senke auf der Aufgabe zu haben. Wenn Sie nicht tatsächlich eine asynchrone Operation durchführen, richtig, wenn Sie den Funktionsaufruf ausführen, müssen
Sie es mit dem Schlüsselwort await fortfahren. Ich bemerkte, wenn ich nicht unsere es auswähle, eh, denke automatische Delegierten hervorgehoben, so dass die beiden von ihnen gut zusammen arbeiten. Wenn Sie also hier keine asynchrone Funktionsursache haben, benötigen Sie keine asynchrone Funktion in Ordnung. Nein, der nächste, an dem wir arbeiten werden, ist der Fund. In Ordnung, also gehst du einfach zurück zur Basis und sorge dafür, dass wir alles in Ordnung haben? Nein, wir werden alles so finden und alles finden. Ich möchte eine Liste von Autoren zurückgeben. Ich möchte alle Autoren zurückgeben, die derzeit die Datenbank sind, also werde ich eine Variable unserer Autoren erklären, die gleich auf Dann ging ich weg. Es liegt daran, dass ich auf asynchrone Funktion direkt auf dem Punktepunkt db auf verwenden möchte, indem Unterstrich d B
sage, dass ich Zugriff auf alle Datenklassen habe, die im db-Kontext
definiert worden wären . Also habe ich ein Date. Eine Klasse namens Autor für die Eigenschaften namens Autoren, Recht,
Also, das ist eine Eigenschaft. Also db dot Autoren auf nur dem doppelten überprüfen wieder seine Autoren, denn das habe ich es hier genannt. Das ist der Name der Immobilie, der Autor der Klassen. Aber die Eigenschaften sind drittens, weil die Verbindung von Autoren Alles klar, so dass ich d nicht Autoren Dot auf sein. Ich will wenigstens eine Fantasie auflisten, auf der er sinkt, dann denk dran, wenn ich darauf warten werde. Dann muss ich der Aufgabe das Schlüsselwort eine Senke vorangehen. Alles klar, da gehen wir. Alle Luft ist weg. Nein, dieses Gebiet ist immer noch hier, weil es sagt, dass es die Notwendigkeit ist, etwas zurückzugeben, also erwarte ich, dass es eine Liste zurückgibt. Autor. Das ist also die Liste auf der dann? Ich werde nur eine Rückkehr Autoren sehen. Sobald diese Funktion aufgerufen wird, wird
es eine Liste von Objekten vom Typ Autor,
Alright,
Wohltätigkeitsorganisationen zurückgeben Alright, . Der nächste würde von I.
D.bestraft werden D. Also gefeuert von I d wird ziemlich einfache Zehenimplementierung sein. Es wäre ähnlich. Also dieser erwartet einen Parameter von i d. Also werde ich unseren Autor speichern, weil ich erwarte, einen Autor durch diese
Funktion zu finden . Dann werde ich ein Gewicht auf der Punktzahl db Punkt Autoren sehen Also suchen Sie den Autor stabil auf ,
dann möchte ich, dass Sie finden, dass er synchron auf ist. Dann muss ich nur die i d übergeben sind, so dass die Suche, die Sie finden und finden einen Sing ziemlich viel, was Dysfunktion tut, ist es, ähm, es sucht in der Datenbank nach oder sucht in dieser Tabelle nach jedem Element, das die Primärschlüssel, der diesem entspricht. Wir wissen also, dass die Primerica Idee genannt wird. Es wird automatisch wissen, dass. Also wird erwartet, dass wir weiterleiten, dass ich entwertige. Das soll ein Primärschlüssel sein, und dann wird es auf finden. Dann erwartet dies auf Objekt vom Typ Autor. Also wären wir auf Autorenaufzeichnungen gekommen. Wir müssen zurückkehren. Autor. Da gehen wir. Alles klar, in Ordnung. Also kommen wir gut mit. Als nächstes würde eine kleine Schule schaffen, aber toe ein Repository, finden oder erstellen auf. Dann hätten
wir in diesem eine Entität von Typautoren bekommen. Was wir tun möchten, ist einen neuen Autorendatensatz mit diesen Daten auf Es ist ziemlich einfach. Was also tun würde, ist, db dot Autoren Punkte hinzufügen zu unterstreichen. So haben entweder, aber dann bekommt, was Wir hatten eine Spüle. Also könnten wir genauso gut an einer Spüle verwenden, oder? Also an einer Spüle. Und dann habe ich die Entität übergeben, die hinzugefügt werden soll. Na gut, dann, wenn ich bei einem Sing-off Kurs
mache, brauche ich ein Gewicht. Dann ist die letzte Sache, nachdem Sie haben. Rufen Sie das nicht an? Oh, ich habe eine Wartezeit und sie denken auch, es ist ein öffentliches Waschbecken, Also ist es leicht zu vergessen, dass es einfach ist, einen zu schreiben und sich nicht an den anderen erinnern. Aber ich kann Ihnen versichern, dass Sie das bizarre Studio immer daran erinnern, dass Sie es brauchen. Dann wäre das letzte, was hier wäre, das Anlagebarren zurückzugeben. Was passiert also, dass Sie nach dem Ausführen dieses Vorgangs Änderungen speichern müssen? Und ich habe eine
Funktion, die dem Aufruf von Speicheränderungen gewidmet
ist, die tatsächlich tatsächlich
auf die synchrone Funktion sind . Also muss ich den Wert zurückgeben, den dies zurückgeben würde. Also das Anlagebarren, das erwartet wird, ist ah Anlaß relativ. Wenn Änderungen erfolgreich gespeichert wurden, sind nicht so, was ich tun werde, sagen
Sie einfach zurück und dann rufe ich eine Senkenfunktion an. Diesmal ist es also meine Facing Funktion. Ich meine diese asynchrone Funktion. Aber noch einmal, wenn Sie eine asynchrone Funktion aufrufen, müssen
Sie darauf warten. Ich werde nur speichern richtig nennen, also wird es die Entität machen. Wenn die F-Kernoperation und das meine Funktion aufrufen wird, warten Sie auf die Ergebnisse und geben Sie sie dann zurück. Dann, wenn es zurückkehrt, würde
es Barren auf allen möglichen ab. Wunderbares Ding. Dies ist nur ein großes schönes Ökosystem und es ist wirklich toll zu verstehen. In Ordnung, also als nächstes nach dem Erstellen, haben
wir Updates als Löschen. Also lassen Sie mich einfach aktualisieren. Also sei es so ziemlich eine geradlinige, als Hinzufügen, außer Sie haben db Sie sagen Unterstrich db dot Autoren Aber dann gibt es keine Hoffnung Bit a think. Also ist es wirklich nur ein bisschen drauf. Dann rufen Sie die Entität auf,
die aktualisiert wird , oder Sie leiten die Entität, die,wissen
Sie,benötigt
werden sollte wissen
Sie, . Dann machst du das CMC. Wenn Änderungen waren, Sie einen Weizen seve zurück und dann natürlich, wenn ich warte, als ich brauche eine Think Serie im Wesentlichen. Wenn ich das nicht als Spüle deklariere, dann würdest du keinen Sinn ergeben. Ich habe das als alles Falsche. In Ordnung, also klar, hier ist die ganze asynchrone Operation meine eigene ist, dann ist es die gleiche Art von Dynamik zum Löschen so viel Anpassung, um dies zu kopieren, anstatt alles wieder auszugeben, gehen Sie zu löschen eingefügt, aber stattdessen nicht aktualisiert. Ich werde entfernen, so zum Löschen, es wird entfernt. Entfernt. Hat nicht auf Jagdfunktion, Erleichterung Version dazu. Es wurde also die Entität entfernt. Denkst du, Zehe Elite die Sparoperation auf das war's. Wir hätten abgesessen von der Basislinie Kroaten Operationen für unsere Autorentabelle. Richtig. So von hier aus können wir einen neuen Autor erstellen, den wir auf bestehenden Autor entfernen können. Wir können alle Autoren finden oder einen bestimmten Autor finden. Sie können alle Änderungen von Kurs speichern, die erforderlich ist, können wir auch auf Autor
aktualisieren Daten. Alles klar, das war's
also zum Sitzen. Unser Autor Buster hat einiges durchgemacht, aber wir haben hier einige grundlegende Arbeit gemacht, die wir nicht noch einmal wiederholen müssen, weil
wir für jedes andere Repository, das eingerichtet wird Repository, das eingerichtet wird, bereits die Basis haben, so dass wir die Basis nicht alle wiederholen müssen Zeit. Die alle Unterschiede wären, dass wir hineingehen und das Gericht spezifische Zehe
dieser Datenklasse schreiben müssen . Dieses Repository wird für
17. Autor:innen: Hey, Leute, willkommen in diesem Video, wir werden unseren AP-Controller für unsere Autoren einrichten. , Bevor wir damit beginnen,das einzurichten, gibt es einige. Oder es gibt mindestens eine weitere Konfiguration, die wir durchführen müssen, bevor wir
erfolgreich mit der Einrichtung unserer Steuerung beginnen können . Und das ist im Start, nicht CS-Datei. Also, wenn ich mit CS anfangen muss, werde
ich zum Dienstbereich auf gehen. Was ich tun muss, ist zu unserem Anfang die Tatsache hinzuzufügen, dass wir eine Bereichsinstanz aus oder ein
Repository benötigen . Richtig? Das wird uns also bei unseren Abhängigkeitsinjektionen helfen. Ich werde sagen, Service ist, dass die Anzeige erzielte. Na gut, dann kannst du immer ein Steak. Ich schaue mir an, was Scoped bedeutet, aber wie es definiert ist. Aber ich hatte das Geltungsbereich. Was ich sagen muss, ist, ich das Autoren-Repository,
das Auge-Autoren-Repository , Andi, das Autoren-Repository, richtig? Also das gleiche, was wir mit dem Service sechs mit dem längeren Service gemacht haben, außer dem
längeren Service, der einmalig hinzugefügt wurde. Dieses Mal ist es im Bereich auf. Sie haben auch vorübergehend gehabt Jetzt fügt jede Version Sculpt hinzu, transient sind Singletons Jeder hat seinen eigenen Weg aus der Arbeit bisher Stunden, die Sie mit
meinen Datenoperationen befasst haben, kann ich lesen, was der Unterschied zwischen jedem So on Körper damit zu tun? Ähm, aber ein Körper des Wissens. Richtig? Wissen Sie, damit Sie das später lesen können. Aber tun Sie einfach diese Anzeige formen. Und es gab Pasching Ich Autor Repository Onda, Autor Repository auf Wenn Sie irgendwelche fehlenden Namensräume einfügen müssen, dann gehen Sie voran und tun Sie dies . Ich weiß, dass es in der Startdatei ist. Ich kann es bequem als Abhängigkeit in jede andere Klasse injizieren,
die im Rahmen dieses Projekts verwendet wird . Also die, die ich speziell beziehe, ist unser Controller. Also haben wir unseren Controllersport und wir haben bereits einen Home-Controller
, den ich als Teststeuerung benutzte. Also, wenn Sie es entfernen wollen, können
Sie es dort lassen? Es ist unser Test, also können wir es später entfernen, wenn unsere Anwendung tatsächlich zu etwas blühte. Also gerade jetzt werde ich nur voran gehen und mit der rechten Maustaste klicken und dann auf Controller hinzufügen klicken. Diesmal will ich eine leere Steuerung. Ich möchte nicht, dass ein Controller mit vordefinierten Funktionen für mich selbst über jeden
Endpunkt schreibt . Richtig, Also ein Paar Controller leer auf, dann klicken Sie auf Hinzufügen Möchten, um sicherzustellen, dass wir es geben, um Namen, so dass der Name Autoren-Autoren sein würde . Also Autoren Controller, ich denke wie seltsam. Und wenn diese Operation abgeschlossen ist, haben
wir unseren FBI-Controller, den wir haben oder Route, was ist, dass die Autoren ein p i Schrägstrich Autoren sein würden. So gelangen Sie zu diesem Controller. Ordnung, jetzt, während wir hier sind, werden wieder einige basierte Konfigurationen durchführen, weil wir alle Endpunkte in separaten, separaten Videos
aufbauen werden . Aber im Moment möchte ich nur so bestimmte Dinge tun, damit wir genau wissen, was dieser Controller tun wird, und dann können wir es in der Dokumentation ansehen. Also eine möchte ich eine Zusammenfassung jemand an einer Zusammenfassung, Ich habe gerade geschrieben, dass Oh, schnell zweite positive Video und kopiert. Wenn Sie unsere Folter und Zusammenfassung wollen, ähm, andere Dinge, die ich tun werde, oder die nächste wichtige Sache, die ich tun werde, wäre, die Abhängigkeit vom Autoren-Repository zu injizieren. Also brauche ich eine private schreibgeschützte Eigenschaft vom Typ I Author-Repository. In Ordnung. Und natürlich, wenn Sie Bibliotheken einschließen müssen, gehen
Sie voran und tun das weiter. Dann nenne ich es Autor. Repository wird Autor Buster unterstreichen, weil , wissen
Sie, das ist nur meine Namenskonvention für private Immobilien. In Ordnung, also, uh, das ist Unterstrich, Autoren-Repository. Und dann brauche ich einen Konstruktor. Denken Sie daran, wir haben c Tour auf dann, dass großzügig ein Konstruktor auf. Dann haben wir einen Parameter übergeben. Einige wollen nur kopieren und einfügen, die sich einfach schnell bewegen. Das ist auf der Punktzahl. Andi Inside von unseren Konstruktoren, wo wir die Abhängigkeit so viele Abhängigkeit initialisieren, wie Sie vielleicht haben, benötigen
Sie möglicherweise mehr als ein Repositories, die im CME-Controller dargestellt werden. Also fügen Sie einfach so viele hinzu und stellen Sie sicher, dass Sie sie als Parameter einfügen und
sie dann hier initialisieren . Es ist also Unterstrich. Autoren-Repository ist gleich dem Wert, den die Anwendung übergeben würde. So funktioniert die Abhängigkeitsinjektion. Wir hätten unseren Service definiert und unseren Vertrag lassen wir die Anwendung wissen, dass die Dienstleistung auf dem Vertrag zueinander entbeint sind. Was auch immer es sieht, als es sollte wissen, dass es mit dieser basierten Klasse interagiert. Dann in einem vier Controller, können
wir es einfach übergeben. Wir haben unser privates Objekt, aber dann wird es von dem initialisiert, was auch immer die Starts von CS übergibt. Das ist so ziemlich Abhängigkeit. Einspritzung wieder Punkt Netzkern macht dies sehr einfach. Nun, eine andere Sache, die ich ein Boot oder Kontrolle definieren möchte. Und das ist wirklich für Zwecke der Dokumentationserstellung. Wieder einmal möchten
Sie sicherstellen, dass Ihre Dokumentation wirklich gut für diejenigen ist, die Ihre a p I
konsumieren. Also werde ich Ihnen noch eine zeigen. Diese Notation, die Sie Ihrem Controller hinzufügen können, besteht darin, dem Dokument mitzuteilen, dass es dann Antworttyp
erzeugt. So beziehen sich Antworttypen grundsätzlich auf die http-Kabel, so dass Sie 200 für okay,
400 für Butter haben . Frage etcetera. Auf den verschiedenen Antworttypen sind Status Schule. Also wissen wir, dass man mit der Schule begonnen hat, dass wir offensichtlich zurückkehren werden. Er wird Status 200 sein, damit ich Statuscodes sagen kann, weil sie uns Ah, riesig, weißt
du. Also sind wir stottern Punkte auf. Dann kann
ich von diesem Eelam nur den Status 200 sehen. Okay, das bedeutet
also, dass, wenn jemand das Dokument dafür anschaut, weiß, dass zumindest diese Antwort, die zurückgegeben werden kann. Also lassen Sie uns einfach unsere retten, wissen
Sie, einfach bauen. Stellen Sie sicher, dass wir nichts gebrochen haben, dann wird der Debug-Modus. Und schauen Sie sich die Dokumentation an, die bisher auf dem Dokument generiert wird, spiegelt nicht unsere Alles klar wider, OK? Ja. Also, ich meine, sie waren ein bisschen zurück. So würde unsere Dokumentation für unsere a p a controller für Autoren noch nicht erscheinen weil wir keine Endpunkte für die Dokumentation haben. Songer ignoriert es also, weil es buchstäblich nichts an Dokumenten gibt. Was? Wenn wir also anfangen, auf den FBI-Endpunkten aufzubauen, werden wir anfangen, es in den Dokumenten zu sehen. Also, das ist es im Grunde,
Ford sitzt vom Controller auf seinem minimalen Niveau. Die nächste Operation wäre es, zu sitzen oder Endpunkte zu bekommen, und dann werden wir beginnen, die wahre Schönheit aus oder Autoren-Controller zum Leben erweckt
18. Autor:innen: Ihr Jungs. Willkommen zurück in diesem Video, wir werden anfangen, unsere get Endpoints für unseren Autor Controller einzurichten. Nein, ich habe einen Schritt in der Basiskonfiguration für die Controller verpasst, bei denen ich
den längeren Service hätte aufnehmen sollen . Also werden wir uns einloggen. Er würde den Weg gehen, die Interaktion oder die Funktionalität von unserem AP und FBI, denn was ich tun werde, ist, auf Mutter Privates Read-only-Objekt auf diesem einen einzuführen wird vom Typ I länger Dienst auf sein, verstehen? Um es länger unterstreichen zu nennen. Dann gehe ich in den Konstruktor bei einem anderen Parameter. Ich werde die Linie verzweifeln, damit ich nicht zu weit weg gehe, und es wird vom Typ sein. Ich bin länger im Dienst. Also führe ich nur diese Abhängigkeit von ein. Dann werde ich nur sehen, dass der Unterstrich länger gleich Zehe länger ist. Alles klar, jetzt habe ich den längeren Service in den A-P-I-Controller auf
so ziemlich jedem
anderen APEC-Controller injiziert . Nun, zumindest wenn Sie vorhaben, zu protokollieren, was vor sich geht, würde
es dies auch als Abhängigkeit haben müssen. In Ordnung, also lasst uns anfangen. Also will ich Ah, am Endpunkt, um alle Bücher zu bekommen. Ich weiß, wir werden anfangen, Verben zu betrachten. Also hätte ich dort in der Einleitung gesagt, dass Sie ein paar Verben haben, die Sie haben, erhalten Post auf und gut, werden verschoben und löschen. Also das erste, was ich tun möchte, ist, lassen Sie unsere Kontrolle oder Norden durch das Gebäude und Notationen, die ich bin, um eine http zu definieren, get Funktion. Und das ist buchstäblich alles, was Sie eingeben müssen. Http. Holen Sie sich. In Ordnung. Als nächstes werde
ich ihm sagen, dass ich ein öffentliches ein Waschbecken Aufgabe will. Andi,
ich wollte vom Typ I Action-Ergebnis. So Aktionsergebnisse ist diejenige, wenn Sie verwendet werden, wenn Sie M v c reguläre Web, NBC als Sie wissen, Aktionsergebnisse. Ich tatsächlich Ergebnis ist eine kleine Erweiterung aus Option Ergebnisse Treffen Sie haben mehr, dass Sie zurückkehren
können. Also Optionsergebnisse. Du könntest so viel zurückkehren. Ich weiß mehr. Nein. In meinen Auktionsergebnissen kannst
du noch mehr zurückkehren, vor allem im Zusammenhang mit dem FBI, wo du bestimmte Dinge zurückgeben wirst. Ich würde nicht in einer NBC-Anwendung zurückkehren, also führt die Aufgabe I Aktion auf. Ich werde das hier anrufen. Holen Sie sich Bücher. Entschuldigung. Holen Sie sich Autoren. Meine Knospe. So bekommen Autoren. Dies ist der Autoren-Controller. Also bekommen wir, dass Autoren mir den Rücken verletzen. Also bekommen wir Autoren und dann werde ich nur eine Zusammenfassung darüber schnell hinzufügen. Also diese hier werde ich sehen, um die Autoren runter zu kommen. Also finde ich es einfacher,
die Dokumentation zu , machen,mit der er begonnen hat, dann Sie sie, verfeinern
Sie sie,während Sie weitergehen. Aber zumindest angefangen, wenn Sie das Ding tun, setzt es dort, so dass Sie es nicht vergessen. Also, das ist bekommen Sie alle Autoren und es gibt Liste von Autoren zurück. Alles klar, Aan den. Was wir hier definieren müssen, wäre die Funktion, die Sie aufrufen möchten. Also denken Sie daran, dass wir nicht mit unserer Datenklasse direkt interagieren waren DT Auch, der Controller spricht mit der DEA Objekte Autumn Oper mit meinem zwischen den
Datenübertragungsobjekten unter Autor übertragen. Also unser Repository wird das Datenobjekt in der Situation aufrufen, dass wir
es auf das Datenübertragungsobjekt wischen werden, dann das Datenübertragungsobjekt an wen zurückgeben, das dies a p I nennt Also schauen wir uns an
, wie das läuft Arbeit. Also beginne ich damit, dass Balkenautoren gleich auf sind, rufe ich eine asynchrone Funktion auf. Wie ich sage Await Unterstrich Autor Berichte Geschichte angedockt, um alle Autoren zu bekommen, habe ich die Funktion finden alles in Ordnung,
jetzt, da ich alle Autoren bekommen habe, brauche
ich den Mopp zu meinen Datenübertragungsobjekten, die ich ging zu sehen var Oh ther oder wird var das ist Antwort ist gleich Zehe auf dso Das ist eine weitere Abhängigkeit, die ich brauchen werde. Also hätte ich Autumn Oper in die Startup-Dot-CS-Datei aufgenommen. Also nein, ich kann diese Unabhängigkeit übernehmen. Du siehst also, wie du weitergehst, wirst
du feststellen, dass du unterschiedliche Abhängigkeit brauchst, ist es der gleiche Prozess. Sie fügen nur eine Instanz davon ein. Also haben wir es mit Ah zu tun, ich mopp er so einfach die Zeile dupliziert und ich tippe. Ich mop er und ich werde das Objekt mein per auf nennen. Dann werde ich das gleiche hier tun, wo ich ein Komma einführen und dann einführen werde ich oben auf meiner Liste von Parametern Andi übernehmen Backtrack Andi, ändern. Also mache ich das einfach schnell. So Kopieren und Einfügen ist Ihr Freund, der, wenn Sie Dinge schnell erledigen möchten. Aber du kannst einfach jeden fehlenden
Namensraum einschließen Autumn oder
AutumnOper benutzen. Nein, wir haben Herbst-Obermaterial in ihre Anwendung injiziert. Wir können einfach anfangen, Herbst-Obermaterial zu verwenden. Also, wenn ich Mopp möchte, würde
ich sagen, Unterstrich Mopp er nicht Mopp. In Ordnung, dann werde ich sagen, dass ich wischen will. Wenn Sie sich also nur den Definitionsvorfall ansehen, dass Punktkarten das ist, was ist das Ziel, an dem Sie eine Karte sehen
möchten? Was ist die Quelle? Also will ich TEM eine Liste aufheben. Nun,
Sir, Sir, Theater-Transferobjekt. Unser Autorendetail ist das, worauf wir es nennen. Dann wären die Quelle Autoren. In Ordnung, also wische ich meine Lippe. Meine Autoren kommen aus der Datenbank zurück, die am wenigsten vom Objekttyp der Datenübertragung entfernt sind. Ich erinnere mich, dass Datenübertragungsobjekt Wieder einmal, ich liebe Sie zu kontrollieren, welche Daten Sie wollen. Sind nicht so, mit anderen Worten, dass dies eine vollständige Aufzeichnung des Autors. Aber was, wenn wir nur einige von den Eigenschaften zurücksenden wollten, sind die Spalten, einige von den Daten und nicht alle Daten. Wenn ich in meinem verfassten DT Oh sagte, ich habe das i d auf. Vielleicht habe ich die Bio nicht aufgenommen. Ich wollte nur den Vor- und Nachnamen. Wenn das die einzigen beiden Eigenschaften wären, die ich im Datenübertragungsobjekt hatte, dann würde ich diese Operation hier sagen, ja, ich bekomme fünf Eigenschaften, aber ich nehme nur das ganze Werkzeug, das relativ zur Klasse auf DSO zählt. Was immer ich an den Aufrufer zurückkehrte, wäre nur die Eigenschaften, die das
Datenübertragungsobjekt definiert hat. Also, das ist, was Datenübertragungsobjekte Legierung zu tun. Sie ermöglichen es Ihnen, zu kontrollieren, welche Daten wirklich der Person präsentiert werden, die das
FBI anruft , relativ zu dem, was tatsächlich aus der Datenbank stammt. Nein. Nachdem ich eine Datenbank erstellt habe, Schädel sie geputzt. Das nächste, was ich wahrscheinlich tun möchte, ist zurückzukehren, Also möchte ich die Antwort zurückgeben. Es gibt also eingebaute Funktionen für den Antworttyp. Also, wenn jemand einen Anruf machte, um Autoren zu bekommen, dann würde ich die Liste von Autoren zurückgeben, mit unserer Antwort abgekühlt. Ok. In Ordnung. Das ist also wie ein universeller AP. Ich liebe den jemand, der eine Anwendung um ein A erstellt. Ich würde wissen, dass, wenn sie bei 200 Antwort sehen, es in Ordnung ist. Also lief alles gut, also würde ich sagen, OK, denn, , dieser Nick oder ein P, auf dem ich mir die Baufunktion gegeben habe. Ich würde sagen,, Hier ist die Nutzlast mit der rauchigen Antwort. Richtig. Der Schmerz wäre also die Marschdaten oder die Liste von Autoren, so dass es zurückkehrt. Okay, dann kommen wir zurück. Der Herr. Nein, das möchte
ich ein bisschen rühmen. Also möchte ich auch ein wenig Protokollierung und ein bisschen Ausnahmebehandlung hinzufügen. Also versuche ich immer, Gleisfänge zu setzen. Richtig. Sie versuchen also und operieren, und dann fangen Sie eine Ausnahme ab. Also, was ich hier tun würde, ist, all das zu versuchen. Na gut, dann
weiter. Was ich tun werde, ist zu sagen, dass Sie das bei der Rückkehr versuchen. Okay, auf, dann, wenn es eine Ausnahme gibt, willst
du sie fangen,
also Ausnahme fangen an, dann kannst du True, dann kannst du True, aber ich bevorzuge es, vielleicht einfach zu antworten, so dass es stürzt die Anwendung nicht ab und sieht auf Anfrage
zurück. Unser lieber würde ich keine Butterfrage zurückgeben. Wahrscheinlich so etwas zurückgeben So Butter Fragen 400 Butter Frage würde darauf hindeuten , dass der Anrufer oder der Client durch die Anfrage an den Server gemacht, was nicht unbedingt die Kinder ist, weil sie nur eine Liste von Autoren angefordert. Es gibt sehr wenig, was sie falsch machen könnten und wenn es hier trifft und etwas
schief ging mit unserer Operation und wir wollen ihnen nicht sagen, dass es um eine Anfrage ging, aber wir wollen vielleicht vorschlagen, dass etwas auf allen Seiten schief gelaufen ist. So haben Sie die Funktion Ursache Status erzielt, richtig, und dann können Sie im Gericht passieren. Hier wird also wichtig, einige der Zahlen zu lernen. interne Serverfehler ist also 500. Ich denke, 501 ist internes Tor mit Es gibt etwas, das s so die verschiedenen Zahlen
gibt es. Ich sage nicht, dass Sie sich jede Nummer auswendig lernen sollten. Bestimmte Zahlen, die Sie immer und immer wieder auf einigen von ihnen verwenden werden, sind
wie OK eingebaut und die schlechte Anfrage und diese Art von Dingen sind eingebaut,
aber, wissen
Sie, es ist gut, die Zahlen zu kennen und die Zehe zu halten Sie wissen schon, manövrieren um sie herum. Also ich sage hier, dass, wenn Sie versuchen, alle Autoren zu bekommen, wenn wir alles in Ordnung machen, Sie die 200 Antwort mit den Daten erhalten, die mit einem Anruf verbunden sind. Wenn etwas schief geht, ,
Nun, werde
ich Ihnen sagen,
Nun,ich schicke Ihnen nur über diesen 500-Fehler, um zu sagen, dass etwas schief gelaufen ist, um zu sehen, ob es an ist . Es gibt sogar eine Überschreibung. Du kannst ihnen sogar eine
Nachricht geben, , um etwas zu retten,damit du wahrscheinlich sagen kannst, dass etwas schief gelaufen ist. Wenden Sie sich an den Administrator. Alles klar,
das sind kleine Dinge, die Sie Ihrem FBI hinzufügen können, um es etwas persönlicher zu machen als nur Sie wissen, ich Roboter reagiere auf Menschen. Das nächste, was ich tun werde, ist etwas Protokollierung hinzuzufügen, also möchte ich auf dsi lieben. Unterstrich längeren Punkt in vier, lang in vier, was
dann? Ich möchte mich einloggen, wenn die Person ein Auto macht. Das wird also den Anruf erfüllen. Also, wenn es trifft die Versuche gehen Zehe Protokoll und sagen, dass dies versucht wurde. Also versucht, ähm, bekommt alle Autoren, also gibt es keine wirkliche Form. Ich meine, es ist deine lange, du hast Recht, die Nachrichten, die du willst. In Ordnung. Sie können sogar einen Zeitstumpf einlegen. Also werde ich nur Interpolation verwenden. Nun, es ist bereits ein Zeitstempel in den Baumstamm eingebaut . Also sage ich nur versucht, alle Autoren auf dann direkt vor der okey-Antwort zu bekommen, würde
ich länger sagen. Das ist einloggen vier. Ich würde wahrscheinlich Erfolg sehen 40 God's off Autoren. Sie wissen also, dass dieser Anruf erfolgreich war. Alles klar, Sie können diese Protokollierung überall einführen, was Sie für notwendig halten. Ich lege die nur dort hin, zum Beispiel, Sake. Du musst nicht jede kleine Zeile so einloggen. Ähm, Sie können tatsächlich in die Liebesakte sprengen. Aber dann, wo es für mich sehr wichtig wird, wäre im Tri auf dem Fang
im Kirchteil. Entschuldigung. Also, kurz bevor ich zurückkehrte, war es ah, auf Pfeil. Ich würde für interne Auditing-Zwecke dotlängeres Punktprotokoll protokollieren möchten. Schrecklich, weil es auf Ausnahme gefangen es dann die Details, die ich in diesem setzen würde, und ich habe nur inter Verschmutzung hier verwendet. Sagen Sie,
ähm, damit er meine Ausnahmeobjektmiete wäre. Also möchte ich protokollieren, was die tatsächliche Luft war, die diese Nachricht sein mag, aber e nicht in der Ausnahme. Also manchmal hast du diese Nachricht gegessen. Dann haben Sie diese innere Ausnahme mit mehr Details essen. Also, wenn es jemals eine Ära gibt, möchte
ich sehen, was diese Luft war, Andi vielleicht alle anderen Details notwendig. Und dann können wir ihnen sagen, dass es ein innerer Graf war. Es ist nach allem, dass wir einfach einen schnellen Build
machen können, um sicherzustellen, dass alles in Ordnung ist. Sobald das erfolgreich war, können
wir einfach mehr in Debugging gehen, als zu sehen, ob unser Autor FBI-Controller und es gibt kein
Auftauchen in unserer Dokumentation. Und da gehen wir. Also haben wir Autoren, die nicht auf aufgeführt sind. Wir sehen unsere a p. Ich nenne ein p I Schrägstrich Autoren und unsere Zusammenfassung bekommen alle Autoren auf. Dann sehen wir hier, dass gut, die Schnur, es weiß, dass wieder kommen wird 200 Erfolg. Also können wir weiter, ähm, Informanten,
dass ,
dass wir das Potenzial von 500 für andere Dinge haben würden. Also das coole Ding an Slugger ist dieser Swagger. Ich bitte Sie, die a p a zu testen genau hier in der Broschüre. Kein Postman erlaubt es, bestimmte Dinge zu tun, die Fußball Ihnen nicht erlaubt, oder es ist schwieriger, es zu tun. Soldaten ist gut, beide Werkzeuge zur Hand haben, so lassen Sie uns einfach über eine p ein Recht testen wissen, jemand wird handeln Abstimmung auf, dann klicken Sie auf ausgeführt. Es heißt, es ist kein Parlament erforderlich. Kein Problem. Wir exekutieren auf Dwell. Es gibt keine Autoren in unserer Datenbank, wirklich. Und wirklich so alles gut, es funktioniert tatsächlich. Die Frage, wo ich war, dass es unsere Get-Operation für den Antwortkörper war, war leer weil es sowieso keinen Autor in der Datenbank gab. Aber wir sehen, dass unsere Antwort 200 war. Was ich tun werde, ist, dass ich etwas in der Definition für unsere
Datenbankverbindungen versenkt habe. Und dann werde ich versuchen, 500 Luft jemand vom Typ abzuzwingen. Ich mache das. Sie können es mit mir machen, aber stellen Sie sicher, dass Sie Philia Theron korrigiert haben. Aber wenn du es nicht willst, kein Problem. Du kannst einfach auf mich aufpassen. Also ändere ich nur die Störung, so dass es sich bei der Datenbankverbindung anfühlt, auf der ich
versuche , einen Praktikanten zu erzwingen, um, Serverfehler. Lassen Sie uns also zurück in den Debug-Modus gehen und versuchen Sie es erneut. Dieses Mal amüsant Postman so in der URL angegriffen, die der lokale Host auf der
Port-Nummer Schrägstrich ap i Schrägstrich Autoren sein würde . Also habe ich das in die Anfrage auf ditz gestellt. Ich bekomme Operation und ich klicke auf den Versuch, durch zu gehen. Jetzt sehen Sie, dass es mir über die Nachricht gibt. Etwas ist schief gegangen. Bitte wenden Sie sich an den Administrator auf den Statuscode 500, um internen Serverpfeil zu sagen. In Ordnung? Nein, das Letzte, was ich tun werde, ist, sich das Protokoll wirklich schnell anzusehen, nur um Ihnen zu zeigen, wie das aussieht, wenn ich nur einen Blick auf das Blockfeuer werfen. Sie sehen, wo es sagte OK in für versucht, alle Schüler zu bekommen oder Entschuldigung, alle Autoren Meine schlechte. Und dann war es erfolgreich auf. Dann ging der zweite Anruf durch. Versucht, alle Autoren zu bekommen, dann sehen wir den Pfeil, wo er ist. Nein, uns zu sagen, dass ein Netzwerk damit zusammenhängt, dass das auf dann es gut ist, dieser Punkt hätte für die innere Mrs. also war das die Nachricht auf. Dann sagte ich: „ Dash, gib mir eine innere Nachricht, in der Ausnahme, es gab keine.“ Aber das wäre genug für uns, um intern auszugehen. Sie möchten also den Benutzern nicht die Details mitteilen, warum es notwendigerweise fehlgeschlagen ist. Aber du willst den Lkw fernhalten, auf
welchem Kessel, warum
dann? Das ist also ein guter Weg, um zu wissen, warum. Das ist also, äh, sind nur einige gute Dinge, die man in die Hand geben kann, um nach dem Weg zu suchen. Entschuldigen Sie die Protokolldatei, aber lassen Sie mich einfach sicherstellen, dass ich aus dem Debug-Modus komme, indem Sie sicherstellen, dass Sie die
APP-Einstellungsdatei korrigieren , damit ich dieses Problem nicht wieder sehe. Andi. Das ist also ein guter Weg, eine gute Einführung in die Einrichtung unseres ersten Endpunkts. Also, das ist Autoren bekommen. Der nächste wäre der Autor, der ein Autor sein würde, also wird es ziemlich ähnlich sein. Es ist auch bei http. Komm, ich gehe nur auf die Zehe. Kopieren Sie das auf. Dann werde ich http sehen. Holen Sie sich. Aber dann wollte ich es wissen lassen, dass dieses get Parameter erfordert. Also, jedes Mal, wenn Sie einen Parameter haben, einen oder mehrere Parameter, wissen
Sie, können Sie einfach das Elternteil schreiben, um Patina-Anführungszeichen zu ergreifen, und dann mit aktuellen Umarmungen, geben
Sie den Parameter oder die Parameter an. In diesem Fall sind
wir nur auf Idee, wie viel? Ich will nur das alles abkopieren. Das funktioniert anders, mein Sohn. Erscheinen. Ja, immer noch, bewegen Sie sich ein bisschen schneller. Stellen Sie sicher, dass Sie können, ähm Klammern, Kredit-Zahnspangen Karte bekommen. So können Sie es eingeben. Ich habe dir gesagt, wenn du willst. Das musst du nicht. Kopieren und Einfügen. Lassen Sie mich und Trend die Schadenskontrolle übernehmen. Aber dann, was ich tun möchte, ist, das von Autoren zu ändern, um Autor zu bekommen. Und dann möchte ich auch den Parameter angeben, der benötigt wird. Also werde ich Autor, richtig. Und ich erwarte einen Parameter vom Typ I D auf. Ich lasse das A P, das ich kontrollieren. Ich weiß, dass dies einen Parameter vom Typ I d erfordert. Was dann? Ich werde hier zu tun ist sehr ähnlich Seele. Lassen Sie mich einfach den getöteten Logger kopieren,
und ich werde mehr Informationen sehen und versucht zu bekommen,
und dann kann er so tief Teyla's sein, mit dem Sie Autor bekommen wollen. Lassen Sie mich einfach den getöteten Logger kopieren, und ich werde mehr Informationen sehen und versucht zu bekommen, Dann werde ich sagen, ich habe einen Doppelpunkt. Richtig? Also protokolliere ich genau das, was mit dem i d versucht wurde. Und dann werde ich nur das i d angeben, das durch den Parameter kam, so versuchte auch mit Idee
zu bekommen, dass direkt dann unter, dass ich unseren Autor retten werde gleich ist zu Ah, warten Sie auf die Partitur. Er würde nicht BB Autor, Repository-Rechte nicht von i d finden Und dann habe ich nur die i d. Alles klar, Alles klar,
Dann werde ich sehen, dass meine Antwort dienen ire Antwort ist gleich und dann unterstreichen meine oberen Punkte Mopp . Und dann bin ich ein Mop-Ei. Eine einzelne Instanz außerhalb des Autors. Also, das letzte Mal, als wir das am wenigsten entfernte Autor dieses Mal nur eine einzelne Instanz von Autor DT oder so das dem Autor zuordnen, der auf gesammelt wurde. Dann ging ich, um zu antworten. Entschuldigung, ich bin mit der Rückkehr in Ordnung mit dieser Antwort. In Ordnung. Also natürlich möchten Sie hier Protokollierung hinzufügen, um erfolgreich den Autor mit Ideen zu sehen. So erfolgreich Autor mit Eddie. In Ordnung, also ist es gut, ein nettes Detailprotokoll zu haben, damit sogar jemand anderes sich die Protokolle ansehen und
verstehen kann , was passiert ist. Aber wir werden ein bisschen mehr in dieser Operation tun. Also noch einmal, wir haben oder versuchen fangen wie immer. Also lassen Sie mich gerade bekommen, dass Top Top diesen Stummel erzeugt. Also werde ich das alles ausprobieren. Ordnung, also in der Katzen-Abteilung, würde
ich das gleiche Lager definieren und angefangen haben Nachricht. Aber dann habe ich das Gefühl, dass ich mich wiederholen werde, weil ich das auch in
anderen Funktionen tun werde. Auch andere Endpunkte. Was ich tun werde, ist eine Funktion zu erstellen und ich werde es privat nennen, und es wird aus der Typstatusschule sein, die Ergebnisse. Der Grund für die Verwendung von Status guten Ergebnissen ist, dass es dieses Zeug in die
Schule zurückgeben wird , was ziemlich ein Status Schule Ergebnis Datentyp Right on ist. Ich werde diese eine innere Ära Wende nennen. Nein, Uh, und es wird ah,
String-Parameter namens Nachricht nehmen . Richtig? Also die Erwartung hier ist, dass es die Protokollierung auf es auch behandeln wird, Ich kehrte den Beginn der Schule, die erforderlich ist. Also lassen Sie mich einfach sagen, dass
ich erstens die längere Zehenliebe auf Fehler möchte, denn das ist der einzige Grund, warum diese Funktion
aufgerufen werden würde . Die Botschaft ist, was geliebt werden wird, oder? Also ging danach. Stellen Sie sicher, dass Sie jedes Mal eine Passage oder eine Nachricht in dieses Auto. Als nächstes wir einfach zum Stottern zurück. Punktzahl mit dem mit dem Fehler. Onda. Andi,
ich bekomme hier einen Fehler. Oh, Kunst. Der Datentyp ist also falsch. Es heißt also, dass ich zurückkehren sollte. Objekt ist oder nicht ein Statuscode Ergebnisse. Also, wenn es nur Status erzielte, 500 würde gestartet werden erzielte Ergebnis. Aber weil ich die zusätzlichen Informationen dabei habe, ist
es ein Objektergebnis, richtig? Also ich meine, Sie müssen sich nicht Sie müssen sich nichtmehr um die verschiedenen Datentypen
kümmern. Wenn es den Mauszeiger über was auch immer es ist, müssen
Sie zurückkehren, Sie werden sehen, welche Art von Beat der Typ es ist, und stellen Sie sicher, dass der entsprechende Datentyp dargestellt wird. Also, wenn diese Funktion aufgerufen wird, geht
es zu Fuß. Liebe. Was auch immer Nachrichten weitergegeben werden, ich werde nur 500 zurückgeben. Das bedeutet, dass ich einfach dieses Telefon Sean anrufen kann, damit ich Interna Fehler
jederzeit anrufen kann, wenn es zur Ausnahme kommt. Aber dann, denk dran, ich brauche die Nachricht. Also müssen wir dasselbe tun, wo ich die Ausnahme bekomme. Dann werde ich nur eine String-Werte übergeben, also mit Interpolation und möchte eine
Zeichenfolge bauen , die ähnlich dem ist, was in die Log-Luft gelegt wurde, einige werden eigentlich nur das alles abnehmen. Ich werde es nur als Nachricht weitergeben, oder? Wenn wir also auf den Fangweg kommen,
hoffen wir, dass wir es nicht tun. Aber wenn wir es jemals tun, dann wird es interna Pfeil
aufrufen, der die Ausnahmemeldung auf der inneren Ausnahme weitergibt. Dann, wenn er angerufen wird, es die entsprechende Protokollierung durchführen und dann den Anfang der erzielten Ergebnisse zurückgeben, die dann direkt an die Funktion zurückgegeben werden würde, so dass ich hier tatsächlich nur die
Rückkehr sehen kann . Also werde ich Interner Pfeil direkt auf zurückgeben. Ich kann den Wurf entfernen. Sobald es dort angekommen ist, wird es nur zurückgeben, welchen Wert diese Funktion seinen Anwalt nennt. Das heißt, jedes Mal, wenn ich den Kirchenabschnitt abschlage, äh, Anruf. Ich kann das einfach machen. Ein Liner, wo gerade interne Sekunde genannt wurde, wurde ersetzt, dass in der vorherigen. Weil ich konsequent sein wollte. Ich will, dass alles in eine Richtung fließt. Richtig. Das Verhalten für Ausnahmen, die gefangen werden, sollte also die Naht sein. Sie fangen die Ausnahme auf Sie einfach ein Log-on-Rückkehr, um eine Schule bei 500 zu starten. Ähm, natürlich, wenn Sie andere Nachrichten wollen, nein. Dann meinst du, es ein bisschen zu sehen , weißt
du , weißt
du, es zu
finden. Aber letztendlich für 500 will ich nicht aufwändiger sein, als etwas schief gelaufen ist. Wirklich. Und wirklich richtig. Eine andere Sache, die ich innerhalb meines Get-Autors tun möchte, wäre zu überprüfen, ob ich tatsächlich etwas
zurückbekommen habe, als ich diesen Anruf tätigte. Also will ich nicht einfach eine 200 zurückgeben. Ok. Als es nichts Telefon gab. Richtig? Ich meine, ich kann eine leere Liste zurückgeben und 200 sagen. Okay, aber da war nichts angerufen. Das ist eine gute Fahrt. Nun, wissen
Sie, Green off suchte in dieser Situation. Ich will nicht, dass Sie nach mir suchen, mit dem,
ähm, tut mir leid. Autor mit i d zwei und dann nicht das Ergebnis bekommen würde ein 200. Okay, was ich hier tun werde, ist, dass ich sehen werde, ob Autor nein ist. Dann will ich zurückkehren. Uh, nicht angerufen. Okay, also rufen Sie nicht diese vier oder vier an, ? Du solltest mit vier Jahren vertraut sein. Wenn Sie auf etwas im Internet klicken, dann führt es es für eine vier Seite und sagen,
Hey, Hey, Sie sind wahrscheinlich gelandet oder Sie suchen nach etwas, das nicht existiert. Das ist ein 404 Also das ist, was ich will. Wenn Sie für einen Autor mit i d 100 beginnen, wenn es keinen Autor mit i d 100 oder zumindest
wurde es nicht in der Datenbank angerufen, Dann möchte ich mich anmelden und sehen. Es war kein Telefon. Also würde diese Rückkehr die Ausführung stoppen, richtig? hier so könnte ich einfach Logging in fort asi länger hinzufügen, dass Protokoll vielleicht Mr. C Warne
eso warnen Sie den Grad aus der bestimmen können, um die Intensität sind die Gefahr von jedem Lagerbetrieb, richtig? Jemand zu warnen, dass Autor mit i d Andi, Verwenden Sie
nur Interpolation war nicht gefallen. In Ordnung, also haben sie durchsucht. Es wurde nicht gefunden. So wenig wird nur Deeble mehr als diesen Endpunkt testen. Alles klar, so Swagger zeigt uns, dass wir einen neuen Endpunkt haben, der vom Typ get ist, wenn ich schaue, ich sehe, dass es einen erforderlichen Parameter namens I d hat. Rechts auf dit gibt 200 Erfolg zurück. Also gehen wir zurück und fügen weitere Anmerkungen dazu hinzu. Nun, lasst uns einfach Horseman reinrasseln. Alles klar, in Postman werden
wir das neue in Punkt testen, damit ich immer die Dokumentation lesen kann, um zu sehen ihre Frage aussieht. Es sah aus wie Schrägstrich ap Schrägstrich Autoren auf dem i d-Wert. Richtig? Also, was ich tun werde, ist sagen, Schrägstrich ap Schrägstrich Autor Sobald ich keine Autoren in meiner Datenbank habe, also sollte man vier oder vier ausgeben. Eigentlich werde
ich es mit dir debuggen. Also, was ich tun werde, ist zurück zum Controller zu kommen. Wir werden einen Bruchpunkt setzen. Dann gehen wir durch, um genau zu sehen, was passiert. Es tritt aus dem Weg. Also, wenn ich zu Postboten auf Kerl getroffen, schicken Sie es. Es ist mein Bruchpunkt. Also gehen wir hin. Also wurde niemand im richtigen Punkt genannt, und das ist immer ein glücklicher Moment. Wenn ich überprüfe, sehen
wir, dass der Wert eins auf dem übergeben wird, was F 11 verwendet hat, um durchzugehen. Also wird es versuchen, die Operation. Zuerst meldet sich an, dann ja, es geht in all das an. Dann wird es versuchen und finden, sagte Autor. Also werde ich dieses Mal nur überspringen, weil es eine andere
Sache durchlaufen wird . Also werde ich nur diesen kleinen Play-Button verwenden, um zur nächsten Zeile zu springen. Dann sehen Sie, dieser Autor ist in der Tat Nein. Es hat also keinen Autor aus der Datenbank mit I D eins bekommen, also wird es in unseren,
äh Abschnitt gehen, wo es mit der Warnung lieben sollte, dass es nicht angerufen wurde. Ja, und das wird es tun. Dann wird es zurückkehren, nicht angerufen, dann drücken, wenn ich die Ausführung fortgesetzt habe. Also, wenn ich in Postmann zurückblicke, werden
Sie sehen, dass der Status für vier nicht angerufen wird. Alles klar, so dass wir die Erwartungen an die Interaktionen mit ihrem A P kontrollieren können. Ich warf Status, erzielte Updates. Also einfach immer noch. Nun, ich habe nicht im Sommer zu diesem hier gesagt, also hatten wir nur eine Zusammenfassung, um zu sagen, „Geh los“. Autor von I d Onda Parametername ist Idee kann das allein lassen und kehrt auf. Autor ist erforderlich. In Ordnung, also keine über eine p wird eine Dokumentation ein bisschen mehr Informationen dazu haben. Nein. Eine andere Sache, die ich tun werde, ist, dass diese Antworttyp-Annotationen zu den
verschiedenen
Endpunkten erzeugt verschiedenen . Also ist dieser Endpunkt in der Lage, wieder in Ordnung? Oder ein 500 jemand unten zu sagen, um zu bekommen, dass es OK tut, aber es tut auch den Status 500 Status. 500 interner Serverfehler. Genau drauf. Ich werde dasselbe für diesen hier tun, was auch das okay macht. Es tut auch den internen Pfeil, aber es ist auch in der Lage, einen Status zu tun 404 Also ist es, dass für alle vier nicht angerufen. Okay, und dann werden wir noch einen Blick auf die Dokumentation werfen, nur um zu sehen, welche Unterschiede dieses Fleisch. In Ordnung
, unsere Dokumentation enthält unsere Zusammenfassung. Wenn ich nicht in die Angebote bekommen, sehe
ich, dass es nicht bewusst ist, dass der 200 Erfolg oder 500 Serverpfeil dort durchaus möglich ist. Und wenn ich in die eine mit dem i d schaue , sehe
ich, dass ich einen Erfolg für vier bekommen konnte und eine 44 seine eigene Nutzlast hat, die in der Antwort gesehen hätte, wo es uns den Typ,
den Titel,
den Status sagt den Titel, , die wahren Gesellschaften, ich denke aus, dass zurückgegeben wird, wenn wir das nicht Telefonfunktion auf DSO nennen. Unsere Dokumentation stellt die Tatsache dar, dass es das ist, was ein Vier oder Vier darin
haben kann , richtig? Also, ich denke, wir können diese Details mit unseren Kosten ausfüllen, ähm,
Inhalt, wenn wir es auf die gleiche Weise brauchen, wie wir eine benutzerdefinierte Nachricht mit unserem fünf
Land senden könnten , also ist es so ziemlich, dass wir auseinander sitzen, Holen und Punkte. Als nächstes wird die Konfiguration oder erstellen Sie in Punkt, so dass das nächste Mal, wenn wir testen, um zu erhalten, dann sollten wir in der Lage sein, zu validieren, dass die Daten wirklich aus der Datenbank abgerufen werden.
19. Autor:innen Endpoint erstellen: Willkommen hierbei. Hören Sie, wir werden den Create-Endpunkt für unsere Autoren einrichten, FBI-Controller. Also beginnen wir diese Übung, indem wir auf eine neue asynchrone Aufgabe vom Typ I
Aktionsergebnis schreiben. Dann rufen wir das hier an. Erstellen Sie darauf wird einen Parameter erwarten, den ich sehen werde,
dass dies Annotation verwendet , die vom Körper stammt, oder? Das heißt, wenn die Person oder der Kunde einen Anruf zu diesen Endpunkten macht, erwartet, dass
sie in unserem Körper mit einigen Inhalten passieren. Nun, hier werden die Datenübertragungsobjekte definitiv ins Spiel kommen, denn im Moment haben wir nur Autorendetails, die Idee akzeptieren. Vorname, Nachname bio. Andi,
ich listet Bücher auf. Im Wesentlichen, wenn Sie einen Autor erstellen, müssen Sie nicht ein i d zur Verfügung stellen.
Auf D würde nicht erwarten, dass sie die Liste von Büchern zur Verfügung stellen. Richtig? Also, was ich tun werde, ist, dass ich eine neue Klasse erstellen werde, und ich werde nur den gleichen Autor,
DT oder Klasse verwenden , aber die Autor-Detail-Klassendatei, eher. Aber ich werde irgendwo eine neue Klasse erstellen, um die Öffentlichkeit zu sehen. Plus auf. Dann werde ich diesen einen Autor nennen. Tut mir leid, Autor. Erstellen Sie e T o. Alles in Ordnung, dann. Innerhalb von diesem Autor erstellen GTO. Ich werde Definitionen für diesen Vornamen,
Nachnamen auf Bio haben . Das ist alles, was ich will, dass mir jemand oft für die Schöpfung zur Verfügung stellen kann. Autor. Alles klar, So erwarteten sie noch einmal Daten zu erstellen, die auch definiert werden würde und auch DT
Owen erstellen . Und von hier aus kann
ich, ähm,
sicher, ähm,
sicher, dass ich weiß, dass ich Second meiden kann, es erforderlich
machen. Ähm, lassen Sie mich einfach die vier Kugeln Vor- und Nachnamen der Bio, die ich mir optional geben werde. Also, nachdem fügen Sie einige Bibliotheken, um diese Anmerkungen zu erhalten. Ich kann auch verschiedene Anmerkungen einfügen, wie für den Datentyp und die maximale Länge. Und so werde ich,
du weißt schon, alle
durchsetzen. Aber ich sorge nur dafür, dass ich sie wissen lasse, dass zumindest diese beiden benötigt werden dann ist die Bio das so? Ordnung, Also durch die Definition dieses Autors erstellen GTO geht zurück zu meiner Kontrolle, die ich sehr unvollständig gelassen, werde
ich wissen. Sagen Sie, dass der Parameter, den ich vom Körper erwarte, so aussehen sollte, wie der Autor DT
erstellen. Auch wenn sie nichts anderes setzen, müssen
sie sicherstellen, dass sie mindestens Vorname,
Nachname und Biografie darauf haben . Ich erzwinge weiter, dass Vor- und Nachname erforderlich sind. Also gingen wir zurück zum Controller. Alles klar, dann beginnen wir zu definieren, was genau oder erstellen sollte. Nein, ich werde eine Reihe von Schecks vom Kurs machen. Am ersten Tag werde ich nur meinen Versuch machen. Fangen Sie auf der Innenseite vom Fang. Ich werde gerade zurückkehren. Interner Serverpfeil würde wiederum Fehler. Ähm, eine Funktion namens Tut mir leid, Andi hat meine Ausnahmen gemacht. Ich mache das nur, weil das am einfachsten ist, um sicherzustellen, dass ich es nicht
vergesse . Richtig. Also habe ich das. Ich weiß, was ich tun werde. Wir sehen, ob das Objekt, das Oh ist, na ja,
tut mir leid, dass ich in die Klasse und indem Sie dort den Namen setzen. Entschuldigung. Also vom Körper, erwarte
ich auf Autor, Objekt aus Typ Autor erstellt Detail jemand zu sagen, wenn Autor nein ist. Das bedeutet, dass sie versucht haben, eine Anfrage zu stellen, aber es gab keine Autorendaten oder keine erwarteten Daten, vorausgesetzt, dass ich nur zurückkehren werde. Ah, aber bitte. Es ging um eine Bitte Ihrerseits. Ordnung, dann gibt es dieses Objekt oder diese Eigenschaft, die ich namens Modellstatus nennen kann, was im Grunde den Validierungsstatus von den Daten verfolgt. Richtig. Denken Sie also daran, dass wir nur eine Validierung vornehmen, um zu sagen, dass bestimmte Dinge erforderlich sind, und so weiter der Modellstatus verfolgt im Grunde alles, was über die
Datenwerte passiert . So ziemlich ist gute Praxis Zehe, machen Sie alle Kontrollen, bevor Sie fortfahren, um es später zu transformieren. Denn Tatsache ist, dass Sie sicherstellen möchten, dass zu dem Zeitpunkt, zu dem Sie die Datenbank aufrufen , etwas in die Datenbank einfügen, dass alles in Ordnung ist. Also überprüfe ich, ob es so ist,
weiß, dass ich dir sage, dass es nur um Anfrage geht. Ich gehe nicht weiter. , Wenn es ein Fall war,in dem Sie nur Autoren mit wollten, brauchen Sie Namen sind jemals aufgezeichnet. Sollte etwas Einzigartiges haben, das Sie auf Eindeutigkeit überprüfen. Dann kehren Sie aneignend zurück. Also im Moment ist das nur, was ich mache. Dann kann ich nicht mal reinlegen. Ah, Liebe. Also einfach so mit diesen Aussagen, wenn Sie ein Land haben, brauchen
Sie nicht die Elternthesen. Aber sobald Sie mehr als eine haben, müssen
Sie Klammern kopieren Sie einfach das Protokoll. Äh, nun, lassen Sie mich einfach auf die Partitur sagen. Länger getragene Liebe. Nein, nicht auf geboren. Ich werde das nur sehen. Ich werde nur sehen, dass die leere Anfrage eingereicht wurde, Ordnung. Und dann, natürlich, kann
ich einen anderen Logger einbauen. Ich fange an, die Einreichung zu sehen. Versuchte Autoreneinreichung versucht. Also wissen wir es. Und dann wäre dieser eine Info gewesen. In Ordnung, also informieren wir alle, dass jemand versucht hat, einen Autor zu erschaffen. Wenn die Ladung nicht war, dann warnen wir nur, um Intercoastal eingereicht zu sehen, und dann kehren wir zurück, dass es eine schlechte Anfrage direkt am gab. Ich kann wahrscheinlich das Modell einbauen. Ich bin geblieben. Nun, lassen Sie mich das verkomplizieren. Mehr als die Autorität früher war. Das sind also nur einige Informationen. So können wir mit diesem weitermachen, dann können wir sagen, überprüfen Sie die Modellzustände. Denken Sie daran, dass das Modell hier Modellzustand ziemlich,
äh,
müde Zehe ist , was auch immer Validierungen unserer DT auferlegt hätten. Oh, richtig. Also unsere DT immer sagen, dass diese beiden sind erforderlich jemand zu sagen, Wenn nicht so. Ich mache gerne zuerst die schlechten Schecks, oder? Überprüfen Sie also immer, ob alles nicht in Ordnung ist. Und wenn es nicht in Ordnung ist, dann gehe ich nicht weiter. Wenn keine Modellzustände vorhanden sind
, ist dies gültig. Also das bedeutet, wenn es etwas gibt ah,
Boote, die Daten, die eingereicht werden, die nicht den Validierungskriterien entsprechen und dass wir uns geklärt dann werde ich auch auf Anfrage zurückkehren. Richtig? Aber dann würde ich ändern, je länger es etwas verpassen, um zu sehen. Ähm, du weißt es. Waas unvollständig. Unsere Autorendaten waren unvollständig. In Ordnung. Eine weitere coole Möglichkeit, dies zu tun, wäre, anstatt den Autor jedes Mal zu sehen, wenn Sie nur sagen, lassen Sie einen Controller-Namen und ihre Eskorte, die es Ihnen ermöglicht, nur die Kontrolle und den
Verwandten zu bekommen , wo das Gericht geschrieben wird. Stattdessen versuchte
ich zu sagen,
Autor, Autor, jedes Mal,
Autor, jedes Mal, wenn Sie nur den Controller-Namen sehen konnten, Angebote ist und dann die Nachrichten sehen, zumindest im Protokoll, ist
es einfacher zu sagen. Waren oder welcher Controller diese generische Nachricht mit unserem irgendwelchen Loch verbunden ist. Es gibt so viele Möglichkeiten, diese Sache zu tun, dass
wir nie enden würden, wenn ich versuchen würde, all die Dinge auf
den Wegzu bringen , all die Dinge auf
den Weg . Also, wissen
Sie, wir können einfach weitermachen und lernen und wachsen, während wir weitergehen. Nein, nachdem ich meinen Hintern aus dem Weg gebracht habe. Wenn es über diese beiden Schecks hinausgeht, muss etwas
stimmen, oder? Also werde ich sagen var Autor oder welche Art von Wiederverwendung Autor var. Mal sehen, Record ist gleich auf dann sind Sie wissen, was ich will nicht sagen Autor D T o.
Also wissen Sie, dass dies der GTO ist, der von dem Parameter kommt, den ich unseren
Autor speichern werde . In Ordnung, also versuche ich nur, meine Variable zu knien, damit jeder auf das Gericht schauen kann und, weißt
du, leicht
Variablen damit assoziieren , kann,wo sie hingehören .
wird gleich Zeh meiner ma pro gewackelt sein. Und dann ging ich zu sehen, dass ich TEM den Datenklassenautor erreichen will. Diesmal will
ich ihn aufstehen. Was auch immer Daten kommen durch Autor E T O. Auf, dass, ich bin gewinnt, nachdem einige Dinge, die ich die Autoren-Datenklasse involviert bekommen kann. Also, was das tut, ist die entgegengesetzte Richtung, oder so bekomme ich das Detail vom Client mit den Daten auf. Dann sage ich OK, mein Oberteil. Ich möchte, dass Sie alle Daten nehmen, die hier enthalten waren, die den Vornamen, den Nachnamen und
die Bio beinhalten würden . Und dann möchte ich, dass Sie es einfach in die Datenklasse wischen, die sowieso alles andere hat , richtig? Also, wenn etwas fehlt, wird
es einfügen. Es wird später eingefügt. Oder wenigstens können wir das kontrollieren. Richtig? Also mindestens, sobald dies geklärt ist, sollte
zumindest der Vor- und Nachname oft der Autor gewischt werden. Wenn unsere Bio vorhanden ist, dass sie markiert wird, wenn sie nicht vorhanden ist, als es gut ist, wissen
Sie, es ist keine Konsequenz, dass wir es nicht erforderlich gemacht haben Nein das Mapping gemacht haben, ich werde versuchen, Änderungen zu speichern. Also werde ich sagen, var ist Erfolg gleich Zehe entfernt. Es der Ruf an meinen Autor. Eople Autor von Bus Geschichte Punkt Erstellen Sie direkt auf den resultierenden Virus Erfolge, die sich daran erinnern , dass dies eine Boolean zurückgeben wird. Was? Es ist erfolgreich oder nicht? Was es erfolgreich schien oder nicht, dann erwartet das Erstellen eine Entität vom
Typautor , die ich gerade habe, nachdem ich das Mapping gemacht habe. Also werde ich das weitergeben. Dann, nachdem
wir das getan haben, werden wir sehen, ob nicht sein Erfolg,
was bedeutet, wenn das nicht eine erfolgreiche Operation war, als ich wahrscheinlich wollen, um DSI anmelden. Ich liebe einfach schnell und sagen Autor Schöpfung, Feld auf. Dann würde ich mein inneres Dienstmädchen richtig nennen, also würde ich das einfach zurückgeben. Also ich meine, es gibt so viele Möglichkeiten, dies lesen Sie weiter, dann vorausgesetzt, dass alles andere ist alt t. Also das bedeutet, wenn dies erfolgreich war, Sorry. Also innere Luft der Nachricht wäre es mir leid. Ich mische,
mischte mich, steige aus mir heraus. Was ich hier tun werde, wird in dieser Nachricht tatsächlich als interne Serverpfeilrechte übergeben. Okay, also übergebe ich ein Autorenerstellungsfeld als Nachricht. Das ist es, was wir eingeloggt werden. Mein Bod geht weiter. Dann wird der Benutzer nur bekommen, dass etwas schief gelaufen ist. Stück Kontakt Administrator mit einem Status abgekühlt 500. Also, wenn dies versucht wurde und es nicht erfolgreich war, dann werden sie 500 bekommen. Also, weißt
du, ich unterscheide zwischen schlechten Anfragen und 500, denn wieder,
aber Anfrage bedeutet, dass Kunden auf den 500 nichts richtig gemacht haben, bedeutet, dass unsere Seite scheitert. Also haben sie alles richtig gemacht, und er stand auf diesen Punkt, und es ist gescheitert. So ist es entweder Feld hier oder Lehrer unaußergewöhnlich und Feld. Entweder müssen wir ihnen sagen, dass etwas Feld, das ist ein 500 Pfeil. Aber am Ende, off all dies, vorausgesetzt, dass keine von diesen Feuerteilen getroffen werden oder diese. Wenn Aussagen getroffen werden, dann können wir sicher davon ausgehen, dass die Rückkehr, die wir es erfolgreich erstellt haben, damit ich zurückkehren kann. Äh, fängt abgekühlt an. Erschaffe Ted, was ich glaube, ein Zwei-Loch-eins ist. Ja. Also 200 ist okay. Es wird eins ist ein okay, Andi, was stimmt's? So geschaffen Es würde sagen,
Jemen, dass du etwas für alles geschaffen hast, ist in Ordnung und so wird hier reingehen und wenn wir vorbei sind, sehen
wir, dass es eine Schnur erwartet. Sie haben einen Objektwert. Also, was ich hier zurückgeben kann, wäre, ah, wissen
Sie, Ted zu
erstellen und dann würde erstellen sehen, dann ein neues Objekt mit den Daten, die vom Autor zurückkommen, oder? Also, sobald wir auch erfolgreich erstellt haben, wird
diese Entität tatsächlich automatisch mit dem neuen I d aktualisieren. Zum Beispiel, auf was auch immer ich wahrscheinlich nach der Einreichung sitzen hätte, Also das geht einfach , um die Details von dem, was erstellt wurde, zurückzugeben. Und dann kann ich mich länger hier einschließen, äh, Oliver Dot in vollem Umfang zu sehen. Ebenfalls erfolgreich erstellt. Sie sind erstellt Autor unsere Lassen Sie uns einfach das Angebot erstellen. In Ordnung, also lassen Sie uns das für einen Spin bleiben. Wir haben ziemlich viel von der Arbeit gemacht und dann von Kurs. möchte jedes Szenario testen, um sicherzustellen, dass sie so funktionieren, wie wir es erwarten, bevor ich
vorwärts gehe, obwohl ich es vernachlässigt habe, eine Notation zu erstellen. Also lassen Sie mich sagen, das ist ein http-Post. In Ordnung? Also, sobald wir einen Beitrag beantworten oder eine Anfrage posten, werden
sie wissen, dass es diese Funktion durch diese Aktion treffen sollte. Vielmehr werde
ich es auch wissen lassen, die verschiedenen Antworttypen, die wir produzieren. Also produzieren wir nicht. Okay, aber wir produzieren Werkzeug eins, das richtig erstellt wurde, also dieser wird Sie wissen lassen, dass es erstellt wurde. Es wird nicht tun, eine 404, aber es war eine schlechte Anfragen, Also Lager tut für 100 ist schlechte Anfragen. Na gut, dann
weiter. Natürlich tust du das. Lassen Sie sie auch wissen, wenn sie der Reihe nach uns Pfeil aufgetreten. Alles klar, auf diese so, aber nicht verlassen Beginnt, um meine Zusammenfassung zu setzen. Dies ist also das größte Wesen für die meisten Programmierer, die sich daran erinnern, den Sommer zu setzen, so dass dies auf Autor erstellt
würde dann Der Param-Name ist Autor DT. Oh, also bleibe ich einfach hier. Nun, ich kann das in Ruhe lassen, und ich muss nichts angeben, was zurückgegeben wird. Also lassen Sie uns mehr entlarven, als es für eine Spin zu nehmen. In Ordnung? So Dokumentation läuft und läuft, wir sehen oder posten gibt es ein Beispiel für das, was erwartet wird. Richtig? Denken Sie also daran, dass wir das DT Oh verwenden, wir haben nicht das vollständige Autorenobjekt verwendet. Und so war das Detail, das wir verwenden, Vorname, Nachname. Und damit sind die einzigen erforderlichen, ähm, Bits off Daten, die wir übergeben sollten. Und es sagt uns, dass es im Anfragetext sein sollte. In Ordnung, also lassen Sie uns das mit dem Postboten testen. Also ging ich und erstellt eine neue Wanne, und dann habe ich in die Endpunkte, die lokale Gastschule an Bord Schrägstrich ap Schrägstrich Autoren. Aber wir haben es uns
etwas leisten, hier zu tun. Also einen, den wir nicht machen, verstehe
ich, aber wir machen einen Posten. Also müssen wir diesen Anruf ändern, um zu posten. Alles klar, dann in den Körper. Wir müssen ein paar Daten angeben, also gehe ich zu Nun, du hast es für mich eine deiner elin-codierten Daten. Eine Vielzahl von binären Graph quells que el So werde ich Rock auf tun. Dann ging ich, um das von Text in Jason zu ändern. Ordnung, also gehe ich in ein Kissen, das so aussieht, und das ist in einem Datentyp sind ah, ehemaliger Typ namens Jason. Richtig. Also Jason ist wie ein Standard, wenn es um das Senden und Abrufen von Daten geht, und es ist zumindest mieten Nein auf. Es ist wirklich cool. Es hat sich ergriffen. Verstehen? Also werde ich nur dieses Beispiel aus der Dokumentation in Postman kopieren. Einfügen Sie es auf. Dann für den Vornamen Wert, den ich setzen werde, lassen Sie mich meinen Namen für den Nachnamen Wert setzen. Ich werde meinen Namen auch darauf setzen. Ich werde eine leere Bio übergeben. Keine Erwartung. Hier ist, dass, wenn ich auf Senden geklickt habe, es den Endpunkt anrufen wird. Also, was ich tun werde, ist zurück zu gehen, ähm kalt und ich werde einen Bruchpunkt für die Kreationen setzen. Richtig? Sobald ich das mache, werde
ich Hit kennen, senden, und es ist unser Bruchpunkt. Also gut, glücklicher Tag gleich dann. Wenn ich den Mauszeiger über den GTO führe, dann werde ich das BIOS leer sehen. Aber Vorname und Nachname sind in der Tat vorhanden. In Ordnung, also bin ich sicher, wenn ich einfach weitermache, dann wäre es erfolgreich. So drücken Bilder f fünf und fahren durch die Ausführung fort. Andi, überprüfen Sie Postbote, um zu sehen, was die Antwort. Waas und ich haben uns geirrt. Ich bekomme tatsächlich 500 der Reihe nach auf der Erde. Also lief etwas schief auf dem Weg. Weißt du, anstatt durchzugehen und zu treten, kann
ich meine Sperre hier in meinem Baumstamm ablenken. Ich sehe, was gesagt wird. Es steht also, dass der Pfeil fehlt. Mop-Konfiguration wird nicht unterstützt. Wischen Ja, ich verstehe völlig, was das ist. Ein Boot. Also lassen Sie mich einfach verlassen b Boot festgemacht und beheben Sie das. Also, was passiert ist, dass wir eine neue DT Oh eingeführt, in Form von Autor erstellen GTO auf. Ich versuche es zu wischen. Aber rate mal, was ich nicht getan habe. Ich habe Herbst-Oberseite nicht gesagt, ein Boot zu kennen, das so zurück in die Mops kartiert. Ich muss angeben, dass es gibt, dass ich wischen, die zwischen Autor und Autor existiert. Erstellen Sie de Deal. In Ordnung, also siehst du Ah, sehr einfachen Pfeil, weil aus einer fehlenden Konfiguration. Aber es ist immer gut. Das ist einer der Vorteile aus den Protokollen, weil, wissen
Sie, würde Zeit Trento verbracht haben, Schritt durch eine Philippine jedes Land zu sehen, wo es schief ging und versucht, die
Ausnahme zu sehen . Aber je länger es dir nur sagt, deshalb ist es gescheitert. Der Benutzer sieht also nur, dass etwas fehlgeschlagen ist. Bitte kontaktieren Sie den Administrator, den sie nennen Sie die Liebe ein Ticket mit Ihrem Unternehmen sind und dann können Sie in das Protokoll gehen und genau untersuchen, was passiert ist. In Ordnung, also versuchen wir es nochmal. Gehen wir zurück in das Boot, das auf Test festgemacht wurde, oder wieder ein P I. Also werde ich versuchen, die gleichen Daten mit Postman einzureichen. Deshalb ist der Postbote so praktisch, weil er Ihre Sitzungen speichert. Es speichert Ihre Tests und Sie können immer nur Schule zurück und klicken. Schicken Sie weiter. Dann lassen Sie uns sehen, ob es durchgeht. Es ist also mein Bruchpunkt, und ich werde nur ein Feuer drücken, damit es weitergeht. Dann lassen Sie mich den Postboten noch einmal besuchen. Da gehen wir. Also komme ich zurück. Ich starte uns in Richtung eines, um zu sehen, dass es erfolgreich erstellt wurde. Es gibt auch alle Details aus dem neu erstellten Autor zurück . Also ich d das ist das I d bekam, ähm, das erste im Nachnamen. Und nun, es gab keine Voreingenommenheit. Lassen Sie mich mal jemand anderen versuchen. Also auf einem Schlüssel Ah Evans Andi, Sie ist intelligent. Das ist unsere Bio auf. Dann lassen Sie mich klicken. Schicken Sie weiter. Ich entferne nur den Bruchpunkt,
damit wir sie nicht jedes Mal anhängen müssen. Und dann gibt es einen K. Evans mit ihrer Bio. Also die Sache über das erforderliche Nein wäre, dass, wenn ich es versäumt habe, eines von diesen
erforderlichen Feldern einzureichen . Also lassen Sie mich zuerst übernehmen, und zuerst wurde Emma Lawson erworben. Ich nehme den Vornamen, um hier den Bruchpunkt zu setzen. Nur den Zeh stellen Sie sicher. Also dieses Mal möchte ich einen Breakpoint auf, dass ich auf Senden klicken werde. Nun, es hat nicht einmal den Bruchpunkt erreicht. Er hat mir gerade gesagt, dass es eine 400 schlechte Bitte an Barroso ist. Modellstatusfehler würden enthalten, um zu sagen, dass das Feld für den Vornamen erforderlich ist. Das ist also die Ausschaltung dieser Antworten. Also, wenn Sie wirklich nicht einmal den Breakpoint getroffen haben, wissen Sie
nur, dass ich vielleicht zeitlich einen Breakpoint setzen und einreichen kann, aber es trifft wahrscheinlich diesen. Der Modellstatus ist ungültig. Autorendaten waren am unvollständig. Dann gab es eine Butter-Quest, die dir den Modellzustand erzählte, mit dem einen weiteren Test, wo ich es nennen werde, aber ohne Daten überhaupt. Also, wenn ich drücke, senden wird mir nur geben Oh gut, es gibt einen nicht unterstützten Medientyp. Das ist also eine Standardantwort. Nein, denn es gibt keine post ah Methode in meinem a p I. Das nimmt nichts in den Körper. Also wirklich und wirklich sollte es nicht haben. Nun, wenn Ihre Anfrage nicht viel im FBI, dann bekommen Sie ein für auf fünf zu sehen. Weißt du, es ist ein eingeladener Fang. Das ist nur die Standardantwort. Ondas, eine Stadt, Erekat dir ehrlich gesagt, ho, ich würde diesen simulieren, um zu überprüfen, ob es klein ist, aber so ist es
genau, richtig? Also würden die fremden Fünf sogar abgefangen, bevor sie versuchen, diese erstellen zu nennen. Also, das ist es für die Einrichtung unserer create in point on, wir haben Protokollierung. Wir haben entsprechende Antworten und Validierung. Ähm, Fehler auf dem Weg, den wir ein neues Detail einrichten, wenn wir zurück sind, werden das
Update einrichten und Punkt
20. Autor:innen von Endpoint einrichten: Hey, Leute, willkommen in dieser Lektion. Wir werden den acht Endpunkt für unsere Autoren einrichten, einen P-I-Controller. Also werde ich diesen Stein gut beschleunigen und einfach etwas von dem kopieren, was bereits existiert. Onda einfach einkleben. Und dann machen wir Änderungen, während wir weitermachen. In Ordnung, also? Also, wenn meine Einrückung losging, repariere es
einfach, okay? Also habe ich nur in Frieden kopiert, dass die erstellen, aber dann werde ich ein paar Änderungen vornehmen. Das wird also Opiate auf Autor sein, dann ist die Petition dafür http zu sein,
setzen Sie alles in Ordnung, Also, wenn Sie über Puts reden, das ist alles, was Sie ein bisschen oben. Ich schätze, es bedeutet, dass sie reinziehen. Du hast es getan. Ich weiß nicht, warum sie es Puts nennen, aber lassen Sie uns einfach an Dwell arbeiten. Wir können den Status ändern. Scores später allein sind fertig, aber dieser wird es sein. Und nein, ich bin sicher, dass Sie wahrscheinlich erkennen, dass es fast keine Rolle spielt, wie Sie die
Aktion nennen , weil wir die Aktionen nicht mit ihrem Namen in Postman nennen. Es ist wirklich die Methode für die Parameter, die wir übergeben haben, die bestimmen, welche Funktion abgefangen werden
soll. Wenn also zwei Funktionen zu sehr ähnlich aussehen, wie Sie möglicherweise Formationen im gleichen Paar-Steuerelement erstellen müssen und ich denke, die gleichen Parameter. Was? Sie haben unterschiedliche Namen. Dies sind Studio kann Ihnen keinen Fehler geben, weil in taktischen, es ist richtig. Aber so wie AP Augen funktionieren oder zumindest ruhen, hat
Felipe Arbeit. Es würde wahrscheinlich ein Problem verursachen, da die Payloads die gesendeten Daten zu
sehr ähnlich aussehen . So kann ich sagen, welchen armen Stern, der Funktion erhält, den er aufrufen sollte. In Ordnung, also sind die Namen hier wirklich weniger wichtig als die Tatsache, dass Sie die Wagenanmerkung
Andi
oder Linie in die Fahrzeugparameter einfügen Andi . Unerwartete Builds. Also für unser Update in Punkten werde
ich auf Idee-Parameter setzen. Also die Erwartungen, die sie nennen werden,
um, um, setzen den Endpunkt Entschuldigung, die a p i B s Euro-Schrägstrich um, die I D. auf d ...
Wir erwarten unseren Körper von Daten. So viele Male sehen Sie, dass die Leute das erstellen Detail verwenden und es manchmal nennen und bearbeiten oder sie nennen es absurd, was bedeutet Update auf das Einfügen eines bedeutet, weil in der Regel der Schöpfer und es ist sehr ähnlich aussehen. Sie erlauben ihnen nicht, dieselben Dinge zu bearbeiten, die Sie ihnen nicht erlauben, oder? Aber dann ist der Punkt, dass, wenn wir differenzieren müssen, wie zum Beispiel, eine auch, wenn Sie wollen, dass diese Person in der Lage sein, die Bio zu bearbeiten, aber nicht den Vor- und Nachnamen, dann könnten wir , um ein neues Detail mit allen Eigenschaften anzugeben, die Daten vier erwarteten und akzeptieren würden. Diese sind für in diesem Fall, ich werde nur die Fortsetzungen in der erstellen verwenden, weil es einem doppelten Zweck dient. Aber dann kann die Benennung gefährlich sein, weil
Sie wissen, dass Sie explizit sein wollen. Aber in dieser Situation lasse
ich es in Ruhe. So erstellen Sie auch Details und ich sehe, ich erwarte etwas von Autorendetails. Nein, Sie haben in der Dokumentation gesehen, dass es sich um ein Autorendetail handelt. Ich möchte nicht unbedingt Autor d o zu sagen, wer auch immer Dokumentationen liest. Wenn ich das hier geändert
habe, sage ich einfach, Param Name ist Autor, obwohl es viel vermissen bedeutet und es wird mich warnen, dass Hey, weißt
du, es ist nicht viel Auto, aber das ist, was ich will, dass es in der Dokumentation. Richtig? Also übergeben einen Autor auf Ich will Vorname, Nachname und auf der Bio. Na gut, dann. Wieder einmal, wenn wir diese Warnung ärgerlich finden, können
wir einfach auf das Warngericht schauen, das 15 73 ist. Ja, 15. 73 auf. Dann können wir weitermachen und, ähm, nehmen alles unsere Unterdrückung in unseren Eigenschaften. Nein, innen von unserem Aktionskörper, wir haben oder üblich, versuchen fangen. Und in unserem Fang werden
wir einfach über die interne Fehlerfunktion zurückkehren. Rufen Sie Exception mit dem e-Objekt auf. Also fangen wir mit unseren Küken an, einige mit der ersten Überprüfung und sehen, ob, wenn ich d ist, das ist weniger als eins,
was bedeutet, dass dieser Wert keinen Sinn ergibt. Oder wenn der Autor bto gleichwertig ist, richtig zu wissen? Dann möchte ich Bud Anfrage zurückgeben. In Ordnung. auf Dannauf. So schlechte Bitte. Wenn Sie sich die Overlords ansehen, sehen
Sie, dass sie Ihnen erlauben, den Modellstatus zu übergeben. In Ordnung, das ist
also eine Mutter, die sagt, dass wir geredet haben, dass ein Boot auch in der Lage sein wird, Fehler zu passieren, damit wir ein Brauch,
ähm,
Objekt übergeben können ähm, . Oder wir können nach einem geeigneten Objekt suchen, das uns alle von den Pfeilpunkten gibt, die wir wollen. In Ordnung, also gebe ich schlechte Anfragen zurück. Wenn die Nutzlast nein ist, oder das entwertige ich keinen Sinn ergibt. Wir können auch erneut überprüfen, ob der angedockte Modellstatus bewertet wird. Also überprüfen wir, ob es ungültig ist. Wenn nicht mehr, ist
der Staat gültig. Dann werde ich auch schlechte Anfragen zurückgeben. Aber dieses Mal bin ich im Modellzustand vorbei. Richtig? Ich werde die Protokollierung zum letzten Mal verlassen. Ich gehe nur durch alle wichtigen Funktionen. Also, Also, nach diesen beiden Kontrollen kann
ich wahrscheinlich sicher davon ausgehen, dass alles in Ordnung ist. Jemand, um fortzufahren und unsere zu retten. Erfolg ist gleich, um die Ergebnisse abzuwarten. Mein Autor pose Torrey, wie er die Updates nennt, aber dann habe ich einen fehlenden einen großen Schritt hier gemacht, wo ich ein Objekt vom Typ Autor brauche. Also bekommen wir das Detail, das wir brauchen, um zu wischen. Ich habe diesen Schritt nicht verpasst, also ist das so weit. Autoren gleich auf der Partitur Mein oberer angedockter Mopp rechts? Und ich bin upping zum Autor auf der Quelle ist, was Avery schwimmt durch Autor e T o.. Alles klar,
Also überprüfe ich, was schlecht ist, wenn irgendetwas über Rückkehr ist. Wir wollen nicht beginnen, die Operationen mit schlechten Daten zu treffen. Also überprüfen wir den Körper. Es ist unsere Rückkehr. Stoppen Sie die Ausführung schnell, wenn etwas falsch ist, aber Und wenn wir dieses Feuer bekommen, wollen Zehe, tun Sie das Mapping, versuchen und eingereicht Datenbank und dann sagen wir, wenn nicht, ist so überschüssig, dann wissen wir, dass wir hatten auf internen Fehler so gut wie wir erraten können. Das ist alles, was nur ein interner Fehler dazu führen würde, dass es nicht funktioniert. Dann fahren wir fort, zurück zu sagen. Also, wenn er dieses Feuer bekommt, dann wollen wir keinen Inhalt zurückgeben, oder? Also kein Inhalt ist Ah, es klingt nach, aber es ist eigentlich eine gute Antwort Scored gut in dem Sinne, dass kein Inhalt bedeutet, dass Sie keine Fehler
hatten, aber ich habe nichts, um es zu zeigen. Also 200 ist okay, wenn du zurückkommst. Ein Ergebnis, wenn es Daten gibt, aber in keinem Inhalt sagt? Nun, es war okay, aber basierend auf der Bitte, wird
das alles haben, um es zu zeigen. Aber ich habe nichts von mir verlangt. Richtig? Das ist also, was kein Inhalt benötigt. Also, nein, ich muss das nur ein bisschen verfeinern. Der interne Fehler hier wäre also optimistisch. Operation Sohn Feld. In Ordnung, auf dem ich anfangen werde, ein paar Protokolle einzulegen. Also verstehen, Tow Bar der Logger in voller Zeile hier auf, dass, Ich werde sehen, Autor Hope Deeds versucht, um, um, und dann in i d Wert setzen die Genehmigungen sind I d. Und dann werde ich nur in meinem setzen Interpretation hier. In Ordnung, also habe ich ein paar Protokolle gemacht. Sie können das Video anhalten und die Protokollierung sofort beenden, wenn Sie möchten,
Sie wissen, Sie wissen, folgen Sie der Protokollierung, die ich habe. Wenn du es nicht tust, dann ist das in Ordnung. Ich werde diese Zusammenfassung auch regenerieren, weil der Sommer nur Repräsentation
für den Autorenparameter macht . Aber ich habe auch in Ich entscheide diese Region ery, dass. Und so sehen Sie Autor Onda das Detail. Was also passiert, ist, dass ich gerade bemerkt habe, dass wir definitiv eine Ära bekommen werden, wenn wir das anprobieren. Das liegt daran, dass ich immer noch das Create-Detail verwende. Was also mit dem erstellenden Detail passiert, ist, dass ich einfach zurückgehen kann. Wir haben kein I D.
Recht aufgenommen . Also, um zu erstellen, brauchen
wir kein I D. Aber um im Schlepp-Update zu aktualisieren, brauchen
wir ein I d. Weil und zwei verschiedene Arbeit oder das i d in der Entität benötigt. Recht zu wissen, welche Entität auf ihre Eigenschaften abzielen sollte. Also, ähm, ich sagte, wir könnten mit dem Detail fortfahren, aber offensichtlich lag ich falsch. Also lassen Sie uns einfach die Fähigkeit zu schaffen, auf dem offensichtlichen Detail wird wahrscheinlich mehr
wie Autor Details auf dem Skopje Autor Detail aussehen . Nun, hören
Sie nicht basierend auf ihnen, was seinen Autor von Bit DT Oh genannt wird, aber ich brauche diese Liste nicht von Büchern. Richtig. Also die Aktualisierungsdetails und haben das i d von der Entität geändert. Der Vor- und der Nachname auf dem BIOS. Alles da auf dann brauche ich aber meine Anmerkungen, um zu sagen, was absolut für
die Updates De erforderlich ist , richtig? Nein, wir gingen zurück zu meinem Comptroller eins. Ich werde alle Parameter von Angebot ändern. Das Autoren-Update-Detail wurde direkt am erstellt. Ich werde auch eine weitere Überprüfung hier hinzufügen, wo ich sehen werde, während unser Detektiv der i d Wert weniger als 10 r. Wenn das andere Detail Objekt ist nein, Aber ich werde in eine weitere Aussage setzen zu sagen, oder wenn das I d ist nicht gleich dem Autor DT schuldet ich entwerten. Also sollten diese beiden Werte nicht viel verpassen. Ich kann den Wert fünf hier nicht übergeben, aber Daten für auch mit i d sechs übergeben. Das ergibt keinen Sinn. Richtig? Also, was auch immer Ideen hier sollte viel die Idee, die im Körper für den Autor weitergegeben wird. Ordnung, also lassen Sie uns das auf die Probe stellen, also werde ich einfach weitermachen. Ich werde mehr widmen. Wir werden mit dem Postboten testen. Alles klar, wir sehen hier, dass wir den Endpunkt vertreten haben, also ist es, dass es einen Umfang benötigt, an dem ich mich befindet. Wir erwarten auch die Nutzlast Schlepptau. Habe ich d Vorname, Nachname und Bio als die Eigenschaften. Wir sehen auch die verschiedenen Rückgabetypen, die verfeinert werden, weil sie nicht
so viele Renditen haben . Uns. Du hast definitiv keinen Erfolg. 200 oder 201. Also, was lässt uns zuerst validieren, bevor wir auf mich gehen? Diese Veränderungen. Also werde ich in einen Postboten gehen, ein neues Top
haben. Ich werde es von der „get toh put“ ändern. Alles klar, dann werde ich Autor mit Idee eins sehen, weil ich weiß, dass ich einen Autor mit i d eins habe, aber dann muss ich sicherstellen, dass ich die Nutzlast habe. Also lassen Sie mich das zuerst testen, damit ich Ihnen versichern kann, dieser wird mir nur geben, dass für 15, glaube ich es. Ich habe diesmal sogar vier oder fünf. Also sehende Methode, keine Last. Alles klar, so schien es, dass ich etwas wie, Ich bekomme Anfrage, aber ich rufe den Put an, weil ich setzen erwartet, dass es einen Parameter sowie Körper gibt. Also vier oder fünf. Das ist eine automatische Antwort, die besagt, dass Sie Ihre Anfrage für das Verb Don't viel kennen. Das ist in Ordnung. Also gehe ich mit dem Körper, wähle roh nach unten gehen zu J Asanon auf, dann bin ich mit dem Papst Post in der Probe, also habe ich idee mit dem Wert eins auf setzen. Dann möchte ich aktualisieren, dass, ähm, Autor Alia auf dem Nachnamen wäre Stewart für die Bio. Ähm, lassen Sie uns sagen, dass ich den Fuß reinlegen werde. Sie ist fantastisch beim Schreiben von Büchern. Alles klar, das ist eine einfache Galle. Also, wenn ich klicke, schicke hier und ich werde unsere Breakpoints innerhalb von Visual Studio setzen, um sicherzustellen, dass wir den richtigen Endpunkt treffen. Wenn ich also auf Senden klicke, bekomme
ich vier oder fünf. Es ist eine Sehmethode, nicht Telesis sagt, Oh, ich sehe, was das Problem ist. Okay. Ah, gehen
wir zurück zum Visual Studio und machen einen schnellen Anruf Ändern Sie den Debug-Modus auf
diesem Platz etwas beenden . Veränderung ist wirklich nur eine Sache, den Wagen in einer TV-Show zu haben, oder? Also, was ich sehen muss, ist, dass diese setzen, während ich es definiert habe, dass Sie wissen, wir wollen den Umfang hier so, wie Sie eine Wohnung passieren müssen oder würde
zuerst sein . Also, was ich will, ist die gleiche Art aus. , Rufen Sie an,wo sie gerade gesagt haben, Schrägstrich ap Schrägstrich die i d... Also, ohne diesen Teil zu spezifizieren. Das ist alles, was wir getan haben, um zu bekommen, dass ich es nicht für den Einsatz getan habe. Also, ohne es für die Ports zu tun würde, nachdem Sie den i d Parameter mit einer anderen Methode als im tatsächlichen um übergeben
haben, sind Sie. Das gefällt mir. Also, was ich hier tun werde, ist ähnlich wie das, was wir für das nicht ähnliche getan haben. Es repliziert, was wir für die get Onda getan haben, lässt den Put noch, dass er auf i d
Parameter in der URL erwartet . In Ordnung, während ich hier bin, lass mich einfach den Status Sport ändern. Also werde ich sagen, dass es Status ist, vier keine Inhalte zu erlauben. Whoa! 24 Anakin, dis Presse Steuerraum und es wird automatisch. Vervollständigen Sie das für mich. In Ordnung, also lassen Sie uns das noch einmal versuchen, wenn Sie über Umlaufbahnen validieren. In Ordnung, also versuchen wir es nochmal mit dem Postboten. Also habe ich die gleiche Anfrage hier bei den FBI-Autoren Eins, hier ist die Nutzlast. Wenn ich also auf Senden klicke, trifft
es unsere Breakpoints. Weißt du, wir wissen, dass wir die Anfragen richtig senden. Alles klar, wenn ich
also über Idee C I d schwebe wenn ich über Autor DT über I Look schwebe, sehe
ich die Daten kommen und die Ideen viel. Also noch einmal, wir haben einige Validierungen zu sagen, wenn die Ideen nicht viel richtig sind, dann kehrten wir zurück. Aber bitte, soweit es mich betrifft, werden
sie das tun. Vieles davon würde Mets nicht bekommen. Nichts ist nein auf i d ist. Nun, der Tat und in der Tat, nicht weniger als einer. Der Modellzustand ist gültig, glaube
ich, weil ich über alle erforderlichen Daten fühle. Das würde also nicht auf dann das Mapping getroffen werden. Also, wenn irgendetwas wahrscheinlich eine Ausnahme bekommen würde, weil wir eine Validierung verpasst haben. Und ich glaube, wir werden die Ausnahme treffen, weil wir das Mapping nicht hatten. Ordnung, InOrdnung,
also werde ich nur f fünf drücken und dann suchen wir einfach im Postboten nach der 500 . Da gehen wir. Also haben wir das Wischen nicht gemacht. Ich weiß nicht Sie müssen das Protokoll überprüfen, um zu sehen, was passiert ist, aber ich werde zurück zu der Mapping-Datei gehen, die in Karten und Karten ist, die CS auf ihrem wir Autor GTOs erstellt
haben. Ich werde nur diesen NC-Autor duplizieren. Oh, es ist DDO, Ordnung,
das ist nur kurz davor, es noch einmal zu tun, und dann sind wir frei zu Hause. In Ordnung, also habe ich die Anfrage noch einmal eingereicht und wir bekommen die Antwort auf eine Vier. Kein Inhalt zu zeigen, dass unsere einige Updates. Operation war in der Tat erfolgreich, Also werde ich nur zu einer der älteren Anfragen zurückgehen, wo ich sagte, alle Autoren bekommen und ich werde dann dieses Mal wieder senden, weil ich mindestens zwei Autoren in der Datenbank habe, die ich werde siehe Autor mit I d one. Das ist die, die ich gerade aktualisiert habe. Sie schreibt auch Bücher, sagen wir, Sehen Sie nicht nur Zeug Bücher, damit ich das natürlich kontrollieren kann, denn wenn Sie den Autor wollen, will
ich nicht alle Bücher direkt mit dem Autor zurückgeben. Indem ich also das Detail ändere und die Liste der Bücher aufnehme, kann
ich das rauskommen. In Ordnung, wo wir die beiden Autoren sehen, wenn ich mit der I-D-Entfernung zurück zum Get gehe,
habe ich zunächst vier oder vier. Also werde ich nur auf Senden klicken und zurück Autor mit I d eins und wir sehen die Rückkehr. Baylor Stewart. Sie schreibt auch Bücher. Andi. Noch keine Bücher im System und wir wissen, wie wir einreichen. Nein, wir wissen, wie das Update ist. Also das letzte wäre Hotel löschen, also bleiben Sie herum, das ist
21. Autor:innen den Endpoint einrichten: Hey, Jungs, Willkommen zurück in diesem Video wird die Löschfunktion für Autoren einrichten. Controller Onda. Nun, schon hat sich die Freiheit genommen, bevor ich ein paar Dinge
ausfüllte, damit du das Video pausieren und replizieren kannst, was ich
da habe . Aber ich werde weitermachen. Also unter unserem Löschen, was wir tun wollen, ist eine Genehmigung akzeptieren, er vom Typ I d auf. Fahren Sie dann fort, um diesen Datensatz zu löschen. Lassen Sie uns also mit unseren schlechten Schecks beginnen. Zuerst wollen
sie sicherstellen, dass die I Devaluierung jemand Sinn macht, um zu sehen, ob der I-d-Wert
kleiner als eins ist , dann auf Anfrage zurückkehren. Ordnung, dann werde ich voran gehen und sehen, ob es gut ist, was ich wissen werde, ist versuchen, die Platte damit zu finden. Ich bin jemand zu retten. Unser Autor ist gleich dran. Ich werde nur meinen Autor von positivem Torrey Docked verwenden. Finden Sie, indem ich auf, dass, Ich werde in der I D von Pferden passieren, alles. Jemand, der es zulässt. In Ordnung, also dann nein. Nach dem Atom, um diesen Autor abzurufen, muss
ich die überprüfen, auf denen dieser Autor wirklich existiert? Der Weg, dies zu tun, ist zu sagen, ob der Autor äquivalent genug ist. Also kam etwas zurück, es wird nicht Nein sein. Also, wenn es nein ist, dann werde ich einfach zurückkehren, nicht telefonieren. Also versuchen Sie, jemanden zu löschen, sind ein Datensatz und es wurde nicht in der Datenbank angerufen, Also ich gebe nur zurück, dass das nicht angerufen wurde. Also, wenn es dort nicht aufgehört hat
, , werde ich weitermachen. Ich werde sehen, dass ich den Erfolg überprüfen möchte. Jemanden zu retten. Unser ist suc cess ist gleich zu warten. Autor, Sie ziehen Dartpfeile die Leinen an. Dann möchte ich dem Autor den Löschvorgang geben, wenn nicht seinen Erfolg. In Ordnung, also wollen wir natürlich sicherstellen, dass alle Wege abgedeckt sind, was es so viele Aussagen und Küken gibt. Also sage ich nur, wenn das nicht erfolgreich war, dass ich meinen internen Fehler zurückgab, wenn
ich nach allem anderen einfach keinen Inhalt zurückgeben werde, weil ich nichts habe, um Ihnen an dem Punkt zu zeigen wenn Sie haben etwas gelöscht. Wenn wir also keine inhaltliche Antwort bekommen haben, wissen Sie, dass Alicia erfolgreich war, Ordnung. Und dann modifizieren Sie einfach dieses dumme, wenn nicht Erfolg, als das Bedürfnisfeld zu verfassen. Alles klar, was
ich wissen werde, ist, einfach die Anmeldung hinzuzufügen, dann können wir testen. In Ordnung? Also habe ich ein paar Protokolle gemacht, einige Protokollierungszeilen. Sie können pausieren und am meisten nehmen, wenn Sie Minderheit replizieren und Jahre in setzen wollen. Aber jetzt werden wir nur testen und validieren oder Löschvorgang. Ordnung, also sind wir oben im Debug-Modus eines Postboten. Ich habe ein neues Top angefangen. Das Verb amüsant ist löschen. Richtig. Und du siehst, dass ich irgendwie die verschiedenen Verben nannte. Ich denke, das ist sehr hilfreich auf. Dann werde ich versuchen, den Autor mit dem I d.
Eins zu löschen . In Ordnung. Also lassen Sie mich einfach auf Senden klicken, und es sagt mir keine Inhalte. Das würde also darauf hindeuten, dass etwas richtig gelaufen ist. Also gehen wir einfach zurück zu meiner get Antwort und es hat immer noch einige der alten Daten sicherlich klicken Sie Senden wieder auf DSO Ich bekomme nur den Autor mit dem i d auf, wenn ich Autor mit
Idee One bekomme , was wir gerade gelöscht haben. Es sollte mir eine 404 nicht angerufen geben. Da gehen wir weiter. Nun, wir können immer noch auf Autor neu erstellen, wenn wir wollen. Weil ich diese Wannen nicht geschlossen habe oder für frühere Anfragen an dann. Offensichtlich, wenn ich versucht hätte, Toe Update auf Autor. Das gibt es nicht. Mal sehen, was wir hier haben. Das ist Ah, 500 im Weichenserver, Earl. Ich glaube also nicht, dass man sehr intuitiv ist. Damit wir das wieder aufräumen können. Denn wenn ich versucht hätte, einen Autor zu opiieren, der nicht existiert, sollte
es mir kein Internet erzählen. Mehrere Bereiche sollten mir sagen, dass ich nicht angerufen habe, oder? Also werde ich nur kommen aus e Buch Mood auf Just gemacht diese Änderung. In diesem Video geht es also um das Löschen, aber wir gingen einfach alle durch, sahen Lücken,
verstanden, um es jetzt zu korrigieren. Um das zu erleichtern,müsste
ich
aberein zusätzliches Auto einlegen. Um das zu erleichtern, aber Also, was ich tun will, ist, die Suche zu machen. Ich werde das alles hier kopieren. Also hier finde ich den Autor von I d on. Dann. Wenn es nicht angerufen wird, werde
ich den Pfeil geben. Ich hatte den Check-In hier nicht. Ich bin auf der Überprüfung der I d Wert ist gültig aan den Überprüfung. Wenn der kleinere Zustand gültig ist und irgendetwas, was kurz ist, wäre
das ein interner Server, Earl. Richtig
, Das ist nicht unbedingt genau. Anstatt dem Benutzer diesen einen internen Serverpfeil zu sagen, werde
ich das tun. Überprüfen Sie hier, wo ich mit bin, um zu versuchen, diesen Autor auf abzurufen. Dann ging ich, um zu überprüfen, ob es nein war oder nicht. Gleich drauf, dann vorwärts. Nein, ich sehe, dass ich hier ein kleines Problem habe. Also, was ich tun werde, siehst du? In Ordnung. Also stattdessen, mir mit dem Fund von i d sehe ich keine Zeh haben ah Mutter Funktion. Also, was ich tun werde, ist in meinen Repositories. Das ist also der Grund, warum das Repository so innen abkühlt. Mein Autor posits sehr außerhalb der Basis Formationen vollständig finden. Oder besser gesagt, ich könnte tatsächlich zur Basis hinzugefügt werden, weil es mit den anderen nützlich sein könnte. Ich werde eine andere Funktion hier machen, ich werde nur das Erstellen duplizieren, aber ich werde anrufen. Es ist vorhanden. Also dieser hier wird nur nehmen, ich bin so in der Idee, in die Idee zu gehen, und dann wird es mir sagen, ja oder nein. Gibt es diese Aufzeichnung? Richtig. Also, weil ich es in der Basis definiert
habe, muss ich zurück in die konkrete Klasse gehen. Aktualisiert, implementiert, fehlende Funktion, die seine existiert. Und extra wenig. Ich finde es hier, es ist auf dann in seinem existiert, was ich tun werde, Sie sagen etwas wie Rückkehr. Ähm, Unterstrich db dot Ähm irgendwelcher Gibt es eine Spüle? Lassen Sie mich sehen, ob es eine Spüle gibt. Es gibt also keine Spüle. In Ordnung. Ich bin sicher, es gibt eine Spüle. Ähm, oh, tut mir leid. Bebe Authors, meine Bar. Sie sinken nicht. Da gehen wir. In Ordnung. Also, was ich tun möchte, ist herauszufinden, ob es eine Dringlichkeit, einen Weizen, und ich denke in der Funktion auf. Also möchte ich herausfinden, ob es einen Autor gibt. Also sage ich, es ist ein im Grunde ohne ihren stabilen Scheck. Wenn es irgendwelche mit den Lambda-Ausdrücken gibt. So glum Ausdrücke. Gut zu sehen, ob es irgendeinen Rekord mit einem I D gibt
, so viel wird mir übergeben, oder? Also, das wird nur zu unseren Fehlern zurückkehren, das ist alles, was irgendwas tut. Es sagt: „ wahr oder falsch“. Also ist es entweder gibt es, es ist nicht da. Also wisst, dass ich zu unseren Wasserfällen zurückgekehrt bin. Ich speichere nur meine Änderungen im Controller zurück innerhalb des Updates. Was ich tun werde, ist zu sagen, um seine Existenz so weit existiert auf Ich werde stattdessen sagen, wenn ich,
ähm Autor, Bericht überprüfen, ob seine Existenz existiert. Also, nachdem es Ursachen gibt, dann werde ich sehen, ob nicht, er ist verlassen. Also denken Sie daran, das ist ein Anlagebarren, so sichere Kraft. Wenn es falsch ist, dann möchte ich einfach zurückkehren, nicht direkt angerufen. Also könnte ich das eigentlich einfach im Löschen wiederverwenden,
gehen Sie weiter und finden Sie die ganze Datei, also werde ich nur überprüfen, ob es zuerst existiert. Andi,
ich kann das entfernen,
und dann kann ich diese Zeile ersetzen, wo ich den Autor direkt über dem tatsächlichen Löschen
jemand finde , um den Autor hier abzurufen und dann das Löschen durchzuführen, dann validiert, dass es erfolgreich oder nicht auf Warren entsprechend. Also, das war ein wenig Du machst Factoring, und wenn du mitmachst, wirst du
vielleicht andere Lücken sehen. Vielleicht sehen Sie alle Möglichkeiten, wie Sie Ihr Gericht ein bisschen effizienter machen können. Aber das ist es, was Entwicklung ist. Du wirst immer Dinge sehen, die du auf dem Weg einführen kannst.
22. Änderungen in GitHub: Unser Kerl. Also sind wir bis zum Ende von diesem Abschnitt aus gekommen. Oder Kurs, wo wir gerade erfolgreich eingerichtet haben oder ein P I Controller für unsere Autor Manipulationen. Richtig. Also lassen Sie uns einfach überprüfen, was wir getan haben. Wir richten einige Daten ein, neue Datenübertragungsobjekte, die wir für sie einrichten. Wir hätten die Abhängigkeit für das Autoren-Repository für den längeren Service auf für
den Mop er aus Kurs injiziert , Sie richten den Repository-Zehe ein, interagieren mit unseren Datenbienen auf DSO. Wir werden alle datenbankbezogenen Operationen über unser Projektarchiv übergeben. Die längere Zehe halten Protokolle von jeder Aktion los in der in der a p a n Punkte auf unserem Mopp er Zehengriff. Wenn wir Daten zwischen dem
Datenübertragungsobjekt auf die tatsächlichen Datenklassenobjekte übertragen,
hätten wir erfolgreich Funktionen oder Endpunkte umgesetzt. Holen Sie sich alle Autoren. Teoh, erhalte einen Autor von i d toe, erstelle ein neues Autorenupdate über bestehende Autor und Toe Delete auf Autor. Wir haben auch einige, die Sie wissen,
grundlegende generische Sachen eingerichtet , so dass wir uns nicht ständig wiederholen, wenn wir verwendet oder jeden Schritt in der Woche
protokolliert
haben, wir haben auch einige Debugging-Techniken auf DSO überprüft. Was wir jetzt tun werden, ist die Überprüfung unserer Änderungen, um Hoffnung zu bekommen. Also brauchen wir nur mit der rechten Maustaste oder Lösung auf, dann gehen Sie zu Commit. Wir geben unsere Commit-Nachricht, so dass Geld kann das Video pausieren und replizieren, wenn Sie möchten. Aber ich werde weitermachen und alles auf der Spüle begehen. Sie werden alle Änderungen auf dem Weg zu speichern, die unser neues Gericht basierend auf schieben wird, um Hilfe zu erhalten. Das war's für diesen Sex. Wir sehen uns das nächste Mal.
23. Bücher: Repositories und Service: Ihr Jungs, willkommen zurück in dieser Lektion, wir werden sitzen oder posten Torrey und Service für Cincinnati für unseren Buchtisch . Also habe ich die Repository-Basis geöffnet und wir verwenden diese Basis, wenn wir jagen, dachten unsere Autoren-Repositories oder gehen, um im Grunde zu folgen und beginnen, unsere
Buch-Repositories zu implementieren . Also in meinen Verträgen Wasser, werde
ich einen neuen Brunnen hinzufügen, Klasse, aber stört wirklich auf. Ich möchte es iBook-Repository nennen. In Ordnung. Niemand wieder. Dies ist eine Schnittstelle. Also habe ich das einfach in Schnittstelle geändert. Andi,
ich werde dazu bringen, dass es das Repository-Tier erbt. Also bedrohen wir nur die Repository-Basis und der Klassentyp in dieser Situation ist Buch über. Dann geht es auf die Zehe. Soll ich eine Bibliothek einbauen? Und das ist inklusive. Damit Stacheln sich daran erinnern, dass diese Erweiterung Schnittstellen, wenn wir benutzerdefinierte
Funktionalität schreiben müssen , die nicht in unserer Basis enthalten ist, als wir es innerhalb des
iBook-Repository deklarieren , dann deklarieren und dann konkretisieren Sie es in der und dann in der konkreten Klasse implementiert. Nun lassen Sie uns nach unserer konkreten Klasse suchen und wir werden es in Dienstleistungen erstellen, also gehe ich einfach voran und klicke. Fügen Sie bei einer neuen Klasse hinzu und diese wird Buch-Repository Unser Booker Buster wird von I book repository auf erben. Sobald wir dann die Schnittstelle implementiert
haben, werden wir alle von den Methodenstopps bekommen. Das erste, was wir tun müssen, ist, unseren Anwendungs-DB-Kontext in tow,
unser Buch-Repository, zu injizieren . Und ich habe es einfach schnell gemacht. Das besteht also aus einer privaten schreibgeschützten Anwendung, die das Objekt auf ist, initialisiert es
dann in unserem Konstruktor für oder Buch-Repository Weiter oben ist es, Änderungen zu implementieren oder zu
speichern. Also, wenn ich zu meiner Funktion gehe, sagen Sie, wenn ich sicherstellen möchte, was es eine Senke auf der erinnern, dass wir eine Funktion namens Änderungen
speichern Andi Well haben , sich
ein Variablenaufruf auf wir rufen die Funktion speichern Änderungen synchron auf. Dann kehren wir zurück. Wenn es Änderungen gab, ja oder nein? Als nächstes haben wir unsere Schöpfungen. Also, um unsere Kreation zu machen, werde
ich sagen, ah weg. Es unterstrichen db dot Bücher, dass Andi ich buchstabiert bin auf Klarheit warten. So und ich habe noch eine andere, weil ich nicht eine Spüle richtig gestellt. So erinnern Sie sich immer daran, dass erwartet und ein Waschbecken. Also unterstreichen db dot Bücher angedockt. Dann sagen wir Adah, du sinkst auf. Dann habe ich in der Entität übergeben, und dann ah ich, Weizen oder sorry, ich kehre zurück und wartet dann auf die Ergebnisse aus der Speicherfunktion. Ordnung, InOrdnung,
also werde ich diesen Teil einfach kopieren, weil ich weiß, dass das wirklich in jeder
Funktion erledigt wird . Einige Anpassung eine Kopie und fügen Sie es in alle anwendbaren Funktionen. Nun, wirklich. Aktualisieren und löschen. Also machen wir das einfach schnell weiter. Dann lass mich wieder auf das zurückkommen, was ich tue. Also in der löschen, wollen
wir unterstreichen d b Punkt Bücher nicht entfernen auf. Dann entfernen wir die Entität. In Ordnung, weiter, dann kehren wir zurück. Jetzt. Wir würden natürlich sparen, Sie brauchen ein Waschbecken auf der Funktion. Also lassen Sie mich einfach durchgehen und überall singen. , Nur um sicher zu gehen,dass ich es nicht vergesse, richtig. Alles klar, jetzt können wir weitermachen, also nein, wir wollen alle Bücher finden. Alle Bücher zu finden ist ziemlich unkompliziert. Wir müssen nur sagen, warten. Unterstrich, db dot Bücher Punkte zu Liste ist sinken und das wird alle von den Büchern bekommen und natürlich muss ich das
zurückgeben. Also brauche ich sofort die Rückkehr. Ich könnte es so schreiben. Ich könnte es in einer Zeile schreiben, , aber ich mag es,ein bisschen konsistenter zu sein. Also denke ich, dass der Autor es tatsächlich geschrieben hat, wo ich eine Variable deklariert habe. jedoch Validieren
Sie dasjedoch. Ja, das
habe ich. Ich sagte, Vier Variable ist gleich, dass. Also mache ich das Gleiche hier, damit das funktionieren kann. Aber ich möchte konsequent sein, also sollte mein Gericht jederzeit konsequent sein. Also werde ich eiserne Bücher zu retten ist gleich toe das Ergebnis aus, dass auf, dass ich
Bücher zurückgebe . In Ordnung. Dasselbe für finden durch ideal. Kopieren Sie das einfach wirklich, denn es ist sehr ähnlich Akkord jemand, um unser Buch auf Rückgabe Buch zu speichern. Aber dann, in dieser Situation mache ich, äh, Bücher Punkt finden eine Spüle und dann übergebe ich den I-D-Parameter, den ich D-Wert und dann existiert, wäre wieder so etwas wie das. Was? Ich fange gerade an, dass das Handbuch an ist. Speichern. Ire existiert. Ist gleich toe ein Gewicht auf der Partitur. DB dockt Bücher Punkte auf. Dann werde ich sagen, wenn ich weiß, dass es eine Lockerung sein wird, okay? Und dann mein Holzausdruck, um zu sehen, Gibt es irgendein Buch mit dem Grundstück? Ich d. So viel ist die i devalue kommt durch diesen Funktionsaufruf und dann ging ich zurück, um seine existiert Alles klar, auf, dann zuletzt Aber keineswegs wenigstens haben wir Updates sagen unterstreichen BB Punkte Bücher , nicht es auf waren Fasten in der Entität jetzt eine gemeinsame mystische Onda. Nun, ich werde sagen, dass ich darauf gestoßen bin. Ich werde es nicht so klingen lassen, als wären sie, weißt
du, andere Leute da, wir stoßen nicht auf sie, oder die darauf stoßen, dass ich nicht. Aber manchmal ist es leicht zu vergessen, welches Repository in und eine solche Referenz die falsche Klasse . Stellen Sie also sicher, dass Sie sich in der richtigen Klasse oder in der richtigen Eigenschaft des
Anwendungs-DB-Kontextes im richtigen Repository befinden. Ich weiß, dass ich das Repository und den Vertrag eingerichtet habe. Ich gehe einfach zum Start rüber und stelle sicher, dass die Vertretung Vertrag und Service an mir ist. Also werde ich nur sicherstellen, dass ich mein Buch-Repository sowie die konkrete Klasse habe , die Buch-Repository auf ist. Sobald das erledigt ist, können
wir einen Bau machen, nur um sicherzustellen, dass wir nichts eingeführt haben, um unsere Schnur an
unseren Gebäuden zu brechen . Erfolgreich. Also, für nein, wir haben erfolgreich eingerichtet oder Repository auf Dienst.
24. Bücher: Prüfer den Aufbau: Willkommen zurück, Leute. Und diese Lektion, wir werden den FBI-Controller für unsere Bücher einrichten, also werde ich einfach direkt darauf zugreifen und klicken Sie auf Controller klicken. Fügen Sie Gehe zu Controller ein. Dann möchte ich einen leeren AP I-Controller an. Dann werden wir es ein Buch nennen. Bücher. Entschuldigung. Steuert den Buch-Controller. , Denken Sie daran, denn unsere Controller-Zehe haben irgendeine Funktionalität, oder interagieren diese mit unserer Logik? Bisher mussten
wir es haben. Das bedeutet also, dass wir sicherstellen müssen, dass wir unsere Abhängigkeit richtig injizieren. Also brauchen wir Abhängigkeit ist für das Repository auf Basierend auf dem, was wir sahen und Autoren Controller , wir brauchen eigentlich Abhängigkeit ist für den Logging-Dienst und auch für die Mapping, damit wir
folgen können . Und ich möchte eigentlich nur all das kopieren, anstatt zu versuchen, es manuell zu tippen. Also kopiere ich das alles vom Controller des Autors. Es ist das erste Mal, dass du dieses Video ansiehst. Du bist nicht so vertraut. Sie können sich die Zeit positives Video nehmen, wenn ich fertig bin, diese Fehler zu kümmern. Ich repliziere nur, was ich hier habe, aber ich muss unsere Präsentation von meinem iBook-Repository haben, und ich werde es auf der Partitur nennen. Buch-Repository nicht Autor. Repository. Andi,
ich habe meinen längeren Dienst. Ich brauche meine ich bin oben etwas Sie Herbst-Obermaterial auf Kurs verwenden. Nennen Sie das Steuerelement. Der Konstruktor muss der gleiche sein wie die Controller, die austauschen, dass Andi
Oates die Verweise auf den Autor ändern . Das ist also so ziemlich alles, was ich zumindest tun muss, um aufzustehen und zu laufen, weil
sie auf der grundlegendsten Ebene so ziemlich gleich sind. Alles klar, das war's. So wurde das Kopieren und Einfügen nur eine ganze Minute vom Tippen auf weniger als 30 Sekunden reduziert . Also, was wir gerade getan haben, war, private Lesezugriff auf die Objekte aus dem iBook-Repository einzurichten. Ich arbeite länger, und ich bin oben dran und richte dann einen Konstruktor ein, wo wir sie initialisieren werden. So akzeptieren wir eine Genehmigung oder pro Privatobjekt, die wir gerade erklärt haben. Dann initialisieren wir sie innerhalb dieses Konstruktors. Andere Dinge, die wir voran gehen und tun können, wäre, eine Zusammenfassung von diesem Const aus diesem
Controller aufzunehmen . Also würde ich nur sehen, ähm interagiert mit dem Büchertisch. Ok, Onda, wenn du willst, können
wir diese Anmerkungen über alle Statusschulen anbringen, die zurückgegeben werden können. Aber wir sind uns noch nicht sicher, was sie sind. Jemand, der das allein für Nein auf lässt. Im Moment haben
wir einige Baseline-Dinge getan. Weißt du, die Sache ist, wir weitermachen, meinen
wir, dass wir eine andere Abhängigkeit brauchen, weil wir vielleicht ein
paar Buchoperationen implementieren werden, für die wir das Autoren-Repository brauchen, richtig. Der Punkt ist also, dass wir für jede Abhängigkeit, die
wir haben, einfach auf die gleiche Weise darstellen müssen, wie wir es für diese auf getan haben. Dann haben wir Zugriff auf all diese Funktionen innerhalb des Controllers, aber nein, das ist es an. Wir haben eingerichtet oder Controller für die Bücher
25. Bücher: Einrichten: Hey, Leute, willkommen in dieser Lektion. Wir werden anfangen, unsere get Endpunkte für unsere Bücher einzurichten,
jemand, der mit meiner Anmerkung anfängt, jeder weiß
, dass dies eine http-get-Operation ist,
auf die ich anfangen werde, dort zu schreiben , jetzt erklären, dass es öffentlich ist eine Senke Aufgabe und kehrte auf meine Aktionsergebnisse zurück. Und wir nennen das hier. Bringen Sie Bücher weiter. Es braucht keine Parameter, weil alles, was wir tun, ist das Abrufen aller Bücher möglich. Natürlich wird
diese Operation relativ einfach sein. Wir beginnen mit über, versuchen Katzen oder versuchen Top-Wanne auf Fang auf. Nun, bisher, unsere Autoren Controller, was wir getan haben, war, dass wir eine Funktion einrichten, die aufgerufen werden würde, wenn es einen
Fehler gab . Also werden wir das replizieren. Also gehe ich einfach zum Controller des Autors, leihe mir das bisschen außerhalb des Platzes, lege es an den letzten Teilen der Seite,
jemand, der das unterstützt, denn wirklich und wirklich, das ist dasselbe, was wir sein werden auf allen Controllern zu tun. Es ist unser Standard, oder? Also werde ich es wirklich reinlegen, Andi. Dann werde ich sicherstellen, dass ich diesen Anruf im Abschnitt Ausnahmen meine. Also, wenn ich fange, möchte
ich internen Fehler aufrufen, dann möchte ich e übergeben das ist Nachricht, richtig? Nein, es gibt noch etwas, das ich mit der Protokollierung wollte, aber ich werde das bis zum letzten Mal verlassen. Lassen Sie uns also innerhalb des try-Blocks fortfahren. Ich werde Ire Books zu retten ist gleich Zehe Unterstrich db Sorry. Nicht DD, aber Buch-Repository-Punkt finden. In Ordnung, also finde ich alle Bücher über. Dann werde ich wieder in Ordnung mit dem Bücherobjekt, richtig? Aber natürlich muss ich unsere Kartierung dazwischen machen, also bin ich einfach nur hier rauseilen. Also zwischen den Büchern zu holen und zurückzugeben, was ich tun sollte, bin
ich mit wackeln die Bücher direkt da auf ich speichern sollte. Unsere Antwort ist gleich auf der Punktzahl meine oberen Punkte, Mumps. Und dann steige ich meine Ich werde zwei auf meiner Liste von Buch B T o Rechte zuordnen. Denken Sie daran, unsere DT immer wirklich, was wir geben, um den Benutzer oder den Anrufer eher der Client auf dann I Meine Quelle ist Bücher, also erwarte ich eine Liste von Büchern auf. Dann mappe ich es in einen Mopp in Buch DT. Oder ich füge einfach ein, was aufgenommen werden muss, dann ist das, was ich zurückschicke mit meinem okay
, Diese Antwort, alles klar, im Finale ist synchron. Sie sehen diese rote Linie,
die besagt,dass , ich keine asynchrone Funktion habe, aber ich mache nichts asynchrone Software. Also muss ich sagen, Warte gleich da. In Ordnung. Ich habe auch den internen Pfeil geändert, weil das, was ich gerne mache, konsistent ist. Also werde ich nur die Autorenkontrolle referenzieren und eine sehen, die ich in der Nachricht auf
der inneren Ausnahme übergeben habe . Also habe ich sicher gestellt, dass ich dieselbe Art von Nachricht früher übergeben habe, so dass meine Protokolle über alle Endpunkte ziemlich gleich aussehen. Also, aber da, andere Sache, Nein, sie gehen alle zu einer Periode des Scheinens. Also, wenn dies jedes Mal das gleiche protokollieren wird, wie in einem 500 ein Mädchen von bekommen Bücher auf, gibt es eine 500 sind von Aero von Autoren bekommen, indem ich auf das Protokoll schaue, würde
ich nie wirklich wissen, welche von ihnen Feld richtig es sei denn, in der Meldung wird explizit angegeben ,
dass dies passiert ist, wenn diese Art von Vorgang versucht wurde. Ich würde nie wirklich wissen, von welcher Aktion oder Kontrolle dieses Gebiets geliebt wird. Also, was ich vorstellen möchte, richtig? Nein, ist eine andere Funktion, bei der ich die Controller-Aktion auf dem Controller-Namen
darauf erhalten werde. Ich werde diese Zehe verwenden,
bestimmen, was der Protokollzeichenfolge hinzugefügt werden soll, damit wir uns das Protokoll ansehen und genau wissen können , welcher Controller bei Aktion dieses Protokoll ausgelöst hätte. Also eine separatistische einfache Funktion. Ich werde nur sagen, private Zeichenfolge auf. Ich nenne es auf Troller Axon Namen, richtig? Andi nimmt keine Parameter an. Dann werde ich Ire retten. Controller ist gleich Controller-Kontext. Punkte auf. Ich denke, ich muss etwas hier irgendwo einschließen. Ich werde einschließen, wie ich mitmache, weil es wirklich hilft. Ich habe tatsächlich die Kontrolle gesprochen. Also Controller-Kontext. Ordnung, dort werden wir Context Dot Action Deskriptor nicht kontrollieren und dann haben Sie tatsächlich viele von kontrollierenden Namen. Ich bekomme den Controller. Richtig. Also bekomme ich Controller-Namen und ich werde dieses Land einfach duplizieren. Also mach den Typ nicht hoch. Was aus dem wieder auf werde ich sagen Aktionsname für die Variable heißt Aktion auf. Dann werde ich zurückgeben,
äh, äh, formatierte Zeichenfolge. Manche wollen nur meine Dollar-Anführungszeichen verwenden. Dann übergebe ich den Controller-Variablenwert an. Dann werde ich sagen, Strich Ochsen, variabler Wert. Also, was das tun wird, ist jedes Mal, wenn es heißt, es wird OK sagen, was für eine Aktion? Welcher Controller bei Aktion macht diesen Aufruf. Wir können diese Informationen verwenden, einen Stift Taurel
abschleppen, damit wir uns das Protokoll ansehen und genau wissen, von welchem Controller und Aktion, welche
Aktion,
der Fehler oder der in für die Warnung kam. Also lassen Sie mich das schnell mit dem Buch „get“ machen. Also werde ich sagen, wenn man Bücher anruft, werde
ich unser Ah retten, das ist ein Ort. Also Ort bedeutet, dass dies ist, wo es ist. Ich werde Controller-Aktionsnamen erhalten und innerhalb des Standorts speichern. Richtig? Also, als ich mit der Liebe zurückkehrte, werde
ich jede andere Nachricht mit dem Text von Ort kommen vorgeschrieben. Richtig. Und dann werde ich sagen, cool auf jemanden zu sagen, Ort. In Ordnung, also ist der Ort, den Controller zu bekommen. Andi,
ich sprach den Controller furchtbar. Lassen Sie mich das schnell aktualisieren. Con Kinderwagen, richtig? Lassen Sie mich nur sicherstellen, dass dieser Wagen überall in Ordnung? Also bekomme ich die tatsächlichen Namen des Controllers und speichere sie an Ort und Stelle. Das ist, sobald es trifft, um Bücher zu bekommen. Dann werden wir jedes Mal, wenn wir uns weiter einloggen werden, Ende alles vorbereiten. Jede Nachricht, die wir mit dem Standort setzen, kommt von, so
dass wir später im Controller des Autors zurückverfolgen können . Aber im Moment konzentrieren wir uns auf Bücher. Also lassen Sie mich einfach ein paar Informationen hinzufügen. Liebt unsere eigenen Was passiert, wenn wir treffen, um Bücher zu bekommen, tatsächlich. Ordnung, also fügte ich Zehenlinien in Strömungsprotokollen hier in Zeile 38, 41 auf dso. Was ich getan habe, habe ich gerade den Ort bekommen, wie wir es für das Internet getan haben. Pfeil auf. Ich habe es gerade an etwas angehängt, um versuchte Anrufe zu sagen. Anstatt also einen Satz auszuschreiben, wie ich es für die Autoren für die Longs für
die Autoren getan habe, wo ich versucht sehen musste, bekommen alle Autoren und erfolgreich alle Autoren statt, ich sage nur, dass Sie rufen Sie den Controller Bücher und Aktion Bücher abrufen. Andi. Das ist ein Versuch, der anruft. Wenn es dann erfolgreich war, sage
ich nur, dass der gleiche Standort erfolgreich war. Also für mich, das reduziert die Menge von Details nach Putting und nein, meine Liebe Skala konsistenter, weil ich diese Sätze schreibe. Du schreibst es auf diese Weise. Nein. Eins. Dann schreiben Sie es anders in diese Protokolldatei. Und damit Sie wissen, dass es nicht konsistent ist. Das ist also nur ein kleiner Zuwachs, was wir hier tun. Wie ich später sagte, wir werden zurückverfolgen und können uns einfach bilden. Der Autorenbereich bestätigte, dass der Autoren-Controller diesem Standard entspricht, richtig? Also haben wir alle Bücher. Andere Dinge, die ich einschließen möchte, wären unsere Antworttypen, die 205 100 sind und aus Kurs oder Zusammenfassung, um alle Bücher zu erhalten. Alles klar, das ist es
also für die Get All oder die Get Bücher. Der nächste, den ich wollen würde, ist das Buch von I D. Alles klar, Alles klar,
also gehe ich unter diesen. Es ist immer noch ein http, also muss ich das wiederholen. Außer, dass dieses get ein bisschen anders ist, weil es einen Parameter benötigt. Also bitte vergiss diesen Teil nicht. Dann sehen wir, dass ich auf. Anschließend können Sie die Perimeter-Datentypen weiter qualifizieren. Ich kann tatsächlich etwas sagen, wie ich int anrufen würde, so dass die Dokumentation ausdrücklich sagt, dass es ein Interview erwartet, anstatt sich zu kleiden. Es erwartet eine Idee. Also lasse ich es so und wir werden sehen, ob es irgendeinen materiellen Unterschied macht. Wenn wir uns die Dokumentation ansehen, werde
ich nur diese Antworttypen hier kopieren und einfügen tatsächlich verstehen, um
alles in diesem Telefon auf der Basis gezeigt zu kopieren , weil zwei Funktionen sehr ähnlich sind. Aber natürlich werde ich den Namen jemand ändern, um zu sehen, bekommen Buch statt off. Holen Sie sich Bücher auf, dann ist dies, was einen int idee Parameter nehmen wird. Wir kriegen schon die Standorte. muss ich nicht nochmal machen. Und dann bin ich trainiert Operation, wo ich versuchte Anruf für I D auf d sehen kann. Ich werde nur sagen, was ich d versucht wurde. In Ordnung? Ich meine, es kann groß werden, aber dann, ich meine, wir wissen bereits, wo der versuchte Ruf nach dieser Idee ist. Also wissen wir, dass es ein versuchter Anruf für das Buch mit dem I. D. also ist es leicht zu folgern, dass wir versuchen, das Buch mit dem ich lenke zu bekommen. Ah, was wir hier machen, ich werde nur den Chor wechseln. Also Vier Buch ist gleich Buch Repository angedockt finden von D On übergeben wir in den I d Parameter aan den. Die Antwort wird eine Zuordnung aus dem Buch GTO sein, keine Liste. Also mache ich nur ein paar kleinere Verbesserungen hier statt das ganze Gericht wieder von
Grund auf neu zu schreiben , dann bekam ich erfolgreich Rekord mit I d auf dann. Alles klar, das ist alles meine Protokolle, um klar zu sein. Das ist alles an. Dann haben wir die Antwort zurückgegeben. Niemand Check, den ich vorstellen werde. Hier ist die Überprüfung, ob das Buchergebnis äquivalent und null auf ist. Dann, wenn es so ist, dann gehe ich rechts. Ah, Liebe auf diesem Jemand, der die Warnung lieben, da abgebrochen Protokollierung informieren ging zu Lug warnen Onda uh,
nicht, Rekord für I.
D schreibt abzurufen . Also möchte ich sagen Feld, Zehe abrufen. Also siehst du, das ist es, wovon ich rede. Ich habe es in eine Richtung rüber geschrieben. Autoren schreiben. Ich sagte, in Autoren auch mit diesem wurde nicht hier drüben angerufen, Ich schreibe Feldchirurgie, also das ist ich sehe. Wenn Sie Sätze schreiben, neigen
Sie dazu, sehr spitz zu werden und dann erhalten Sie mehr Punkte, weil Sie auf dem Feld gewachsen sind und Sie lieben werden inkonsistent über das, was Ihre Gebäude sie wollen, dass sie
konsistent sein . Ich werde das Format hier schreiben, und dann werden wir Truck an den Controller des Autors ablegen und alles ändern, bis wir die
Protokollierung machen . So fühlen, um Rekord mit I d Andi I de Colon abzurufen. Gleich drauf. Dann, natürlich, werden
wir zurückkehren. Ich bin nicht angerufen. Also haben wir diesen Datensatz nicht gefunden, der eine 44 ist und das Abruffeld protokolliert hat. In Ordnung, also haben wir unsere Bücher über. Wir haben unser get Buch, also meditiere ich das nur für ein paar Testläufe oder mit der Validierung, dass die Sehnsucht wirklich auch einen Unterschied macht, es gibt jetzt keine Bücher, also wollen wir nur sicherstellen, dass wir bekommen über die richtige Response Schule. Also werde ich nur auf den Test mit Postman in Debug gehen, Ordnung? Ich sagte, ich würde zum getesteten Postboten gehen, aber ich werde nur Swagger benutzen, also werde ich das nur erweitern. Dann werde ich sagen, versuchen Sie Tote und dann ausführen. Dann bekomme ich meine 200 Antwort. Okay, damit wir sehen können, dass wir gut sind, es gibt keine Bücher in der Datenbank. Ich bekomme die 200 Antwort und lassen Sie mich einfach versuchen, nicht mit dem Parameter für wohlhabende bekommen Buch mit dem Parameter jemand zu sagen, Versuchen Sie Kröten auf. Dann setze ich ein I d ein. Wert aus einem auf. Klicken Sie dann auf „Ausführen“. Offensichtlich war nichts Telefon. Also kriegen wir die vier oder vier. Das wird also erwartet. Aber worauf ich wirklich achten möchte, ist, dass die Protokolle auf der gleichen Blockdatei
sowohl der Autor an den Bucharbeitern arbeiten würde . Ich mache beides am selben Tag. Aber was passiert ist, dass Sie bemerkt haben, dass, wenn Sie sich den Zustrom für Bücher, können
Sie sehen,
dass es die Bücher sind, Bücher, Aktionen und versuchte Ursache erfolgreich gegen das. Willst du sagen, dass es dafür versucht wurde und nicht abrufen konnte. Aber das ist nur eine Warnung, weil ein Fehler, einen Datensatz abzurufen, der nicht denkt, dass dies
kein Pfeil ist , aber wir haben nur eine Warnung gesetzt, nur für den Fall. Es ist ein Grund zur Besorgnis, oder? So können Sie hier sehen, wo es ein bisschen mehr Struktur aussieht, weil Sie dem Controller sagen können , dass
Sie die Aktion sagen können. Dann können wir standardisierte Nachrichten haben, je nachdem, welcher Teil von der Funktion oder Funktionalität im Vergleich zu Loch zugegriffen wird. Wir haben es anfangs dort gemacht, wo es nur,
du weißt schon,
frei,für jeden Text war du weißt schon, frei, . Also das letzte, was ich dafür tun werde, ist in der Zusammenfassung über Ich werde sagen, bekommt ein Buch von I D. Auf dem Haram-Namen Ich lasse das allein und Renditen sind Buchaufzeichnung auf. Ich glaube nicht, dass ich die Renditen wenigstens aus Büchern setze, und das ist ziemlich viel es, um die Get-Aktionen für unseren Buch-Controller zu sitzen. Also, was ich tun werde, ist aus der Kamera. Ich werde zum Controller des Autors zurückkehren und dann überarbeiten. Also machen wir die Protokollierung und dass wir es zusammen und nächstes Video durchgehen können, aber das war's vorerst.
26. Bücher: Endpoint erstellen: Sie willkommen in dieser Lektion, wir werden einrichten, um Endpunkt für unsere Bücher zu erstellen. Aber bevor ich dort ankomme, möchte
ich nur, dass wir unseren Autoren-Controller überprüfen und Ihnen einige von den Modifikationen zeigen. Die Zeit, Fleisch. Also das letzte Mal haben wir darüber diskutiert, das Protokollieren ein bisschen konsistenter zu machen. Was ich also tat, war, eine Funktion einzuführen, die den Namen vom Controller zurückgibt, und der Name von der Aktion, die derzeit aktiv ist, wird bei der Rückgabe interagiert, mit der diese Komponente vom Controller abströmt, muss direkt auf dso. Was wir dafür verwenden, ist in unsere Protokollierung zu gehen, so dass anstelle von Zügen
komplette Sätze klappern oder zu detailliert sein können, wir ein bisschen mehr Konsistenz in allen mit ein bisschen mehr Einfachheit haben können, richtig? Also tue ich nur so, als ob die Nachricht, jede Nachricht, mit dem Speicherort der Controller ist, Bindestrich Aktion für die Nachricht, die übergeben werden soll. Also habe ich das in den Get Autoren auf gemacht. Ich habe es im Get-Autor gemacht, und ich habe auch darauf geachtet, es über den gesamten internen Fehler zu tun. Telefon, das Anrufe anzeigt. Nein, ich habe es nicht über die anderen gemacht. Denn während wir mit dem Buch-Controller gehen, werden
wir den neuen Standard setzen. Und wie Sie sagten, der neue Standard in der Buchsteuerung sind nur Backtrack und stellen Sie sicher, dass die Autoren Controller Art folgen. Also, zurück in unserem Buch-Controller, habe ich mir die Freiheit genommen, die Aktionen zu schreiben. Sie können das Video pausieren und schreiben Sie es Spender kann sich selbst versuchen. Also habe ich eine öffentliche Gehäuseaufgabe aus Aktionsergebnissen. Es heißt „Create Onda“. Wir haben unseren Parameter, der unser vom Körper eine Notation ist, auf die wir nehmen, um auf Objekt aus Typ Buch erstellt D, um zu wissen, dass die rote Linie da ist, weil ich das Detail nicht
erstellt habe , so dass wir das zusammen tun können. Also werde ich das einfach kopieren. Geh über die Akte meines Buchs. Nun, ich werde nur das Buch GTO Objekt auf Basis kopieren. Es ist darunter. Was? Ich nenne es Buch erstellen Details auf und was wir nicht brauchen, wäre Ideen. Ich muss das Buch nicht mit dem I.
D.kreieren D. Sie sind nett, wenn wir es mit dem Autor erstellen können. Also werde ich das ganze Objekt für den Autor Detail nehmen. Aber was ich wirklich brauche, ist Autor, den ich auf. Ich werde dieses nicht wissen,
aber es ist sehr erforderlich, weil ich kein Buch in meinem System möchte, das nicht
mit einem Autor verbunden ist , richtig? Also ging ich zu mir, die auch ich d erforderlich. Alles klar, bei all den Dingen, die benötigt werden, ist der Titel. Ich brauche das Jahr nicht. Das war's. Eis ist in der Zusammenfassung für die Zusammenfassung erforderlich ist nicht notwendigerweise erforderlich. Aber was ich sagen werde, ist, dass ich bereit bin, maximal 500 Zeichen zu akzeptieren,
einige Annotationen anzunehmen , um zu sehen, dass die String-Länge bis zu 500 vom Kurs entfernt sein kann. Wenn Sie diese Validierung durchführen
möchten, müssen Sie mit dem Datenbeast überprüfen, weil denken Sie daran, dass wir diese Datenbank zuerst gemacht haben. Sie müssen sicherstellen, dass die Validierung, die Sie hier erzwingen, nicht die
Einschränkungen im tatsächlichen Datenschlag verletzt . Also, wenn die Datenbank so besagte Indien-Marsch 50 ist, dann möchten Sie sicherstellen, dass Ihr
String-Link daran haftet. Also denke ich, dass für die Zusammenfassung, Ich hatte Umwelt Reifenspuren gesetzt, so werden wir es bei 500 belassen. Also, obwohl die Datenbanken markiert, ich boxe Erwachsene bei 500 auf der Client-Seite, richtig, ich mache kein Bild erforderlich. Und ich mache den Preis auch nicht erforderlich. Nein, was passiert ist, dass, wenn ich die DT oder in den Autor GTO,
Objekt oder Eigentum oder andere in das Buch erstellen Detail aufgenommen hätte, dann hätte ich die Person Gelegenheit gegeben, einige andere Details auszufüllen, die möglicherweise nicht notwendigerweise Bohne genau haben. Also wieder, das Detail hilft uns immer noch freundlich. Kommt Kontrolle was? Wir haben den Kunden erlaubt, in unser System einzutreten. Richtig? Also habe ich Mike book erstellen GTO auf DSO erstellt. Diese Luft verschwindet, weiß, dass es sieht, dass diese Klasse existiert. Jetzt wird unsere Schöpfung aus einem Buch immer anfangen, damit wir den Standort bekommen. Also bekommen wir den Standort. Wir wissen, dass wir wissen, wo wir sind. Wir wissen, warum wir den Standort richtig finden? Als Nächstes ist unser Versuch Fang. Also werde ich es anprobieren und
dann die Ausnahme abfangen. Nennen Sie es E an. Ich werde diese Zeile wirklich kopieren, weil sie schon da ist. Alles klar, das wird abgekümmert, zumindest für die Luftabfuhr. Jede Ausnahme, Nicht gehen Zehe hinzufügen Verbündeten im Schlepptau. Der Logger mit einer anderen Zeile außerhalb des Gerichts, die protokollieren wird, die Operation erstellen, wurde versucht. Also sage ich Location, Colon, erstellen Sie versucht direkt auf. Dann werde ich weitermachen, wo ich sagen werde, wenn das Objekt nein ist, dann will ich Zehenprotokoll eine Warnung. Also werde ich lieben Warnung, um zu sehen, dass in diesem Ort und Inter Quest eingereicht wurde auf zurückgegeben der Teig Quest mit dem Modellzustand. Meine nächste Überprüfung ist, ob der Modellzustand Gewalt ist, Denken Sie daran, wir werden einfach die Turm-Notationen Zehe eingeben, die Daten
validieren, die hereinkommen. Also möchte ich sagen, wenn der Modellzustand nicht gültig ist, dann wollen wir eine Lagerwarnung sagen, dass die Daten bei der Rückkehr über die Anfrage
mit dem Modellzustand unvollständig waren . Also, während Sie AP aufbauen, erkenne
ich Null, dass die grundlegenden Operationen auf die gleiche Weise über die
verschiedenen Entitäten oder die verschiedenen Controller relativ zu jeder Entität aussehen werden. Natürlich, Wenn Sie spezialisierte Operationen wie die Berechnung von Sachen dazwischen tun, dann kann es variieren. Aber im Wesentlichen wollen
wir sicherstellen, dass wir auf dem Weg die gleichen Arten von Kontrollen durchführen, weil jede
einzelne von ihnen natürlich von Fall zu Fall geplagt werden kann. Möglicherweise haben Sie spezifische Kontrollen, die für den durchgeführten Vorgang spezifisch sind. Wenn wir an diesen beiden vorbei kommen. Wenn Aussagen als die Annahme ist, dass das Buchobjekt in einem gültigen Zustand ist, also möchte ich tun, ist es einfügen, so dass wir speichern Unser Buch ist gleich auf. Was ich tun muss, ist eine Karte vom d t o Objekt. Also ma pro Punkt Karte auf meinem Moppet Mapping Zehe. Die Objekte aus Typ Buch auf meiner Quelle ist Buch E T.
O. O. Also bin ich nicht sagen Geben Sie mir, was Buch über Buchdetails gemeinsam auf ein Objekt aus
Typ Buch erstellen auf dann, wenn ich dieses Objekt auf, was zu speichern, ist
unser so sess ist gleich toe, warte auf einen Aufruf an mein Buch-Repository, wo ich meine Create-Funktion auf Vergangenheit in
diesem Buch aufrufen werde . Dann muss ich überprüfen, ob es erfolgreich war. Wenn nicht Erfolg ist, was möchte ich
dann tun? Ich werde meinen internen Fehler aufrufen und sagen, dass an diesem Ort das Erstellungsfeld. Das ist, wenn es nicht erfolgreich war. Andernfalls werde
ich nur eine letzte Rückkehr auf Ich werde sowohl erstellt als auch eine Nutzlast zurückgeben die das Datum
enthält, an dem ich gerade erstellt wurde. Also muss ich sagen, Sind Sie ein erster, das wäre die gleiche erstellen direkt auf. Dann wäre das Objekt neu auf ihnen vorbei in einem Buch, Ordnung? Und das ist, was gerade erschaffen wurde, damit wir hier sehen können, dass wir alles für den schlimmsten Fall in unserem Zalis, das uns bekannt ist, ausgefüllt haben. Wir versuchen, so viel wie möglich zu protokollieren. Nein, ich habe das Format von den Lieben ein bisschen geändert. Was ich gesagt habe, würde ich mit der Kontrolle des Autors tun. Ich werde zurückverfolgen. Also möchte ich diese erste Zeile nehmen und sicherstellen, dass das erste Mal, wenn meine Autoren
es kontrollieren , genauso aussieht, oder? So Standort erstellt, versucht auf. Dann, wenn es leer ist, werde ich sagen, Ort. Also die leere Anfrage eingereicht. Das ist nicht so schlimm. Ich wollte nicht viel ändern. Wir lieben die Warnung für unvollständige Daten, einige stellen nur sicher, dass an den gleichen Punkten von jedem Controller, die Protokolle werden das Verb es von den Protokollen wird ziemlich viel weniger sein. Sehen Sie rechts, dass oben auf einem Essay auf der einen Seite, Andi am Tag zwei Wörter auf der anderen Seite. Konsistenz ist also wieder einmal der Schlüssel. Dann, endlich, habe ich nicht unsere länger, die ist in für die Protokollierung für Entschuldigung, Ich bin Angriff. Das ist vorbei auf einem quadratischen Logger Doctor Logue in vier, um das vor Ort zu sagen. Also machen wir einfach diesen Ort. Doppelpunkt auf. Siehst du, das ist der Cree Shun war erfolgreich. Und dann, wenn Sie möchten, könnten
Sie sogar das Objekt dort einschließen, um zu sehen, dass dieser Autor zu dieser Zeit erstellt wurde, richtig? Also, das ist gut zum Protokollieren. auch Vielleicht möchten SieauchAh protokollieren,
eine zweite Zeile, um Objekte zu sehen, die erstellt wurden, damit ich einfach ein Buch übergeben konnte. Mal sehen, ob das funktioniert. Vielleicht zeigen wir uns alle Details aus dem Buch. Vielleicht mit Ihrer Show und auf Objekt-Linie in der Liebe, aber wir werden sehen, damit ich versuchen kann, dass über. Und Autoren auch auf. Stellen Sie nur sicher, dass ich diese Zeile auch normalisiere. In Ordnung, ich weiß, hier drüben wäre Autor, kein Schrecken. Oder vielleicht sollte ich an diesem Land festhalten, bis ich mit dem Buch validiert habe. In Ordnung, jetzt, da ich mit dem Gericht fertig bin, weil ich Briefe Validates erstellt
habe, gehe ich in das Boot, das festgemacht wurde. Eigentlich gehen Sie noch
nicht in Debugging. Wir haben ein paar Dinge aufgehört. Also eins habe ich mein Verb nicht gesetzt, das http Post ist und das ist vorbei. Die Create, richtig? Brauchen Sie auch Zehe. Nun, ich muss nicht, aber es ist gut, diese Rückgabecodes zur gleichen Zeit einzubeziehen. Also werde ich nur existierende kopieren. Also weiß ich, dass ich zurückkomme. Nicht ein 200 hier, aber ich starte einen Stuhl, der geschaffen wird, oder? Ich mache auch einen internen Serverpfeil auf. Ich mache auch schlechte Anfragen, also lassen Sie mich einfach sicherstellen, dass ich eine Vertretung von diesen 400 aber Anfragen habe. In Ordnung, Andi,
ich glaube, das ist los. Vielleicht, während ich hier bin, kann
ich einfach auf meine Zusammenfassung setzen, aber ich denke, ich bin mit dieser Funktion fertig, also erstelle Ah, neu sind erstellt. Entschuldigung. Ein neues Buch, direkt auf Git kehrt zurück. Na ja, nichts. Also unsere Buchobjekte. In Ordnung, also, nein, wir können selbstbewusster entlarven. Also lassen Sie uns das in Postman testen. Ordnung, also bin ich im Debug-Modus, habe alle meine Dokumentation, und sie zeigen mir eine Probe von der Nutzlast, die mit diesem
Sport übergeben werden muss . Ich werde nur diese Probe über den Postboten kopieren, der bereits eine neue Wanne gestartet hat. Ich habe die Endpunkt-FBI-Bücher. Ich habe es auf dem Posten vorbei. Es ist ein Körperwerkzeug roh drauf. Dann ändern Sie dies zu jae sun on, dann stückte. Also, nein, ich muss das ausfüllen. Also das ist meine erste voll auf dem Jahr, das sehen, das Jahr war 2000 und 10 Eis, das ist in der Regel wie eine einzigartige Identifizierungszahlen. Ich setze nur eine Zufallszahl da ein. Zusammenfassung, ich werde das leer lassen. , Das Bild,das das leer ließ,
war auch nicht erforderlich. Bild wäre also wirklich ein Pfad zum Bild. Für den Fall, dass Sie sich fragen, sind Sie wahrscheinlich enttäuscht, dass ich es kein Mann bin. Es ist wirklich ein Weg zum Bild. Was ich also nicht tun möchte, ist, den AP zu lassen und die Arbeit zu erledigen, das Bild hochzuladen und das Gespräch zu
machen. Vielmehr würde
ich es vorziehen, dass die Clients, die mein Baby verbrauchen, würde ich eine Last einige Upload auf einem
Server haben , richtig, weil ich dieses Bild nicht auf meinem Server speichern werde. Aber Sie haben auf Ihren Server hochgeladen. Dann schickst du mir den Pfad, in
Ordnung, aber wenn wir
das tun, wird der Client wahrscheinlich eine CD benutzen, und sowieso, also laden wir sie auf einen CDN-Dienst hoch und dann den Pfad zum Bild innerhalb dieses Feldes, richtig? Also können wir weitermachen und ich setze den Preis auf $10. Lassen wir die Idee des Autors auf Null. Also ich weiß, dass das scheitern wird, und das ist bestätigen, dass Sie scheitern werden, weil der Autor, ich d Sie werden mir wahrscheinlich auf ah,
500 Fehler geben . Also lasst es uns versuchen. Also, wenn ich klicke auf „Alles in Ordnung“. Also, wie ich dachte, wir haben ah, 500 Fehler auf Wenn ich einen Blick in die Liebesdatei, Ich werde sehen, dass es sagt, Oh, mein Mapping. Also habe ich nicht mop. Mein Buch schafft Details. In Ordnung, also lass mich einfach aus dem Boot kommen, das vor einer Weile Spaß hat, und ich höre auf . Also, dieser Teil bekommt mich immer. Und ich bin froh, dass du siehst, dass es mich bringt, weil wir alle Menschen sind. Also, wenn es dich dazu bringt, dann fühle dich nicht. Wie auch immer, wenn du dich nicht verstanden hast, dann Great. Also wollen wir nur sicherstellen, dass wir unser Mapping haben, also was auch immer Mapping in der Anwendung gemacht hat, wir müssen sicherstellen, dass Sie eine Konfiguration haben. Also lasst uns das noch mal durchmachen. In Ordnung, also versuchen wir es nochmal. Also klicke ich auf Senden, gib ihm etwas Zeit. In Ordnung? Also haben wir noch 500 mal sehen, warum diese 500 sterben. Laden Sie einfach die Liebesdatei neu. Also nein, wir sehen Ach, nett. Lange Eine schöne,
lange, ähm, ähm, Ausnahmemeldung. So können wir hier sehen, dass in vier Büchern erstellen, erstellen, versucht und dann sehen wir, Ära Bücher erstellen auf Luft aufgetreten, während sie sagten, dass. So lange Geschichte, kurze Distanz, zu
sagen, dass ich auf Autor verweise Das existiert nicht, weil ich Null sagte. Also, wenn ich das auch der Autor, glaube
ich, und ich habe immer noch meine Autoren Anfrage hier. Also ich weiß, dass ich gewonnen Autor mit dem i d zu Also ich werde nur sagen, dass dieses Buch
von einem a k auf geschrieben wurde . Dann werde ich klicken, senden Sie uns eine zwei ein auf erstellt, so dass wir sehen, dass das Buchobjekt wieder auf
getrennt mit dem Autor kam auch. Also die coole Sache hier ist, dass Nun, lassen Sie mich sehen, ob es wirklich auf die Arbeit geht. Ich denke, ich muss möglicherweise etwas mit dem Repository tun, damit dies funktioniert. Aber im Wesentlichen, wenn wir auf den Autor kommen, sehen
sie diese Liste aus Büchern. Die Liste der Bücher sollte folgen. Also lassen Sie mich den spezifischen Autor bekommen
, der auch Autor ist. Andi Tick senden. In Ordnung. Also muss ich mein Repository nicht etwas ändern, um die Liste von Büchern einzuschließen, denn im Wesentlichen, was das sagt, ist, dass, wenn Sie den Autor bekommen, Sie auch die Liste von Büchern bekommen sollten, die er oder sie in ihrem Repertoire hat oder sie sind in der Datenbank
verwandt. Also haben wir gerade Ah erschaffen,
Buch, das vom Autor mit I D an Silas geschrieben wurde. Dieses Buch sollte unter das Autorenrepertoire kommen, aber das werden wir später tun. Das ist keine Sorge für nein, wir sind nur glücklich auf waren zufrieden, dass oder Buch wird jetzt erstellt, wenn ich
die Validierung verletze . Also werde ich keinen Titel einreichen und ich ging, um es erneut zu versuchen. Dann sehen Sie, dass wir die 400 schlechte Anfrage mit unserem Modellstatusfehler erhalten. Also denke ich, das fasst es für unsere Schöpfungsoperation und nur die Aktualisierung der Liebe zusammen. Also werde ich Ihnen unser kleines vorstellen, das im Grunde einfach die Liebesdatei
automatisch vermeidet . Also kein Teil plus Paket immer fragen Sie oder lassen Sie wissen, dass es das Licht ein wenig verändert hat, wenn es
zu einem anderen Werkzeug, das nur zeigt, dass Sie wie laufen Spur aus dem Protokoll Fett und es ist wirklich cool. I Eine coole Sache über Swagger, die ich vielleicht nicht erwähnt habe, ist, dass, wenn Sie auf
die Intriger schauen , wo sie Ihnen die Details zeigen, sie geben Ihnen den Rest. Rotes Sternchen neben denen, die Ihnen, der Entwickler hätte als erforderlich markiert. Also sagten wir, Titel sei erforderlich. Eis ist auf Autor Addie erforderlich. Das bedeutet also, dass jeder, der ein Buch einreicht, so auf Objekt oder einen Jason String
mit nur Titel SBM auf Tochter Addy weggelassen haben könnte und mit diesen übereinstimmt und das Buch
erfolgreich erstellt hat . Richtig? Das ist also ganz nett und sauber Soldier macht die Dokumentation dazu, dass es für die
Erstellung zusammenfasst .
27. Bücher: Endpoint einrichten: Willkommen zurück, Leute. In diesem Video werden
wir uns mit der Einrichtung unserer acht Funktionen für unsere Bücher beschäftigen. Nein, ich habe schon ein paar Dinge gemacht und du kannst das Video zur richtigen
Zeit pausieren und es einfach abkopieren. Aber ich werde Sie durch das führen, was ich bereits getan habe, das erste, was ich getan habe, war, ein Update-Detail zu erstellen. Also hat das Update 82 das i d zu haben ,
weil wir die Idee von der Platte verfolgen müssen, die auf Gueye aktualisiert wird, auch um einige
der Dinge zu nennen . Also nahm ich I s bien heraus. Also will ich nicht, dass jemand zurückkommt und das Wesen ändert, weil das eine eindeutige
Referenznummer ist . Du steckst es rein, es bleibt richtig? Ähm, es ist einfacher. Sie entfernt das Buch auf neu mit einem Wagen Eis als Talg sie zu ändern Eis Wesen, Das ist und das ist nur ich. So erstellen
Sie erneut Ihre Daten basierend auf den geschäftlichen Anforderungen der Anwendung, die Sie erstellen. Also will ich nicht, dass jemand reinkommt und das aus irgendwelchen Büchern wechselt. Ich habe es nicht in den Opiat-GTO aufgenommen. Andi,
ich habe auch den Autor,
ähm,
Eigenschaft aus diesem Update-Detail entfernt ähm, . Weil ich nicht will, dass jemand nachher mitkommt und den Autor
einfach so aus dem Buch wechselt . So
haben Sie wieder einmal die vollständige Kontrolle darüber, was jeder Client mit Ihren Daten tun kann, indem Sie die
Datenübertragungsobjekte verwenden . Nachdem Sie dieses Datenübertragungsobjekt erstellt
haben, können Sie das Video erneut anhalten und abschreiben oder abkopieren. Wir gingen rüber zur Kartierung. Wir haben dafür gesorgt, dass die Mapping-Konfiguration in der Vergangenheit abgefangen wurden, wo wir Betrieb
versuchten. Gerade erkannte, dass wir uns nicht daran erinnern, das Mapping
einzubauen, also habe ich darauf geachtet, es diesmal im Buch-Controller zu tun. Ich habe die Aktionen bereits ausgeschrieben. Ich werde dich nur durch sie führen, aber wirklich und wirklich eine Menge davon sieht genauso aus wie das, was wir im Autor gemacht haben, oder? Wir haben unsere Anmerkung, http, setzen auf. Wir nehmen die i d auf D und
lassen alle wissen, was es produziert. So produziert es Antworttypen. Tool 4 405 100 für Interna dienen Fehler auf. Dann gehe ich voran und definiere oder funktioniere als asynchrone Funktionsaufgabe. Ich Aktion Ergebnisse. Der Name ist ein bisschen auf es nimmt einen Parameter in, aber es sucht auch nach einer Nutzlast aus dem Körper vom Typ Buch aus dem GTO auf wir nennen es Buch GTO. Wir beginnen damit, den Standort zu erhalten, und wir wissen, dass wir dies tun,
damit wir verfolgen können,was , in unserer Anmeldung aufgerufen
wird. Dann versuchen wir es. Also lassen Sie mich einfach zu den Fangteilen springen, wo ich die regelmäßige Rückkehr mache. Interner Fehler. Ehrlich gesagt, diese Zeile ist die gleiche Zeile in allen anderen Aktionen diese Kopie und Einfügen, die leicht Boote für die Transaktion. Wir machen im Grunde die gleichen Arten von Prüfungen, die wir in der Update-Funktion für unseren
Autoren-Controller gemacht haben , richtig? Also bin ich zuerst beim Abmelden von Kurs. Ich habe das Verbiage für die Protokollierung deaktiviert, und wir werden zurückverfolgen und dasselbe im Controller des Autors tun. Aber lassen Sie uns einfach damit arbeiten. So haben wir, je länger auf waren protokolliert, dass das Update beim Update auf Aufzeichnung versucht wurde. Ich d i d Onda. Wir kennen den Standort und wir überprüfen, ob die Idee weniger als eine ist oder die Nutzlast ist nein oder wenn das I d im Umfang nicht mit dem i d in der Nutzlast übereinstimmt, dann werden wir von der
Anfrage Onda sagen , wir werden auch die Warnung lieben, dass Update Feld mit schlechten Daten i d Doppelpunkt Idee richtig? Wir werden auch überprüfen, ob es existiert. So rufen wir Booker Haltung nicht existiert vorbei an der i d und dann sagen wir Wenn es nicht
existiert , dann werden wir die Warnung lieben, dass wir fühlen,
Rekord mit
demi d abzurufen. ,
Rekord mit
dem dann werden wir die Warnung lieben, dass wir fühlen,
Rekord mit
demi d abzurufen. gehen wir weiter, um den Modellzustand zu überprüfen, ob er gültig ist. Also natürlich haben wir einige Dinge, die in dem Opiat benötigt werden, die Sie am meisten in den
Titel geben Sie auf. Nun, es gibt nichts anderes, wirklich? So in der Aktualisierung, Sie könnten alles andere, wo Ihre meisten Person mindestens einen Titel für Sie auf dem Umzug
fortfahren. Lassen Sie mich nur bestätigen. Also denke ich an den Schöpfer. Also brauchten wir Titel auf Würfel, da ich dir nicht erlaube, das Eis zu machen. Also werde ich den ESPN nicht benötigen, also alles, was ich den Titel benötige, weil das alles ist, was sie ändern
dürfen. Du kannst mir also keinen leeren Titel oder gar keinen Titel einreichen. In Ordnung. Ah, also werde ich weitermachen und Vier Buch sagen. Also, wenn er dieses Feuer bekommt, dann werde ich die Datenübertragungsobjekte in die Datenklasse wischen, die Buch ist,
dann sammeln Sie es und dann warten wir auf das Ergebnis aus, so dass die Anfrage an die Datenbank, wenn es ist kein Erfolg, als wir Ah, 500 Fehler zurückgeben. Und ich sehne mich, dass ich an diesem Ort außerhalb des Feldes einfach dieses Update-Feld für Rekord mit Ideen qualifizieren kann. Also lassen Sie mich nur eine Pin, die für die Aufnahme mit I D i d. Damit Sie wissen, es ist spezifischer, wo es gescheitert ist. Dann melden wir uns an. Das ist ein Haftbefehl. Sollte ein Login für Recht sein. Also ist es eine gute Zehenkontrolle über Ihre Arbeit. Also melde ich mich dafür ein. Der Datensatz mit Idee, der erfolgreich aktualisiert wurde, gebe ich einen neuen Inhalt zurück. In Ordnung, also noch einmal, als ich durchging, könntest
du ein Video auf Hat off pausieren oder, weißt
du, in deinem eigenen Projekt
neu erstellt haben, was du brauchst. Aber ich werde weitermachen. Ich werde voran gehen und diese Aktion testen. Jemand wird vor Anker entlarven. Ich bin Indy. Sowohl Stimmung als auch ich haben einen Postboten, jemanden zum Öffnen. Eine neue Registerkarte für meine neue Funktionstest auf diesem wird ein Pit auf die Endpunkte sein, was ein p i Schrägstrich Bücher Onda ist. Ich bin Oviating Buch mit dem I d, um ich glaube, dass das ein Buch vielleicht ist, dass ich in
der Datenbank habe . Nein, was? Ich werde es hier destry ist so flexibel. Die Validierung von Datenübertragungsobjekten macht es zu Transportdaten. Also habe ich gesagt, dass du das i d brauchst. die
eine oder andere Weise Aufdie
eine oder andere Weisewird
es dann gegen ID überprüfen. Das einzige, was wirklich,
wirklich erforderlich ist, damit ein Update ist, dass ich ein gekartetes Bedürfnis bin, um erfolgreich zu sein, ist der Titel, richtig? Wenn ich also nur in der Dokumentation schaue, die ich hier auch sehe, das Autoren. Ich meine Bücher in der Dokumentation, ich sehe, wo das die gesamte Nutzlast ist. Das ist also die gesamte Nutzlast, die zählt. aber Wenn ichabernur den Titel da oben will, dann kann ich einfach einen neuen Titel einreichen. Das ist also auf den übersichtlichen Titel. Alles klar, auf Also der Feind entfernt einfach das Straßenkomma, basierend auf der Validierung, auf der die Idee glaubt, ist zu. Also klicke ich auf Senden, dann wird es unsere Aktion treffen, durchlaufen alle Validierungen auf und
dann eine Status-Tour ohne Inhalt zurückgeben, nur um Ihnen zu zeigen, dass es die Daten erhalten hat. Es hat die Validierungen durchgeführt. Es sah, dass der Titel, der das einzige erforderliche Datenbit wirklich auf
Überdatenübertragungsobjekten Validierungen basiert , auf denen es dort ist. Dann ging es mit der Operation durch und nein, es wird aktualisiert. Also, wenn ich zurück zu meinen bekommt, habe ich ein get Oh,
na ja, na ja, ich werde es einfach vom Postboten tun, also bekomme ich einfach alle Bücher, versuche Kröten und dann exekutieren. Dann sehen Sie das eine Buch mit dem I D und aktualisierten Titel direkt auf, wo alles andere ist. Nein, weil ich keinen Wert angegeben habe. Hier müssen wir sein. Vorsicht, denn was ist passiert? Ist das, wo es keinen Wert lieferte? Es wird automatisch angenommen, dass nein auf DSO Wenn ich nein übermittelt habe, würde
es den dort befindlichen Wert überschreiben. Also, Ideen zu verfassen? Nein, nein, weil ich es aus dem GTO entfernt habe. Andi,
ich habe eine Nutzlast eingereicht,
die nicht
darauf verwiesen hat . Richtig. Also gehe ich zu mir diese Einstellung. Also werde ich wieder zu meinem DT gehen. Ich werde es sagen. Deshalb ist es immer gut, einen kleinen Test zu machen, um zu sehen, ob das, was nach einer
Operation passiert , wünschenswert ist, oder? Also gehe ich zurück zu meinem aus dem Detail auf Ich werde den Autor setzen I d Alles klar,
jemand, um es wie erforderlich zu setzen. Also werde ich den Klienten durchsetzen, dass sie mir sagen müssen, wer der Autor ist. Natürlich von der Client-Seite steuern, können
wir
von der Client-Seite steuern,wie diese Daten über die Pipe kommen oder Empfehlungen basierend auf
unserer Dokumentation machen , aber nein, ich werde sagen, dass es erforderlich ist weil ich nicht und nein für meinen Autor. Eigentlichkann
ich das,
weil ich angegeben habe, dass der Autor „Nein“ sein könnte. Eigentlich kann
ich das, Ich schätze, ich muss zu meinen Geschäftsanalysten zurückgehen und es richtig machen, aber nein, ich lasse es einfach leer. Lassen Sie es Gedanke an, wir können fortfahren. Also nein, wir wissen, dass unsere Update-Operation funktioniert. Wir Art von Standard ich einige von diesen Logging-Nachrichten. Also werde ich nur zu meinen Autoren zurückverfolgen,
ähm, ähm, Update-Funktion auf mich, diese Änderungen und sehen Sie, das ist eine coole Sache. Wenn Sie es konsequent haben, können
Sie einfach kopieren und Frieden. Sie müssen sie nicht neu eingeben, also tippen Sie es richtig an einer Stelle auf. Dann können Sie einfach kopieren und Frieden über alle Ihre anderen und Punkte auf Ihre Lieben
kommen sauber aussehen. Onda Sehr verständlich für jeden, der sie jetzt durchsucht. Ich sagte, ich würde Ihnen ein neues Tool vorstellen, das Ihnen hilft, Ihre Protokolle auf ein wenig
effizientere Weise anzuzeigen . Ich denke, es sind effizientere Ergebnisse auf es ist wirklich,
ähm, aber ich werde Zeh sagen, dass es direkt nachdem ich diese Zeile kopiert habe, auf den Namen ist es nackter Schwanz, also können Sie auf ihre Website zu bekommen, indem Sie zu Bier gehen, Schwanz, Bier, Metall, soft dot com slash Bierschwanz Kunst. Und es gibt eine kostenlose Version, also werde ich einfach nicht wissen, die kostenlose Version auf. Es ist wirklich eine eigenständige Version für Windows. Es ist nur auf eine ausgeführte Datei und klicken
Sie darauf, Sie führen es aus und dann können Sie eine Datei auswählen. Also gehe ich auf, finde meine Protokolldatei, und wenn ich sie öffne, wird
es einfach diese Datei öffnen. Zeigen Sie mir alles, was in der Datei passiert ist. Es hat eine Option, die sein Follow-Schwanz ist. Wenn ein Feuer vermieden wird, wird
die Bewegung einfach weitergehen. Also, was ich tun werde, ist zurück in Debug zu gehen, festgemacht,
auf einem P. zu Ich rufe an, und ich werde Ihnen nur zeigen, wie sich die Liebesdatei im Bierschwanz bewegt. In Ordnung, also habe ich Bierschwanz auf der einen Seite auf Die, habe Postbote auf einer anderen, sagte, sagte,
ich werde hier nur etwas kleiner machen,
dann schau dir einfach das ganze Bier an, bis ich mich benimmt, wenn ich ein paar mache AP Ich weil ich nur ein paar Anrufe tätige,
Ähm, Ähm, ein geknackt über das Brett, nur klicken und klicken und schauen, wie Bertil bewegt. Vielleicht bewegt sich die Maschine ein bisschen langsam, also weißt du, dass sie nicht so sauber ist, wie sie aussehen sollte. Aber das ist im Wesentlichen, was Bertier auf den Tisch bringt. Also ist es gut für Trainingsperioden , wissen
Sie, in Echtzeit, wenn Sie genau sehen müssen, was passiert, wenn es passiert, wo es passiert. Und dann gibt es Ihnen Hervorhebungen, damit Sie tatsächlich etwas tun können, wie Sie nach
dem Zeichenfolgenfehler suchen können . Ich denke, ich könnte die Groß- und Kleinschreibung ignorieren, aber dann möchte ich hervorheben oder zumindest den gesamten Ära Text lesen lassen. Also,
dann denke ich, OK, OK, und dann siehst du jede Zeile mit dem Wort Fehler rot hervorgehoben wird, so dass ich zumindest sehen kann, wo die Fehler sind. Das Militär ist ein wirklich cooles Überwachungswerkzeug. Wie ich schon sagte, weiß
nur, dass es leicht ist, also weißt du, dass es einfach ist. Oh, bis Sie Hilfe bei ihren Debugging-Aktivitäten erhalten, während Sie
28. Bücher: Entwerfen des Endpoint: Willkommen zurück, Leute. Industrie. Sie wollten den Löschendpunkt für die Bücher deaktivieren. Nein, was ich dich herausfordere, ist eine Pause. Minimieren Sie dann dieses Video, wenn Sie versuchen, diesen Endpunkt für sich selbst zu erstellen. Alles klar, Sie haben bereits ein paar Endpunkte, die wir erstellt haben. Sie haben bereits die Autoren Controller mit einem Löschmethoden herausfordern Sie die Spas Video minimieren auf. Versucht, sich selbst. Ich habe es schon getan. Also werde ich dich wirklich nur durch sie führen. Also weißt du, nachdem du fertig bist und du wahrscheinlich wieder aufgenommen hast, oder? Nein. Also werde ich nur sagen, dass wir alle Arbeiten zusammen überprüfen können. Also, wenn Sie etwas anderes haben, als Sie es gegen mein Problem finanzieren können. Also begann ich mit meiner Zusammenfassung Ruhe vom Kurs. Ein Buch von i d. Der Parameter gibt zurück. Ich habe das leer gelassen. Ich setze mein entsprechendes Verb auf. Wussten Sie das? Ich erwarte eine Genehmigung,
äh off i d oder genannt Idee. Entschuldigung, ich habe alle meine Antwortkabel eingelegt, aber immer noch 104 404 04 und 500 an. Dann ging ich voran und erstellt meine synchrone Funktion aus Aufgabe Ich tatsächliche Ergebnisse genannt Elite mit meinem Umfang in Thai de Ich erklärte meinen Standort, weil wir natürlich das für die
Anmeldung brauchen , dann meinen Versuch und Caps von Kurs Der Fang sieht genauso aus wie es sieht in jeder anderen Aktion wirklich und wirklich, so dass sollte der einfache Streben sein, um weiterzumachen. Ich habe meine längere Punkteinloggen, um zu sagen, dass Lead mit Idee versucht hat, dass alles in
Ordnung auf dso Wie
ich diese längeren Nachrichten baue , merke ich, dass das Verb ege wegen standardisierter Sprache über alle Arten von Operationen. Also versuchte der Lead mit Idee, dass in den Opiaten Update versucht haben, auf Protokoll mit I D, dass auf. Ich denke, ich habe so etwas auf dem gut, das ist versucht Auto, also sollte ich sagen, auf Akte mit versucht werden. Aber der Punkt ist, dass ich das Verb irgendwie standardisiere. Es ist eine Art von Zusammenstellung wie, ah, eine Vorlage für Anruf. Also, wenn du das Gefühl hast, dich zu wiederholen, bist du wahrscheinlich dran. Es gibt ein Prinzip in der Programmierung, das trocken genannt wird. Wiederholen Sie sich nicht. Also, wenn Sie so fühlen, fordere ich Sie auf, eine andere Abstraktion zu erstellen, die wahrscheinlich länger sind, wie einige standardisierte Vorlagen und einen Weg finden, um die spezifischen Teile
von dieser Log-Nachricht dynamisch zu paschen , die sein sollte einzigartig. Also dieser sagt, Löschversuch beim fairen Löschen ist fehlgeschlagen. Ähm, dann, Nun, das hier ist Standard beim Löschen fehlgeschlagen. Aber dann, wenn Sie in das Update schauen, ist
es der gleiche Burbage, den ich buchstäblich nur kopiert und alle diese Nachrichten aus den
Updates auf Kerl eingefügt habe. Legen Sie sie dort und ersetzen Sie das Wort, wenn auch mit Löschen auf. Dann habe
ich das Gleiche im Controller des Autors gemacht. Wo ist das gleiche Verb e ege? Siehst du, ich wiederhole mich nur. Nein. Also, wenn ich einen anderen Controller habe, wird das gleiche Verb es sein und ich würde es jemals wieder
selbst schlagen . Also fordere ich Sie auf, ein weiteres Hindernis für die Protokollierung zu schaffen reduziert die Wiederholung oder die Menge der statischen Daten, die über mehrere Punkte wiederholt wird. Jedes Loch. Lassen Sie uns weiter durch unsere Löschung suchen. Also lösche versucht. Wir prüfen, ob das I d ein ungültiger Wert am Tag ist. Wenn es so ist, dann sagen wir, dass es gescheitert ist und wir kehrten zurück. Aber Anfragen, wenn es überprüft, ob es existiert, und wenn es nicht existiert, dann protokollieren wir eine Warnung, um zu sagen, dass wir diesen Datensatz abrufen möchten. Dann gehen wir weiter, um tatsächlich weiterzumachen. Ich kopierte und klebte aus dem Autor um, nur aktualisierte dies schnell. So sehen Sie,
siehe , Ihre Taten werden die Welt finden, die ich vom Autor kopiert habe, löschen. Also, wenn Sie manuell mit Gedanken gesprochen haben, oder Sie es über kopiert und ändern, so dann ist das perfekt. Kein Problem. Kopieren und Einfügen ist Programmierer, bester Freund. Also das Buch, das ich angerufen
habe, benutze ich mein Buch-Repository. Dann habe ich nachgesehen. Wenn der Löschvorgang erfolgreich war, wenn dies nicht der Fall war, habe ich die 500 mit dem Speicherort und der Protokollmeldung zurückgegeben. Dann, wenn Sie dieses Feuer haben, dann sagte ich:
Nun, Nun, die Platte war erfolgreich,
gelöscht, gelöscht, und ich habe keine Inhalte zurückgegeben. Jetzt glaube ich, dass ich nur ein Buch in der Datenbank habe, aber ich werde immer noch weitermachen, und ich werde mehr debuggen, als nur diesen Löschendpunkt zu testen. Also habe ich nackten Schwanz nach rechts und Postbote auf der linken Seite, und ich werde zuerst ein neues Buch erstellen. Also werde ich nur einen mit dem Titel erstellen. Mein zweites Buch, du kannst alles hineinlegen. Ich werde auch die ISBN ändern, also möchten Sie wahrscheinlich für einige einzigartige Das bewegt sich von der Datenbankseite . Wo zu arbeiten Schotten haben das gleiche. Ich spreche und schreibe so und wenn Sie klicken, senden Sie ein neues Buch erstellen, Ordnung. Und wir können in der Liebe Scheitern, die wir in vier Büchern sehen,
Erstellen Sie versucht auf Gottes Schöpfung war erfolgreich Und wenn Sie sich den Zeitstempel ansehen, können
Sie sehen, dass es beide sieben Sekunden dauerte, um das richtig zu machen, was freundlich ist lang. Aber das ist meine kleine Maschine. Würde es. Es sollte schnell auf einem Server sein, jedes Loch. Oh, bevor ich weitermache, ist
dieses Zeitstempel-Zeug wirklich gut, weil ich an einem Projekt gearbeitet habe. Einmal auf den Clients, die einen Webdienst angerufen haben, wurde Haute eingeschaltet. Sie sagten, dass der ganze Dienst schuld war. Aber als wir die Protokolle überprüft haben. Ich konnte den Unterschied zwischen oder den Zeitstempel aus sehen, wenn der Anruf aktiviert wurde Vergleich zum Zeitpunkt der Rückgabe von Daten auf. Sie sagten, es würde nach fünf Sekunden Zeit ausgehen, und wir drehten es innerhalb von Millisekunden. Dann hatten wir bewiesen, ihnen zu zeigen, dass das FBI sehr effizient war. Sie mussten ihr System überprüfen. Also das ist eine andere, wissen
Sie, Protokolle pünktlich. Stümpfe sind sehr, sehr wichtig. Die Entwickler. Wie auch immer, wir haben gerade ein weiteres Buch über die I erstellt D ist drei. Also werde ich nur dieses neu geschaffene Buch als Fluchtziege verwenden. Ich werde eine neue Anfrage auf Cime erstellen, um den Endpunkt hier zu kopieren. Andi, basierend auf, Ich werde sagen, dass der In-Punkt mit dem Wert drei darauf eine Löschoperation ist. Also klicke ich. Senden Andi Ich habe auf Fehler. Also, ich habe einen weiteren Vorfall, der hervorhebt, dass es eine Krankenschwester war. Also, nachdem wir fünf Sekunden versucht
hatten, versuchten wir die Spur mit 83 aufzunehmen, dann bekamen wir etwas Besetzung. Einige Kostenfehler sind also lassen Sie uns genau sehen, was diese Art Kostenfehler verursachen würde. Also möchte ich zurück zu meinem Löschendpunkt gehen und ich finde, indem ich d auf Ich sagte das Leadbuch. Ah, passiert die Typisierung? Ich muss vielleicht eine Bremse setzen. Ich werde einen Bruchpunkt setzen. Ich habe Teile von der Schnur an gemacht. Dann gehen wir zurück zu Postman. Dann werde ich nochmal schicken. Es ist ein Abnutzungs- oder Bruchpunkt auf. Ich würde wenn 11 verwenden, um Schritt. Also treten Sie ein, wir versuchen, das Buch zu finden, und ich möchte nur bestätigen, dass das drei ist. In Ordnung, dann bewegt er sich weiter. Onda gibt es die Ausnahme. Es kann also nicht abgerufen werden, weil es darin ist, dass man ein Double auf eins ist, ist eine Dezimalstelle. Also denke ich, dass dies ein Problem sein könnte. Vielleicht mit meiner Datenklasse. Lassen Sie mich nachsehen. In Ordnung. Also ging ich zurück zu meiner Datenbank und ich überprüfe das Design und ich sehe hier, wo der Preis
vom Datentyp Geld ist , das, wenn ich mich nicht irre, direkt die Dezimalzahl in C scharf übersetzt. Also, beim Erstellen meiner Datenklasse hatte
ich sie als doppelt und nicht dezimal definiert. Also haben sie diese Veränderung vorgenommen. Ich glaube also, dass hier die Ära eintritt. Also muss meine Datenklasse se dezimal und natürlich sein, wenn die Datenklassen dezimal als die entsprechenden Details auch Dezimal für den
Preis sagen müssen . In Ordnung, lass
mich das noch mal versuchen. Ordnung, einige zurück mit beiden Postboten Andi, meine Logg-Tour. Also werde ich klicken. Schicken Sie weiter. Mal sehen, was passiert. Wir haben Erfolg. In Ordnung, also sehen wir hier, die Elite wurde versucht. Es war erfolgreich. In Ordnung, das war
also das Problem. Sie müssen also sicherstellen, dass Ihre Datenbindungen für Ihre Datenklassen die besten C scharf sind. Ähm, Beta-Typen. Zu viel der entsprechende, um SQL Server-Datentyp. Richtig. Willst du Zeh? Sei sehr, sehr sicher, dass viel sein. Also haben wir mit dieser Operation nicht getestet? Nun, wir haben erstellt, getestet und keine validierte oder löschende Operation für unsere Bücher auf dso. Das war's.
29. Änderungen in GitHub: Willkommen zurück, Leute. In diesem Video werden
wir nur, wissen
Sie, überprüfen, was wir in diesem Abschnitt vom Kurs am Tag getan haben, überprüfen Sie unsere Änderungen, um aufzustehen . Also, was wir implementiert haben, wo die Crowd-Operationen sind, die Crowd-Funktionen in über einem Paar-Controller für unsere Bücher auf. Wir mussten in einigen Abhängigkeit zu nehmen ist sie initialisieren auf. Dann waren wir sicher, sehr streng mit oder Dokumentation zu sein, wie wir weitergingen. Wir standardisierten auch die Log-Meldungen so, dass wir den Ort kennen, also den Controller bei Aktion, dass das Protokoll von nun an ausgelöst wird. Dann verwenden wir diesen Standard, um auf unsere zuvor erstellten Autoren Controller anzuwenden, die wir getan haben , dass durch und durch implementiert sind Buch erhalten oder auf Update beim Löschen erstellen. Wir hatten auch ein wenig vermissen mit dem Löschen, wo der Datentyp viel fehlt, aber wir haben es gefangen, erstickt es im Keim, korrigiert es auf Nein, wir haben volle Beschwerden. Auch sah auf ein neues Werkzeug namens Bier Geschichte, die ich senkt uns Zehe besser Spur oder liebt. Und es kommt mit kleinen Dingen wie Hervorhebung und folgte hier, was es erlauben wird, zeigt automatisch, was die neueste Datei neuesten Zeilen in der
Protokolldatei sind jetzt nur geht aus diesem Kapitel, wir werden in unseren Änderungen überprüfen, um oben. Also werde ich nur die Lösungen leiten, die Goto begehen dann unsere Commit-Nachricht eingeben. In Ordnung, also ist das meine kleine Nachricht an mich, zu sagen, dass ich vorher Menschenmenge implementiert habe,
nicht aus einem Buch, das ich über standardisierte Log-Nachrichten kontrolliere. Also werde ich nur voran gehen und alle auf der Spüle begehen, um diese Änderungen zu pushen, um aufzustehen . Das war's. Das nächste Mal werden wir uns mit neuen Themen wie Sicherheit und Authentifizierung für mehr als P I beschäftigen
30. Tabellen in vorhandene Datenbank: Hey, Leute, willkommen zurück zu seiner Mission ist es, die Identitätstabellen in unsere
Datenbienen zu bauen. Lassen Sie mich das erklären. Ein wenig Gerüst bezieht sich auf den Prozess, durch den wir Sauerstoff. Alles ist in Ordnung. Dann, wenn ich Identitätstabellen sagte, was ich wirklich gemeint habe, wo die Tabellen, die Punktnetze Kern oder Dotnet, Entität, Framework oder Core-Identität gibt. So viele. Also dieses Ding. Sie kommen jedoch mit einigen standardmäßigen integrierten Tabellen, die die Benutzerauthentifizierung unterstützen. Und das ist, wenn wir unser Projekt erstellen und ich wählte die Rasierschablone auf, dann wählte ich, dass ich Authentifizierung mit einzelnen Kegel wollte. Es beinhaltete automatisch Konfigurationen und die Funktionen dafür. So würden einige der Konfigurationen wirklich am Anfang der Nazi-Datei auf trotzen gefunden werden. Geschraubt Nicht. Ich werde hier sehen,
das ist, dass wir die Aufregung haben, Authentifizierung zu verwenden und Autorisierung auf im
Bereich Dienste zu verwenden. Es ging voran und fügte Standardidentität für eine generische Klasse namens Identity User hinzu. Und dann haben wir einige Optionen hier, wo wir sehen können, ob wir Zehe wollen, ah erfordern eine Kegel Funktion in unserem Anmeldeprozess
bestätigt. Ich werde das nur entfernen. Also, was das tun wird, ist diese Art von zweistufiger Registrierung. Weißt du, wenn sich jemand anmeldet und in ihre E-Mail gehen muss, um sie zu bestätigen . Wir brauchen diesen jemand nicht, um diese Option zu entfernen. Was uns also bleibt, ist nur eine Standardidentität mit dieser generischen Klasse, die
die Benutzerklasse darstellt , die uns von der Kernidentität gegeben wird, sowie welche Datenbank welcher DB-Kontext . Es sollte sich auf die gespeicherten Identitätstabellen stützen. Jetzt hätte all das nach der Tatsache hinzugefügt werden können, denn wieder, die Startups, die CS-Datei ist ziemlich gleich, unabhängig von der Vorlage, die Sie wählen, ist
es einfach so gut, wir haben eine Vorlage, bekam etwas davon wirklich entfernt, was wir nicht wollten und wir sind sowieso am selben Ort. Also, was wir jetzt tun werden, ist ah, abgescheuert. Die Tabellen, die für Identitätsbenutzer erforderlich sind, haben einen bestimmten Zweck. Wir werden sie im Schlepptau degenerieren. Unsere Datenbank, die Telefon im Anwendungs-DB-Kontext ist, die mit der Standard-Verbindungszeichenfolge konfiguriert wird, die wir wissen, zeigt auf die Datenbank, die wir an einem Plan gearbeitet haben zu wissen. Also werde ich nur die Blutfänge retten. CS-Datei darauf. Ich möchte Ihre Aufmerksamkeit auf Data Ordner Migrations Ordner und dann diese Datei mit all diesen Nullen lenken. Nein, das ist es, was Sie eine Migrationsdatei in das Framework nennen, dass diejenigen, die wir Migrationen nennen, bei denen sie jede Änderung, die gegen die Datenbank vorgenommen wird, durchgestrichen wird. Dann wird es automatisch von diesen Änderungen rollen. So neigt es dazu,
eine Geschichte aller Veränderungen zu behalten , . Nun, das ist in der Regel nützlicher, wenn Sie ah Gericht ersten Ansatz haben. In dieser Situation haben
wir keinen ersten Gerichtsansatz. Wir bauen zuerst die Datenbank. Unsere Datenbank existiert also auf dem, was wir tun wollen, ist die Datenbank zu ändern. Nicht, ähm,
nicht, indem Sie in das Datenbanksystem gehen und Tabellen hinzufügen, die für die Authentifizierung verwendet werden, sondern
zu verschiedenen Arbeiten verwenden , um die vorhandene Datenbank zu ändern. Was wir also tun werden, ist, dass wir nach einer Paket-Manager-Konsole suchen. Wenn Sie
also nicht wissen, wo das ist, können
Sie Fuß gehen. Ich glaube, es ist in Tools auf neuen get package manager und Sie sehen ihren Paketmanager? Konsul, sobald Sie das verlassen haben, Ah, Konsole. Wenn Sie wie eine Eingabeaufforderung aussehen, werden Sie nach einigen Befehlen gefragt. Nun, was wir tun werden, ist einen Befehl auszuführen, der die Datenbank sagt. So ziemlich weit von den Daten bedeutet, wird sagen, was ist die neueste, ähm,
Migration, die nicht auf dann 10 auf Go ahead und bewirkt es. Oder besser gesagt, die neuesten ausgeführten Migrationen, Aber in diesem Fall wird eine haben. Also, wenn Sie lernen möchten, wie man mit dem ersten Ansatz des Gerichts und Migrationen entwickelt, dann können Sie meinen Kurs komplette sp dot net core 3.1 über Entity Framework
Entwicklung in diesem Kurs vor Ende zu Ende überprüfen , Aufbau einer Datenbank Gericht zuerst auf einen Antrag, damit zu gehen. Deckung in unserem Kontext. Nein, wir haben bereits eine Datenbank, und wir wollen wirklich nur, dass die Identitätstabellen in diese Datenbank gelangen. Also haben wir schon unsere einige, die ich zustimme, Sohn. Andi,
ich habe meine Paket-Monitor-Konsole, also werde ich nur den Befehl update dash database
eingeben und dann, wenn ich gedrückt habe, Enter wird unsere Projekte bauen, die eine Weile dauern könnten. Dann wird es weitergehen, und dann wird es einfach sagen, dass es nicht weiß, dass dies eine Warnung ist. Es sagt mir nur, dass ich keinen Typ oder viel in bitterem Typ für den Spaltenpreis in meiner
Datenbank habe . Aber wenn Sie gelb sehen, können
Sie die Warnung lesen. Es kann nützlich sein. Vielleicht ist es das nicht. Alles aus, was bedeutet, dass du besorgt bist. Das ist nichts von großer Sorge. Wenn Sie
jedoch rot
sehen, rot
sehen, dann wissen Sie, dass wir einen Fehler haben. Möglicherweise möchten Sie nur Ihre Verbindungszeichenfolge überprüfen und sicherstellen, dass in Bezug auf die Migrationsdateien nichts
geändert wurde . Darauf sind
Ihre Tische in gekrönt und abseits natürlich. Wenn Sie Schwierigkeiten haben, können
Sie mich jetzt immer kontaktieren, wenn ich in mein Managementstudio gehe und meine
Datenbank überprüfen . Wenn Sie sich erinnern, hatten
wir wirklich nur zwei Tische mit Autoren und Büchern. Nein, wir haben einige weitere Tabellen haben .net Rollen, wo Sorry SP Net Rules und Rule Ansprüche und Benutzer Benutzer Ansprüche Benutzer Benutzer Anmeldung SB-Benutzer auf allen Arten von Tabellen, die Art der Unterstützung, dass Identitätsfunktionalität, die in tow kommt Punkt-Netzkern Also werde ich mir nur etwas Zeit nehmen. Ich schaue in der ESPN, dass Benutzer stabil. Ich werde nur das Design aufzeigen,
und das sind die Standarddatenpunkte, die mit ihm kommen. Also haben wir die i. D. Benutzername normalisieren. Verwenden Sie den Namen E-Mail und normalisieren Sie E-Mail. E-Mail bestätigt. Das ist ein bisschen zu sagen, ja oder nein auf der Option, wo, wir sagten, erfordern Bestätigung. Melden Sie sich an, dass ich entfernt hatte. Was das getan hätte, war, sich dieses Stück anzusehen. Wenn dieses Bit also nein sagt, dann wäre eine Person nicht in der Lage, sich einzuloggen. Aber da es seit den Behinderten ist, spielt es keine Rolle, oder? Was also passiert wäre, ist, dass, wenn Sie auf den Link klicken, um ihn zu bestätigen, er sich geändert hätte. Dieser große Zeh. E-Mail bestätigt, ist ja, und dann wären Sie in der Lage, sich anzumelden, so dass alle diese kleinen Funktionen sind in Ordnung gebaut , Sie haben nicht gesperrt 02 kann Zwei-Faktor-Authentifizierung aktivieren. Wunderbare, wunderbare Features alt aus der Box. Das ist
jedoch jedoch Abschluss unserer Mission für heute. Im nächsten Video werden
wir uns mit der Einrichtung einiger Standardbenutzer und Standardregeln in unserer Anwendung beschäftigen
31. Seed und Rollen: Hey, Leute, willkommen zurück. Wir haben nur Sachen gefaltet unsere Identitätstabellen auf wissen, was wir tun werden, ist Seed einige Benutzer und Regeln. Wenn wir also über Seeding sprechen, geht es nur darum,
einige Proben in die Datenbank einzufügen,so dass , wir nicht durch das Geld gehen oder sie abwickeln müssen. Wir wollen also nur einige Benutzer, denn wenn wir unsere Benutzerauthentifizierung einrichten, müssen
wir wissen, warum Benutzer bereits dort sind, damit wir fortfahren können. Also möchte ich damit beginnen, eine Datei namens Seed Data zu erstellen, und es wird nur zwei Funktionen für uns enthalten. Also werde ich das einfach in meinen Datenordner legen. Ich meine, wir könnten den Regelzeitpunkt einfach in den Datenordner setzen. Also habe ich einfach mit der rechten Maustaste geklickt, ich würde zum Unterricht gehen, dann nenne ich es Seed. Es ist eingeschaltet, dann wird dies eine öffentliche statische Klasse von statisch sein,
bedeutet, dann wird dies eine öffentliche statische Klasse von statisch sein,
bedeutet,dass ich nicht jedes Mal eine Instanz daraus erstellen muss. Ich kann nur zerebral, dass ich einfach die Funktionen aufrufen kann, die dort nach Belieben sind. In Ordnung, jemand Zehe hat zwei Funktionen, die ich habe private statische Vermeiden Sie, dass
dieser Seed-Benutzer sein wird , und ich werde Ihnen nur die leeren Muscheln zuerst geben. Und dann ging ich auf Mutter eine, die Saatregeln sieht. Ich verwende das einfach wieder. Alles in Ordnung Saatregeln. Kein CD-Benutzer wird einen Parameter übernehmen. Dieser Parameter wird Benutzermanager sein. Ordnung, InOrdnung,
also verwenden Sie ihren Manager ist eine eingebaute Klasse, die uns Funktionalität gibt, die buchstäblich zu verwalten. Ihre Ängste sind für Benutzer. Wissen Sie, wir können bestimmte Dinge auf bestimmte eingebaute Funktionen zugreifen, und wir werden sehen, wie wir weitergehen. Also, Benutzer-Manager auf der Standard-Identitätsklassen Identitätsbenutzer. Nein, die Sache ist, Sie können mehr als eine Identitätsklassen haben. , Das ist,dass ich nicht zu tief in die Identität eingehen will. Und der Unterschied ist zumindest noch nicht. Aber wenn du deinen Mantel bekommen willst, vervollständigt
mein anderer Kurs SB dot net core 3.1. Die Entwicklung auf DIT wird Ihnen all das erklären. Also verwenden wir die Standardidentität, wenn wir diesen Parameter-Benutzer-Manager aufrufen, dann für die Regeln, Formulare und ich verwende Roll Manager. Das ist also die Rolle Zwilling. Also der Benutzer-Manager auf, wir verwenden die Standardidentität, die Identitätsrolle Eltern ist. Und ich rufe diesen One Roll Manager kurz an. Nein. Als ich beginne, von den Regeln zu sitzen, kam
es mir in den Sinn, dass ich keine Konfiguration für die Regeln gesehen habe oder begonnen habe. Lass mich einfach wieder weitermachen. Sieh mal an. Mein Verdacht ist richtig. Was passiert, ist, dass Sie beim Hinzufügen der Standardidentität auch eine Rose hinzufügen können. Ich gehe nur, um die Leitung dorthin zu bringen. So fügen wir die Standardidentität hinzu, dass ich die Linie atme, die ich sagen möchte Punkte, Anzeigenregeln. In Ordnung. Und dann sage ich, dass ich die Standardwerte will, was Identitätsregel ist. Na gut, dann
weiter. Offene Knöchel. Breece. Gut. Also genau hier sagen, dass wir die Standardidentität verwenden wollen, und wir wollen Rollen in unserer Anwendung verwenden, und all das sollte auf Anwendung Schönheitswettbewerb gespeichert werden. In Ordnung, also war das nur ein wenig fehlende Konfiguration, die sicherstellt, dass es da ist, bevor wir fortfahren . Also, jetzt schaffen wir eine andere Funktion, und ich werde es jemanden nennen, der von öffentlichen Störungen in große öffentliche statische
Leere sehen kann, dann Samen auf. Dann wird Seed zwei Parameter annehmen, die ziemlich identisch mit denen sind, die wir gerade eingerichtet haben. Also habe ich eine Erlaubnis. Er rief User Manager Onda Parameter Für den Regel-Manager auf all dies wird sinnvoll genug Sie, wenn Sie sehen, dass Schuss voller Song-Anruf. Richtig. Also das ist gut, das ist
zumindest unser Saatskelett Gaeta . Nachdem Sie also ein öffentliches zu privates auf das, was wir innerhalb der Öffentlichkeit tun werden, funktioniert , wird
man nur die zwei privaten genannt. Also werde ich anfangen, indem ich die Regeln aussate, die ich in das übergebe. Der Rollenmanager, der es mit einem Telefonanruf durchgab. Dann ging ich, um die Benutzer zu ernten. Alles klar auf diesem ist genommen. Der Benutzer-Manager. Alles klar, wenn wir
also Seed Data Seed aufrufen, wird
es Ciros und Seed-Benutzer nennen. Lassen Sie uns also mit den Regeln beginnen. Was wir also tun wollen, ist zu überprüfen, ob eine Rolle bereits vorhanden ist. Wenn nicht, dann machen wir voran und erstellen die Rolle. Nein, diese Aussage wird uns davon abhalten, dass wir jedes Mal, wenn die Anwendung
startet, gut sind , weil Sie nicht mehr als ein Weihrauch aus einer bestimmten Regel erstellen wollen, richtig? Also, was ich tun werde, ist auf dieser Aussage sagen, ob und dann hier ist, wo wir die Polar von diesen Manager-Objekten auf was zu sagen. Wenn Regelmanager Punkte auf, dann kann ich sagen, brüllen existiert eine Spüle. Richtig? Aber dann ist es,
ähm, ähm, das ist eine Spüle, richtig? Also haben wir zwei Optionen, die ich entweder sehen kann weiter auf und überprüfen Sie auf einer Schärfe Administratoren die Regel, die wir überprüfen wollen. Darauf könnte ich Dr. Results sagen. Richtig. Was passiert, ist, dass, wenn Sie anrufen und jagen Funktion auf, haben Sie
nicht die weg, um immer gesagt, dass Ergebnisse? Nein. Da ich die Möglichkeit habe, es zu denken, werde ich es ausschreiben, und dann werde ich versuchen, zurück zu gehen und dann alle diese Funktionen in alles umzuwandeln was eine coole Übung wäre, richtig? Jemand, der es auf eine nicht scheuernde Weise zuerst schreibt, richtig? Also sage ich, wenn der Regelmanager überprüft, ob die Administratorrolle nicht
existiert , dann möchte ich erklären, dass unsere Rolle gleich der neuen Identitätsrolle ist. Rechts dann, innerhalb dieser Regel, ich wirklich nur wollen sagen, dass der Name gleich Administrator ist. Oder so initialisieren oder erstellen Sie einfach auf Objekt, dafür ist unsere Rolle auf. Dann werde ich sagen,
ähm, ähm, Balkenergebnisse. Und dann ist hier eine andere Situation. Wissen, wo ich gezwungen bin, eine Variable zu verwenden, weil Roll-Manager keine Senke erstellen, so dass so wie man eine Senke erstellen und dann bin ich mit der College-Rolle. Aber dann muss ich sagen, dass Ergebnisse, um damit davonzukommen und dann wirklich, dass Ergebnisse nicht wirklich viel richtig sind, weil ich es nirgendwo benutze. Nein. Bevor ich weitermache, werde
ich diese Lockerung konvertieren, so dass es ziemlich viel über den Faktor nimmt,
weil, denken Sie
daran, daran, ich kann nicht auf eine Sing-Funktion von unbekannter Lockerung Funktion aufrufen. Also, wenn ich das zu dir ändere, denken Sie, als viele Änderungen meine verschärfte in erscheinen. Aber, hey, dafür sind wir hier, oder? Also lasst uns das einfach schnell machen. Um sich zu treffen, zu vermeiden , Funktion, denken
Sie, dass Sie es in eine Aufgabe verwandeln müssen, richtig? Und dann, natürlich haben Sie das. Er denkt, dass es öffentlich mit statischer Aufgabe konfrontiert ist. Was ist mit dem Funktionsnamen dann? Sie sehen hier, dass es sagt, dass Sie eine Aufgabe haben, aber alles andere ist kein synchron jemand, um die Ergebnisse des Arztes zu entfernen. Und dann werde ich sehen, ob es nicht weg ist. In Ordnung. Sieht gut aus. Bisher. Also, wenn nicht warten, weil denken Sie daran, das ist alles. Das bedeutet, dass ich dasselbe tun kann. Nicht hier, Anstatt vier Ergebnis zu sehen, kann
ich einfach sagen, weg es auf dann nehmen Sie die Punkte. Ergebnisse. Alles klar, das sieht ein bisschen sauberer aus. Würde mehr. Es ist in Kernen in der Gesamtheit. Gleich dran. - Natürlich. Ich habe das Telefon gemacht. Sean nannte Secede Regeln. Wir brauchen hier einen Weg. Wann? Wenn wir hier warten, bedeutet
das, dass ich das in eine Aufgabe umwandeln muss oder so auf Distanz. Lee ist sinken. In Ordnung, also haben wir gerade eine asynchrone Nonne Funktion in ein asynchrones On umgewandelt, also habe ich die Zeile gebracht, damit sie hier nicht vom Bildschirm geht, richtig? Also
nein, nein, alles hier ist asynchron. Ich mache das einfach damit auch, ich lasse die statische, die statische geht nicht. Ich habe gerade das Schlüsselwort eine Spüle und ändere Leere zu Aufgabe. In Ordnung. Und dann natürlich. Wenn es eine Aufgabe ist, dann warte ich auf die Ergebnisse vom Telefon. Sean Auto? Nein. Bevor ich mit Seed-Benutzern fortfahre,werde
ich hier zwei Regeln erstellen,
also habe ich eine Administratorrolle. Bevor ich mit Seed-Benutzern fortfahre, werde
ich hier zwei Regeln erstellen, Aber dann ist das ein Buchladen. Es ist also eine Online-Buchhandlung. Wir haben Administratoren, die in der Lage sein sollten, zu gehen und tun ich aktuelle Operationen auf die Bücher und Autoren auf Mai Kunden, die in der Lage sein, sich einloggen und wahrscheinlich, Sie wissen, durch ein Buch off Argument. Sehen? Also will ich noch einen, der Kosteneigentümer sagt. In Ordnung, also existiert diese Rolle. Ein Waschbecken ist. Sie sagen, wenn diese Rolle in ihm nicht existiert, sind diese Überprüfung eher verwendet. Wenn dieser Rollenname nicht vorhanden ist, erstellen Sie eine Identitätsrolle. , Andi erstellt ein Objekt und erstellt dann den Datensatz im Detail. Bienen. In Ordnung, also nein. Wenn zurücktreten Rollen, wird
es versuchen, diese beiden Rollen auf dem auf jedes Mal zu erstellen, wenn es läuft. Aber natürlich, wenn es schon da ist, wird
es nichts richtig machen, was genau das ist, was wir wollen. Also haben wir es getan. Der Samen entstand. Also konzentrieren wir uns auf die Benutzer keine Noto erstellen die Benutzer. Ich werde mit einem ähnlichen if-Anweisungen beginnen, wenn wir sagen, ob Benutzer-Manager Also das ist nein, wir werden uns einige der Dichter des Benutzer-Managers Punkt Get Benutzer ansehen. Nun, ich brauche die Benutzer nicht in Reihe. Ich kann nach Namen suchen, oder? Was ich also nicht tun möchte, kann ich meine E-Mail finden. Ich beschränkte mich durch die Idee, indem ich mich einloggen kann ich mit dem Namen alles in Ordnung finden,
und alle von ihnen aus sind asynchron etwas, wenn nicht weg es nach Namen finden Benutzer Geld fand nicht beim Namen ein Waschbecken auf. Sagen wir einfach, ich habe ah, Benutzer. Um dann Name hier wäre der Benutzername, so dass wir gehen können meinen Namen finden oder wir können gehen, finden Sie per E-Mail Remedios E-Mail Also möchte ich sagen, wenn nicht, verwenden Sie es auf Fusion, die per E-Mail zu finden und ich werde einen Standard hinzufügen Mittelwert bei Das ist ein Buchhandlung. Nicht kommen Das ist unsere Standard-E-Mail-Adresse, richtig? Oh, tut mir leid, ich wurde mitreißen. Dies überprüft also nicht, ob es existiert. Das versucht, jemanden so ein Objekt zu finden. Es erwartet also, etwas zurückzugeben. Also, was ich tun will, ist zu überprüfen, ob es nicht mein Rücken ist. Also ist es kein nicht, es ist kein Tyrann. Und zu sagen, wenn es nicht angerufen wird, wartet auf die Ergebnisse der Funktion. Andi, entweder findet ein Reifen nicht und wenn er ihn findet, dann wird es nicht nein sein. Also, wenn es nein ist, dann möchten Sie einen Benutzer auf erstellen. Dann ging ich, um einen Benutzer vom Typ Identitätsbenutzer zu erstellen. Da das unser Standardbenutzer ist, den wir auf verwenden, dann müssen wir diesen Benutzer und Benutzernamen Andi auf e-Mahlzeit geben. Zumindest brauchen
wir diese Sanderson, um den mit ihm Admin anzurufen. Ich werde die E-Mail senden, um die gleiche E-Mail zu sein, die ich gerade überprüft habe. Wenn ich also namentlich gefunden hätte, dass ich mir sagen könnte, und wenn ich das EMI von uns gewählt hätte, gibt
es so viele Möglichkeiten, diese Sache zu tun, dass es kein Recht gibt, oder ich bringe einfach unsere eigene. Die Versicherung der Welt, dass es viele Möglichkeiten gibt, Richtig? Also sehe ich nur, dass vier Benutzer dieses Benutzerobjekt erstellen, das aktiviert ist. Dann werden wir sagen, weg seine Benutzer-Manager Docks erstellt hier singen Und dann möchte ich diesen Benutzer mit dem Passwort
erstellen, richtig? Wenn Sie sich diese Funktion ansehen, sind
die Funktionsdefinitionen die Overlords. Sie sehen, dass Sie die Identität haben, ihre Objekte
verwenden und Sie können auch ein Zeichenfolgenkennwort übergeben. Also das Passwort ist irgendwie streng Jemand nur ap bei Wissenschaft S S W O R D Sie wollen, damit er die Pastorenpolitik
ändern kann , wenn Sie einfacher sein wollten, aber ich werde es verlassen, weil das sieht aus wie eine schöne, anständige Politik, wo Sie müssen haben ein Symbol. Ich muss eine Nummer auf dem Großbuchstaben darauf haben, muss ein Mindestleben erfüllen. In Ordnung, das ist
also ein schöner, sicherer Weg Zeh. Erzwingen Sie die Sicherheit Ihrer Benutzer. Nein, ich werde zuweisen. Dies wird also
tatsächlich einen Wert zurückgeben . Richtig. Was ich also tun werde, um unsere Ergebnisse zu retten, ist die gleiche Zehe. Ich warte
, dieser Anruf? Nein. Wenn ich das Ergebnis erhalte, werde
ich sehen, ob die Ergebnisse angedockt sind. Dann werde ich eine Flagge zu sehen, es war erfolgreich sind verrückt. Also, wenn es erfolgreich war, als ich sagen möchte, User Manager, das ist seltsam zu rollen. In Ordnung, also kann ich wissen, dass ich einen Benutzer erstellt habe, der Zehe Rolle hinzufügt. Also möchte ich sagen, dass ich Benutzer die Rolle beim Administrator hinzufügen möchte. Also nein,
verstehst du, warum wir die Regeln sehen, bevor wir Nutzer abtreten? Denn wenn Sie hier sind, gibt es
diese Regel am meisten, damit dieser Schritt erfolgreich ist, und das ist eine Sache. Also warte
dann drauf . Da gehen wir. Also haben wir das gerade mit dem Admin-Benutzer gemacht? Nein, wenn ich einen Musterkunden wollte , dann mache
ich das Gleiche hier. Ich werde nur diese Aussage annehmen. Ich werde sagen, Kunde, das kann gmail dot com sein. In Ordnung, auf. Ich werde Toe ad Kunden ein etwas, das Sie wahrscheinlich wie eine schöne vor
Schleife geschrieben haben könnte . Und das hast du in einen toskanischen Kapitän gesteckt. Jedes Mal acht auf eine Zahl. Jetzt kann ich Sie warnen, dass es sehr streng ist. Also, wenn Sie Kunden zweimal gut sehen, ich meine, es überprüft, ob Kunden so kann es nicht die an Kunden mit der gleichen E-Mail nach Streik. Also sehen wir den Admin hier. Dann erstelle ich einen Kunden bei gmail dot com. Verwenden Sie den Namen Kunde eins bei gmail dot com. Gleiches Passwort. Ich sah es immer betrügen. habe ich kein Problem. Aber dann wird die Regel Kunde sein, denn das ist die andere Regel mit dieser Mähne und Art des Kunden, richtig, also haben wir unseren ersten Kunden, und dann werde ich einfach einen anderen sehen. Und dann wird dieser Kunde Kunde sein. Besichtigen Sie das Kunden-Tool bei gmail dot com. Benutzername ist
auch Kunde . Auf der E-Mail ist Kundenspitze bei genia dot com. Auf. Wieder einmal diese Regel Kunden. Jeder wird den gleichen Passanten haben, also wird es für uns leicht sein, wie jeder zu jedem Zeitpunkt zu protokollieren. Also noch einmal. Dies sind die Beispiele, so dass, wenn ich beim nächsten Mal mehr entlarven werde, sie automatisch erstellt werden. In Ordnung, also nein, wir haben das schwere Heben gemacht. Wir müssen nur das Startup Nazi s wissen lassen, dass es braucht, um diese Anwendung auszuführen sind Sorry diese erzielte, wenn die Anwendung startet. Richtig? Also im Conficker, mein Gedanke richtig, werde
ich einfach unter die Chorpolitik setzen. Das ist ein guter Ort. Ich wollte in die Formation setzen. Ruf Zeh an. Siehe Datenpunkt-Seed. Gleich drauf. Ich glaube, Samen ist ein Waschbecken, aber bevor wir uns fragen, ob es ein Waschbecken ist oder nicht Nun, ein größeres Problem. Wir müssen User Manager und Road Manager einbeziehen. Also, was passiert, die beabsichtigten, in diesen Objekten zu übergeben? Aber sie kommen nicht rein. Sie existieren nicht im Bereich von configure. Also muss ich sie hinzufügen, die Conficker Umfang sind die Permata-Liste, so dass sie kommen aus. Also werde ich nur die Grenze brechen, damit ich nicht nach rechts abfeuern kann. Dann werde ich den Benutzer-Manager in der Vergangenheit in Identity Benutzer auf sehen. Wir rufen diesen einen User Manager an. Dann machen wir dasselbe mit der Regel des Managers. Ich habe hier oder aan den nicht darüber herrscht. Dieser ist Regelmonitor. Also nein, wir haben unsere Verwendung. Ein Manager und Roll Manager Objekte kommen in dann. Also siehst du, wenn ich ein Gewicht anziehe,
alles, was alles durcheinander bringen wird, weil ich unser Gewicht nicht ohne eine
Spüle sagen kann , also könnte das ein Problem sein, richtig? Das ist also eines dieser Dinge, wenn es um asynchrone Programmierung geht,
dass ,
dass wir vorsichtig sein müssen. Also, anstatt ihr Gewicht vor, werde
ich nur einen Arzt Gewicht am Ende sehen. Das ist also ein weiterer kleiner Arbeiter im Besitz. Wo also ein Testament ist, gibt es einen Weg. Lassen Sie uns also ausführen und sehen, ob unsere Daten in unsere Datenbank eingefügt werden. In Ordnung, also habe ich ausgeführt und bekomme diesen Fehler, und ich denke, dass dies auf einen Rechtschreibfehler zurückzuführen ist. Wenn Sie sich die gesamte Administrator geschrieben wird, ist
das völlig falsch. Also lassen Sie mich einfach zurückgehen und es korrigieren, also Sie wahrscheinlich, wenn Sie ein besserer Speller sind als ich. Ich, ähm Sie haben diese Ära nicht bekommen, also lassen Sie mich einfach zurückgehen und sicherstellen, dass der Irak die Meanness Street hat oder nicht zumindest, was auch immer das war. Das tut mir leid. Das ist schon wieder. Ordnung, diesmal bin ich
so weit gekommen, die Dokumentation zu laden. Also werde ich zurück zu meiner Datenbank gehen, meinen SP in seiner Benutzerstabilität
hineinschauen, 1000
auswählen und dort habe ich meine drei Benutzer. So wird ah Benutzerdatensatz aussehen. Und Identität, richtig? Die Idee ist nicht Herbst belastend ist wie das, was wir eingerichtet seine ah guo i d.
Wert. Wir haben den Benutzernamen auf, die normalisiert ist die E-Mail, die normalisiert ist. So Normalisierung ist, als ob sie einfach alles kapitalisieren und viel Schmutz machen, so dass das Gehäuse am Tag irrelevant
ist. Geben Sie uns einen Passwort-Hash, damit all diese Dinge eingebaut sind. Sie müssen keine Zeit damit verbringen, das Passwort zu hashen, die Sie in das System stecken. Es tut es für Sie gibt Ihre Sicherheit und Konferenzsystem Onda. Wir haben die Notwendigkeit für bestimmte Funktionen deaktiviert, aber ja, das ist, was das bedeutet. Unsere Benutzer wurden erstellt und wenn ich zu Regeln gehe, müssten Regeln erstellt werden, damit die Benutzer erstellt werden können. Und da haben wir Administrator Onda, unsere Eroberung, um auf die entsprechenden IDs zu stampfen. Also haben wir nur einige Beispielbenutzer aufgenommen und in unsere Anwendung aufgenommen. Andi, wenn wir zurückkommen, werden
wir den Benutzercontroller einrichten, der die eigentliche Signierung behandelt und
sich bei der Authentifizierung für uns abgemeldet hat.
32. Users: Hey, Leute, in dieser Lektion wird den Controller eines Benutzers einrichten, um einige
Authentifizierungsoperationen zu behandeln . Also habe ich bereits angefangen, den Controller hinzuzufügen. Ich ging zu Controllern, Rechtsklick,
klicken Sie auf. Add ging an den Controller und ich werde Gerüst auf leeren AP I-Controllern sein. Ich habe gerade geklickt, dass Klicken Sie auf Hinzufügen geben Sie ihm einen Namen,
jemand, um seinen Benutzer Controller zu nennen und dann gehen Sie weiter und klicken Sie erneut auf. Und jetzt haben wir unsere Benutzer Controller. Also, wie üblich, was wir tun werden, ist eingerichtet oder, wissen
Sie, Abhängigkeit ist zuerst von formalen, Also möchte ich Abhängigkeiten. Ich möchte eine Abhängigkeit für den Signaturmanager auf einem für den Benutzer-Manager haben diese enthalten , und so sehen sie aus. Also kannst du sie einfach auf Guy abschreiben. Fügen Sie einfach die fehlende Bibliothek ein. Also haben wir private Lesung auf der Seite und Manager für Identitätsbenutzer auf Benutzer-Manager für Identity User. Auch so funktionieren die toff sie sehr gut zusammen, Aziz, so wie sie ähnlich erscheinen mögen, aber man verwaltet die Benutzeroperationen einen Griff, der in Schleifen Straßen und
Authentifizierungssachen steht . In Ordnung, also werden wir unseren Konstruktor auf weit Vergangenheit in unserer Abhängigkeit einrichten. Also werde ich das nur bei 1.000.000 erledigen. Dann machen wir natürlich unsere Initialisierung. Xas üblich. In Ordnung, also haben wir einen Unterzeichnungsmanager und einen Benutzermanager, wie ich gerade sagte. Was sind die Dinge, die wir in unserer Benutzersteuerung tun wollen? Ich denke, die Mediensache wäre der Handler. Loggen Sie sich ein. Richtig. Also haben wir, was wir nennen Daten über Notationen auf DWI würde sie von
früheren Controllern betrachtet haben . Also in dieser Situation, wir wollen einen Griff Berechtigungen, Bedeutung, wer kann auf einen bestimmten Punkt zugreifen. Wir haben bittere und Notationen, die
einen niedrigen anonymen
haben, haben, wo wir nach Rolle einschränken können, oder wir können einfach sagen, autorisiert,
was bedeutet, dass jemand autorisiert werden muss. Wenn wir also sagen, anonym zulassen, bedeutet
das, dass Sie keine Autorisierung benötigen, auch wenn das gesamte Steuerelement nicht autorisiert ist. Wenn ich also sagte, autorisiert für den gesamten Controller, bedeutet
das, dass jeder Endpunkt hier drin eine Authentifizierung benötigen würde. Ah, Low Anonymous würde das jetzt überschreiben. Dafür habe ich keinen Zweck. Also werde ich nur viel anonym. Andi,
Ich werde auf http Post in Punkt auf diesem Endpunkt machen wird ein öffentliches ein
Senken Stoßzähne sein . Stellen Sie sicher, dass Sie meine Verschüttung richtig bekommen. Aufgabe aus. Ich Aktion Ergebnisse auf diesem. Dieser Endpunkt wird so lange eingeloggt sein, dass ich die Objekte verwende,
die ich in meinem Körper setzen werde . Das bedeutet also, dass wir ein Objekt erstellen müssen, das damit umgehen wird. Also werde ich sagen, Benutzer DT, oder das ist der Datentyp, den wir erstellen müssen und seine Benutzerdetails. Also lassen Sie mich einfach gehen und erstellen Sie diese Klasse eine gleiche Tanks, und sie schließen nur diese und gehen Sie dann zu meinen Details Ordner auf schnelle Anzeige Andi, erstellen Sie eine neue Klasse und wir kommen Benutzer E t oder erstellt auf, dann verwenden Sie eine Notwendigkeit, oder wollen es einfach zu halten. Ich brauche wirklich nicht zumindest wirklich nur einen String-Benutzernamen Onda Stream Passwort. Richtig. Das ist alles, was ich wirklich brauche. Ähm, wir können es etwas später aufarbeiten, aber richtig. Wissen Sie, nur um die Authentifizierung zu erhalten, wollen
wir nur den Namen und das Passwort verwenden. Ähm, wir können vermutlich meine, wir können eine Reihe von Dingen tun, aber lassen Sie es uns einfach einfach halten. Renno. Entschuldigung. Also gehen wir auf die Zehe. Fügen Sie einfach die fehlende Bibliothek ein, so dass wir Details auf Wir akzeptieren, dass direkt
auf Kurs verwendet haben . Wir werden in unsere Dokumentation oder zusammenfassende Kommentare einfügen,
um zu sagen, ähm, Benutzer lugging Endpunkte. Es ist wirklich jemand. Dokumentation weiß, dass sie diesen Benutzer lange in Endpunkten übergeben müssen wissen, was wir hier tun
werden, ist, dass wir sehen, dass wir jemanden zum Speichern führen möchten, das ich Ergebnis gleich
auf ist . Dann werde ich einen Weg sehen, es das Ergebnis aus dem Signing-Manager, der ein
Passwort-Zeichen in einem synchron versuchen wird, oder? Also, nein, ich kann sehen. Wenn Sie sich also die Dokumentation für diese Funktion ansehen, sehen
Sie, dass es das Benutzerobjekt bedeutet. Und es braucht auch Passwort auf so weiter so niedrig ich habe toe Nun, das ist eins von den Overlors. Ein anderer Overlord würde sehen, dass er nur den Benutzernamen und das Passwort und
diese anderen beiden Bulletins einschreiben möchte . Die müssen da sein, damit wir Stürze und Stürze passieren können. Aber der Punkt ist, dass ein Overlord wollen würde und ah, ganze Identität Benutzer Objekt auf Passwort auf der anderen. Man würde nur mit ihm und Passwort wollen. Da das alles ist, was wir darin definiert haben und ich wirklich nicht das
Herbst-Obermaterial vom Identitätsbenutzer zu diesem und jenem erstellen möchte , werde
ich das nicht durchmachen. Alles, was ich tun werde, ist nur die leichtere Überlastung zu benutzen. Am Tag ging ich zu sagen, Nun, var Benutzername ist gleich So mag ich Zehe nehmen Sie meine Ergebnisse von Objekten und sie
Inter-Variablen zuerst, irgendwo zu sehen, verwenden Sie den Namen gleich Details. Verwenden Sie den Namen eines Kennworts. Also denken Sie daran, dass Control de dupliziert die Zeile nur für den Fall, dass Sie sich fragen, wie ich das so schnell
gemacht habe . Also Benutzername und Passwort. Und das ist es, was ich in die Unterzeichnung übergehen werde. Also übergebe ich den Benutzernamen, der in der Vergangenheit übergeben wurde. Wort auf, dann werde ich einfach sagen, fällt auf Stürze zufrieden. Andere zu Julian's, richtig? Also wird es versuchen, die Authentifizierung zu versuchen. Das behandelt also, was in die Datenbank geht, sieht den Benutzernamen, fügt den Pastor an, den es so viel auf DSI macht, ist das, was er sehen muss. Nein, wir müssen sagen, ob die Ergebnisse richtig sind, lassen Sie uns sehen. Also Mr. Stopping, das ist nicht gleich. Also keine Rechte, wenn Ergebnis ist nicht gleich keine Bedeutung. Er hat etwas zurück, genau dann für Nein, was ich tun werde, ist, dass ich einfach sehen werde. Sind Lassen Sie uns machen es ein bisschen interessant. Entschuldigung. Zurück. Okay, also machen wir es etwas interessanter. Wo ich unseren Benutzer retten werde, ist gleich Zehe. Wir neigen dazu, dass ich die Benutzer-Manager-Zehe benutzen werde, die sie nach Namen finden,
abrufen um diese, ähm,
Benutzersekunden, werde. In Ordnung. Also, wenn ich darum bitte, ihn zu benutzen, richtig, so sehen sie sagen, es ist gut mit Namen. Er möchte die Namen verwenden, auf denen ich meinen Namen finden kann, erhält den Benutzer anhand des Benutzernamens, auf dem er verwendet wird. Dann ging ich, um den Benutzer einfach das Benutzerobjekt mit der okey-Antwort zurückzugeben. Dann, wenn das nicht passiert oder es nicht in die if-Anweisung geht, werde
ich nur das zurückgeben, was wir nennen,
äh, äh, auf unautorisiertem Recht. Unautorisiert bedeutet, dass Sie keine Last über diesen Punkt hinaus sind. Mal sehen, ob es eine Überlastung gibt, die Daten enthält, so dass ich die Objekte von jedem Nur sagen,
verwenden Sie, dass GTO nicht autorisiert ist. Alles klar
, natürlich. Sie wissen, dass wir unsere Protokollierung einrichten, während wir weitergehen. Also über Backtrack und machen Sie das alles zu einem späteren Zeitpunkt, richtig? Nein, ich mache mir nur mehr Sorgen um die Einrichtung der Protokollierung. In Ordnung, also lassen Sie uns das für einen Spin nehmen. Jemand, um einfach zu gehen Oh, wo der obige Modus Geld in der Zwischenzeit posten. In Ordnung, Also bin ich nur durch die Dokumentation von gebissen sehen wir hier, FBI Schrägstrich Benutzer oder Benutzer Protokollierung Endpunkt auf es erfordert einen Benutzernamen auf Passwort auf, die in ihrem Questkörper sein
sollte. Also lassen Sie uns das zusammen konstruieren. Also werde ich nur einen neuen Tab über die coole Sache mit Postboten aufbringen, ist, dass es eine
Geschichte behält . Wenn Sie also mit
Ihrem persönlichen Konto angemeldet sind, hält
er eine Geschichte von jeder einzelnen Anfrage, die Sie haben, seit ich tagelang scrollen konnte weil ich ziemlich viel FBI-Tests mit diesem Tool gemacht habe. Also lassen Sie uns in Schlepptau unsere Tests, wo ich gehen, um zu posten, dann werde ich nur die Adresse von einer meiner vorherigen ausleihen, weil wir
die gleiche Loca Host-Port-Adresse verwenden . Dann ist es ein P I Benutzer. Es gibt keinen Wert nach dem Schrägstrich. Aber dann muss der Körper so aussehen. Also werde ich nur die Probe kopieren. Dann gehen wir roh, wählen Jason basierend auf. Dann lassen Sie es uns versuchen. Also sagte ich Admin. Andi der Passant dieses p, dass sai s w o r d eins. Also lassen Sie uns sehen, ob dieser funktioniert. Also klicke ich auf „Senden“. Alles klar, wir sind im Geschäft. Also sehen wir hier, dass die Informationen dieser Person kamen, aber jetzt würde offensichtlich nicht notwendigerweise die gesamte Nutzlast zurückgeben wollen, weil
Sie hier die Passwortvertuschen, so viel wie es nicht sehr entschlüsselbar ist, es ist immer noch ein Passwort-Hashes immer noch Informationen, die Sie nicht wollen. In Ordnung. So könntest du,
wie ein anderes,
ähm,
bto erschaffen wie ein anderes, ähm, . Wie eine Ansicht Benutzerdetail, wo Sie wirklich nur zurückkehren. Vielleicht ist der Benutzer i d der Benutzername die E-Mail auf anderen Bit off Informationen, die Sie wissen wäre sinnvoll, in einer Antwort über einen Benutzer anzuzeigen. Alles klar, das funktioniert Andi. Wenn Sie denken, dass Sie vielleicht Daten
wie Vorname,
Nachnameund andere Absätze in die Identität aufnehmen wie Vorname,
Nachname möchten, dann ist das völlig möglich. Und noch einmal, ich durchmache das in milden. Natürlichist
vollständig Geschwindigkeit, ist
vollständig Geschwindigkeit, nicht Net 3.1 Kern Andi-Entität, die Framework-Entwicklung. So können Sie durch diesen Kurs gehen, um ein besseres Verständnis von der Identität zu bekommen und wie wir erweitert werden
können. So oder so, wir können hier bestätigen, dass das Zeichen in so ziemlich funktioniert. Versuchen wir es also mit dem Kunden eins. Also haben wir das mit,
ähm,
dem Admin versucht ähm, . Versuchen wir es mit dem Kunden eins. Und dann sehen wir hier das gleiche für den Kunden. Versuchen wir also mit einem zufälligen Wert,
etwas, das nicht genau ist. Also einige falsche verwenden den Namen und dann sehen wir, dass wir bekommen Wir bekommen ein Werkzeug ohne Inhalt. Ich hatte nicht erwartet, das zu verstehen. Also lassen Sie uns ein wenig debuggen und sehen, warum wir das haben. Also werde ich nur meinen Breakpoint hier setzen, nachdem wir die Ergebnisse erhalten hätten, klicken Sie
dann auf Senden an. Dann trifft es. Unsere Bruchpunkte sind gut. Also, dann hat Ergebnisse Feld. Na gut, dann
drauf. Ich werde nur durchgehen, weil ich genau sehen will, warum es zu einem Werkzeug geht, aber dann ah,
OK, OK, ich sehe, was das Problem ist. Nein. Also gut, ich verstehe diesen Schnee. Was also passiert ist, ist, dass ich sagte, wenn das Ergebnis nicht gleich ist nein, was nicht genau ist, Ich sollte überprüfen, ob Ergebnisse erfolgreich sind nicht so Lassen Sie mich aufhören und dann beheben Sie das. Also, was passiert ist, ist, dass es immer noch ins Okay ging, aber dann war das nein Also das okay kehrte bei zwei oder vier ohne Inhalt statt einer 200
mit Inhalt zurück , richtig? Das war also das Standardverhalten aus dem Okay. Und das ist ehrlich gesagt das erste Mal, dass ich das sehe. Also lasst uns das zusammen machen. Also statt das Ergebnis zu sehen, nicht wissen, lassen Sie uns ein Ergebnis gelungen. Also, wenn Ergebnis nicht X gelungen ist, dann wollen wir in Ordnung zurückkehren, dann sollte es dort enden, wenn es nicht gelungen ist. Also lasst uns das noch mal versuchen. Ordnung, InOrdnung,
also lasst uns das nochmal versuchen, zu Mann und ich klicke. Schicken Sie weiter. Da gehen wir. Also für einen auf autorisieren, das ist besser. Es ist also nicht gelungen. Also ging unter für eine autorisierte unautorisierte Entschuldigung auf es schickte den Benutzer zurück, ähm, Informationen von dem Versuch. So sehen wir hier, dass einige Authentifizierung funktioniert, oder zumindest können wir authentifizieren und überprüfen, dass die Benutzer in unserem und Punkte existieren. Nein, Was ich tun werde, ist nur die Protokollierung in diesem Punkt zu beheben. Ich mag es wirklich nicht, den In-Punkt zu haben, ohne Logging zu haben. Weißt du, wir sitzen auf einem Standard, also werde ich mir nur etwas Zeit nehmen. Andi, leihen Sie sich etwas vom Kabel von einem der vorherigen Controller. Ordnung, also habe ich dieses Land eingerichtet, um mehr wie die anderen aussehen zu lassen,
die wir bisher haben, wo ich den längeren Dienst eingeschlossen habe ,
der es initialisiert hat . -Aktionsnamen sowie internen Pfeil auf. Dann habe ich die gesamte Operation in einen Versuchsfang eingewickelt. Also habe ich nur versuchen, sind im Besitz. Alles, was wir vorher auf dem Fang getan haben, würde den Internet-Ära Funktionsaufruf auf
Kerl zurückgeben , war so Putting Logging, um zu sagen, dass es ah war, Protokollierungsversuch von Benutzer an. Du könntest sogar hineinlegen. Nun, wir haben schon Zeitstempel im Baumstamm, also ist das in Ordnung. Dann sagten wir, wenn es erfolgreich war, als wir sagen, verwenden Sie den Namen erfolgreich authentifiziert auf, wenn es nicht erfolgreich war als Benutzername, nicht authentifiziert. Das ist also die Protokollierung, die ich ins Schlepptau gelegt habe. Ähm, der Benutzercontroller. Vielleicht haben Sie eine andere Idee. Das ist in Ordnung. Ich würde gerne hören, wie du denkst, ich könnte das verbessern, aber das ist Abgrund, ähm, eine Grundlinie für den Start der USA. Also haben wir gerade mit Blick darauf, wie wir über die Authentifizierung von Benutzern in unserer Anwendung gehen. Auf der nächsten werden
wir uns mit der Einrichtung unserer Jason Webb-Token beschäftigen, werden auch die Autorisierung
auf der Controller- und Aktionsebene betrachten .
33. JSON Web Tokens (JWT) Authentizität: Hey, Leute, willkommen zurück und das hier. Hör zu, wir werden anfangen zu sitzen oder Jason Webb Wilkins Jetzt haben Jason Webb-Token eine Menge
während dieses Ausdrucks gewesen , also lass mich dir einfach einen
Schnappschuss geben , ,was sie sind. Sie sind im Grunde eine Zeichenfolge, die Informationen über einen Benutzer so ziemlich codiert hat
, dass es in einem natürlichen auf real ist. Schließlich wird
es verwendet, wenn FBI aufruft seine verwendet zu einem Unternehmen und Epoche auch, dass der empfangende
Server, der den A P I Aufruf empfängt, es beurteilen kann, um zu sehen, ob dieses Token gültig ist. Wenn die Informationen in dieser Diskussion und oder in dieser Zeichenfolge Informationen enthalten, die dies bestätigen können, geht
dies von einer legitimen Quelle. Der springende Punkt von Jason Webb-Token in Bezug auf die Benutzerauthentifizierung ist, dass, wenn wir ein A p I basierend auf dem Benutzer sichern wollen, der es aufruft, wir Jason Webb-Token verwenden können, um zu sagen, dass, wenn Sie einen Anruf tätigen, wissen
Sie, authentifizieren Sie sich, ich werde Ihnen ein Zeichen geben. Und jedes Mal, wenn Sie andere Karten machen oder irgendwo, wo Sie authentifiziert werden müssen, können
Sie mir einfach dieses Token zeigen. Ich gebe dir die Passage. Wir können Erfahrung Shin-Daten auf diesen Token setzen, so dass, wenn ich einen Token den ganzen
Tag nach Ablauf der Zeit gesagt wird, vielleicht ein Tag sind vielleicht drei Stunden. Das bedeutet, in der dritten Stunde oder der 4. 0 R eine Minute nach der dritten über scheint
mir dieses Token zu geben . Wenn ich versuche, dieses Token erneut zu verwenden, bin
ich nicht unautorisiert, und ich muss mich erneut authentifizieren, um neue Token zu erhalten. Das ist also der ganze Sinn. Jason Webb-Tokens. Also noch einmal, ein Benutzer wird eine Operation machen, die über FBI auslösen wird. Wir erwarten zu sehen, dass dieser Aufruf der A P A ein Token
hat. Wenn nicht, dann sagen wir dieser Person, die sich authentifizieren muss. Sie sind nicht autorisiert. Wenn wir sie authentifizieren, werden
wir ihnen ein Token mit einem Erlebnisshin-Datum geben, dann können sie, solange sie dieses Token verwenden, unseren a p i n Punkt verwenden. Normalerweise speichert der Client dieses Token, bis es wir es sagen. Es wird ausgedrückt, und es wird versuchen, ein neues zu bekommen. Also das ist alles, was Or Beziehung um nirgends funktioniert. Das A P zu bauen das ist der Anfang. Später bauen
wir den Zeh eines Klienten auf, was wir in unser FBI gesteckt haben. Alles klar, das ist genug Geschwätz. Und in der Off-Theorie, lassen Sie uns einige aus dem Praktischen kommen. Also in diesem gleichen Benutzercontroller, den wir gerade konstruiert haben, werde
ich eine andere private Funktion einbinden. Also werde ich sagen, privat und dann dieses zu sehen, es
wird eine Aufgabe sein, die uns String zurückgibt. Dann möchte ich nennen, dass dieser Jason erzeugt, über den wir reden. Dann werde ich Ihnen sagen, dass es einen Parameter vom Typ Identitätsbenutzer nehmen muss. Alles klar, auf, dann, Was ich tun werde, ist, dass es eine Zeichenfolge zurückgibt, aber ich gehe Zehe setzen die Funktion Ursache irgendwo erscheinen, also lese ich nur das Formular einen Anruf während ich dabei bin. Also, nachdem wir den Benutzer angerufen haben, Also haben wir das Benutzerobjekt. Was ich hier tun werde, sparen
Sie unsere an können String. Also diese Dysfunktion erzeugt diesen Jason Webb Token und gibt diese Zeichenfolge zurück, richtig? Jemand, der sagt, Token-Zeichenfolge ist gleich warten Bei diesem Telefonanruf auf wir übergeben Benutzerobjektrechte, so dass Benutzerinformationen eingehen. Nein, lassen Sie uns diese erzeugen. Jason, wir reden. Es gibt also ein paar Dinge, die ich hier erledigen werde. Ähm, bei einigen dieser Dinge beinhalten Konfigurationen, die nicht hier sind, also möchte ich nur sehen, dass ich eine leere Zeichenfolge für Nein zurückgibt, ich habe gerade gestoppt. Er ist die Ängste wegen Dysfunktion. Dann, was wir mit unserem Jason machen wollen. Was redet ist, dass wir ihm einen Schlüssel geben wollen, also wollen wir ihm einen Wert geben, der immer verwendet werden wird. Wie das, was wir Angriffe nennen, wenn Sie ein Passwort generieren. Also in den App-Einstellungen, nicht Jason unter allein Hosts verstehen, Komma zu drücken. Dann werde ich einen neuen Konfliktabschnitt erstellen. Ich werde es G w
t nennen . Und dann sage ich Doppelpunkt und öffne dann ein neues Paar geschweifte Klammern auf. Dann haben wir es. Also sehen Sie, dass dieser Nun, ist eine Jason-Akte. Also, wenn wir Jason schreiben oder Jason für eine Weile suchen, nein. Es ist also die gleiche Art von Formaten. Sotschi Doppelpunkt auf den Wert auf. Dann haben wir noch einen, den wir Issuer auf einem kühlen Andi-Wert nennen werden. Richtig? Also werde ich Dokumentation zu all diesen Anforderungen für JWT hinzufügen. Ähm, welche Jason Webb-Token im Punktnetzkern eingerichtet werden sollen. Einige dieser Dinge müssen Sie lesen und verstehen,
und Sie können wissen, auswendig lernen oben, aber zumindest haben Sie einige Anleitung. Alles klar, also für den Schlüssel werde
ich...
statische Strings verwenden . Ich werde auch diese statische Zeichenfolge einschließen, die nur ah generiert wird. Werde ich entwerten? , Die Sache ist
also, du willst keinen Schlüssel benutzen. Das ist für Schardt. Ich denke, wenn Sie einen Schlüssel verwenden, der zu Schardt ist, wird
es Ihnen auf Sendung sagen, dass der Schlüssel
sozusagen nicht sicher genug ist . Also geh. Es ist eine perfekte Art von Wert zu verwenden, weil man es nicht etwas ist, dass jemand einfach auf Ihr Gericht
schauen und den Schlüssel auswendig lernen kann . Es ist nicht etwas, das Sie sich merken können, aber es ist, Sie wissen, es ist einzigartig genug, und es ist lang genug, um die Sicherheitsanforderungen zu erfüllen, also würde ich Gesicht haben, dass es enthalten sind. Es mit Die Ressource ist für dieses Video. Sag kann es wiederverwenden. Oder ich kann einfach finden, dass jemand wahrscheinlich sogar in die Datenbank gehen und eine dieser
Benutzer-IDs kopieren und ihre That is in Ordnung verwenden kann . Und dann, für den Aussteller, werde
ich nur Test dot com schreiben. Also für nein, wie über nur die Entwicklung können wir verwenden, um Ruhe zu stoppen, wenn wir bereitstellen wird wahrscheinlich wollen , dass wie eine vernünftigere Domäne
ändern, oder? Das ist also, wer das ausgibt? JWT? So ziemlich. All diese Informationen werden verwendet, wenn diese Talk und String generiert werden. Nein. Jetzt sind wir mit den oben Einstellungen fertig, die Jason wir brauchen, um g o auf eine Bibliothek zu bekommen. Jemand geht direkt zu verwalten, um Pakete zu bekommen, dann unter Bro's waren gerade dabei, nach JWT Bier zu suchen. Wenn wir das tun, sollten
wir sehen, dass Microsoft DOT eine Kernauthentifizierung ist. JWT Bier. In Ordnung, also können wir das weitermachen und sobald Sie das einschließen haben,
nun, ich habe es mit dem Include-Pre-Release versucht, dass ich wirklich nicht für mich gearbeitet habe. Ähm, es Männer unsere für Sie basierend auf der Version aus dem Punkt-Netzkern, weil ich denke, das ging um ein paar Schritte. So können wir Antic Pre-Release einschließen und nur die stabile Version erhalten. In Ordnung, also lasst uns einfach den Stall bekommen. Also bin ich nur auf Ticken. Vorabfreigabe einschließen. Und ich bekomme diese stabile Version auf ich schließe sie in mein Projekt stimme irgendetwas zu. Und dann, wenn es fertig heruntergeladen ist, müssen
wir zu unserem Start gehen, nicht CS Datei auf. Beginnen Sie mit der Einrichtung einiger Konfigurationen. Eso starten Sie Punkt CS an. Wir gehen über zu unserem Conficker Services Abschnitt auf dann rechts oberhalb der slugger gin Konfiguration Einreichung mit Start Schreibdienste dot Add Authentication. Entschuldigung. Das ist eine Komma-Authentifizierung. Andi drinnen aus dem Elternteil in dieser Saison. Was soll ich sagen? JWT Beerer ist Standard, rechts. Angedockte Authentifizierung. Skeel, geh in die nächste Zeile, dann werde ich sagen, punktmerkwürdiges JWT Bier und dann gehen wir frisch aus ein paar Optionen, verstanden? Um zu sehen oder auf Dinar kleines Lamm, der Ausdruck suchen Pfeil und dann zu geschweiften Klammern und einem Semikolon. Also schließe ich das nur. In Ordnung, ab und zu will ich hier die Grenze brechen. Und sie wollten anfangen, in einigen Optionen zu schreiben, jemand zu sagen oder nicht. Token-Validierungsparameter sind und wissen, dass wir sehen werden ,
ähm, definieren einige Parameter, mit denen wir offensichtlich validieren werden, was auch immer reden ,
so reden, es wird gleich neuer Token-Validierungsparameter. Und wir initialisieren neue Objekte. Und ich denke, das sagt, dass ich etwas einbeziehen muss. Also habe ich es aufgenommen. Lassen Sie mich einfach eine zynische und am Ende, Klammer. In Ordnung, Also erste Option ist Validierung des Ausstellers auf diesem ist wahr. Möchten Sie sicherstellen, dass der Emittent verletzt wird? Als nächstes ist validieren Publikum, und das ist auch wahr. Dann validieren wir das Leben, also wollen wir sicherstellen, dass es,wissen
Sie, wissen
Sie, gültig für den Zeitraum ist, für den wir gesagt haben, dass es abgestimmt werden sollte. Wir möchten das Problem zu überprüfen sind Signaturschlüssel. Dann kommen wir zu dem Punkt, wo wir sagen:
Okay, Okay, wer ist der gültige Emittent? Also werde ich sagen, dass ein gewalttätiger Aussteller ist, wer auch immer ich sagte, es ist nach meiner Störung Konfiguration und
Störungetwas. Holen Sie sich die Konfiguration für JWT mit dem Value Emittent, unserem Value Office, auf dem Sie sich befinden. Denken Sie daran, dass wir dieses Jahr gesagt haben, dass wir ruhig testen sollen, oder? Also meine ich, an diesem Punkt ist
es ziemlich unbedeutend. Wenn Sie an die Öffentlichkeit gehen , wird
es
jedoch eine größere Rolle spielen. Und dann ist das nächste gültige Publikum und das ist auch der Wert aus dem Emittenten. Auch die letzte Zeile ist das Problem oder der Signaturschlüssel. In Ordnung, und dann wird das Nein sagen, was der Schlüssel war. Und ich will vor Gericht es. Also denke ich, ich muss hier etwas ausländisches Schnüren einbinden. Es heißt also, dass der Signaturschlüssel
symmetrischer Sicherheitsschlüssel sein wird , , oft in der schnurgebundenen ID-Version aus welchem Wert auch immer wir den Schlüssel löschen. Also denken Sie daran, dass je länger der Schlüssel, desto besser. Ich bin sicher, es gibt eine Längenbegrenzung, aber ich bin für eine lobenswert, dass Sie einen guten Wert direkt dort verwenden. Alles klar, also fasst das zusammen, für unser Wir reden wenigstens hier. Ich weiß, wenn ich etwas verpasst habe, wirst
du definitiv später kommen. Also lassen Sie uns damit fortfahren. Andi, du kannst dir etwas Zeit
nehmen. Sieh es dir an. Ähm, Andi, noch
einmal, die weitere Lesung Nun, irgendwie führt uns zu dem, was jede dieser Konfigurationen ist. Optionen sind die, die Sie tatsächlich leben könnten, ohne auf. Weißt du, warum sie notwendig sind? Nein. Gehen Sie weiter. Wir gehen zurück zu unseren Benutzern. Controller Gehe zu unserer Funktion, wo wir diese Token-Strings generieren. Dann wird meine erste Zeile sagen:
Nun, Nun, ich denke, ich muss einige Konflikte einschließen, also muss ich Abhängigkeit für die Konfigurationsdatei injizieren. Also werde ich nur private Ich configuration von Kurs sehen. Es sollte nur gelesen werden und dann nach etwas hier einschließen. In Ordnung, nun, ich glaube, ich habe gerade die falschen Konferenzen eingeschlossen. Lassen Sie mich rückgängig machen, und dann lassen Sie mich das noch einmal versuchen. Es ist also nicht die Herbst-Oberkonfiguration, die wir wollen. Derjenige, die Konfiguration der Microsoft Extension. Da gehen wir weiter. Dann werde ich es einfach als Abhängigkeit anschließen und es auf DSO initialisieren Nein, wir haben Zugriff auf die Khan-Feeds. So etwa zwei oder Funktion Toe erzeugen den Jason Key. Also werde ich mit einer Variablen namens Sicherheitsschlüssel beginnen, dann wird dies
gleich einem neuen symmetrischen Sicherheitsschlüssel sein . Siehst du, wenn ich nach Art von Kröten nachdenke, dann muss ich etwas mitnehmen. Also gehen Sie Elton ein . Ich füge diese Bibliothek einfach entsprechend ein. Neu ist also ein neuer symmetrischer Sicherheitsschlüssel. Dann wird das tatsächlich aussehen wie dieses Land in Start-ups. Also werde ich das eigentlich nur kopieren, damit ich es nicht alle Lasten auf sie eingeben muss. Würde nicht nur zusammengepackt werden. Es ist hier. Das ist also unser neuer Sicherheitsschlüssel. Ähm, und dann natürlich, das wäre nicht statt der harten Wortkonfiguration. Ich habe die Abhängigkeit für die Konfiguration. Das wäre also Unterstreichungskonflikt. In Ordnung, dann brauche ich die fehlenden vor der Codierung. Alles klar, das war's. Der symmetrische Sicherheitsschlüssel sorgt also dafür, dass wir unsere Anmeldeinformationen haben, und das entspricht den neuen Signaturen, Signaturdaten. Ordnung, , dann wird
das den Sicherheitsschlüssel haben, auf dem wir gerade erstellt haben. Dann werde ich sagen, wir verwenden eine Sicherheit Calgary sie oder alle
Sicherheitsalgorithmen, die ich benutze die einzelnen Mock Shot. 256 Alles klar, also sehen wir, dass wir den Sicherheitsschlüssel mit diesem Schlüssel generieren. Dann wollen wir die Referenzen Zehe. Haben Sie etwas Hush, richtig. Also verschwiegen wir das genau da. Als nächstes werde
ich tun, was wir Cremes nennen. Also hättest du einen Tisch namens Cleans gesehen. Und die Behauptung ist wirklich einfach. Claim heißt, dass was sind Ihre Informationen? Wer behauptest du zu sein? Hat erklärt, dass in den frühen Teilen über das, was die JWT in seinen Daten hat. So können wir die Möglichkeit haben, tatsächlich die Cremes zu schaffen, die wir in
diesem Stream aufnehmen wollen . Also werde ich eine Liste erstellen, die ich sagen möchte, Vier Ansprüche ist gleich einer neuen Liste vom Typ, sauberer Ursachenanspruch ist ah, ein natürlicher eingebauter Datentyp. Ordnung, Andi muss ein System einschließen, dass die Sicherheit, die die Bibliothek behauptet, ein zynisches ,
und da werde
ich sagen, gib mir eine Atombombe. Na gut, dann
weiter. Ich werde J w t registrierte O.
C Anspruchsnamen sehen . Also gibt uns die Gentleman T-Bibliothek alle die potenziellen Ansprüche, die wir
in einem Gespräch machen können . In Ordnung, also wenn wir das Register bekommen, Claim-Namen, kann
ich Dot sagen und dann werden Sie sehen, wie sie nett aus obskur aussehen, aber und einige der macht Sinn gegen den Familiennamen Vornamen. Geschlechterstudien sind alle Informationen, die Sie in das Token aufnehmen können,
so dass, wenn jemand dieses Token erhält, nachdem der Benutzer diesen Vortrag authentifiziert hat und ihnen
alle diese Informationen mitteilt . Also ist es eigentlich ein netter, sicherer und verschwiegener Weg, Informationen zu den Ansprüchen zu liefern, richtig? Also das erste, wenn ich will, ist sub Andi. Ich werde sagen, ich möchte, dass SoBe den Wert von der Benutzerpredigt hat, aber ich würde einen Identitätsbenutzer-Dot-E-Mail positionieren. Also geht es Zehe hält die E-Mail des Benutzers. Alles klar, als Nächstes. Aber das ist nur eine neue Behauptung. Anstatt die Zehe wieder viel zu schreiben, wird diese Zeile duplizieren. Dann wäre der nächste g a t. I. Alles klar dann, für diesen, werde
ich sie geben. Ah, irgendwie statisch, aber gut generierte gute Werte. Ein neues Gut auf. Dann werde ich es in eine Zeichenfolge setzen, um alle erforderlichen Datentypen zu besänftigen. S ein nuklearer muss den Typ auf dem Wert haben, rechts auf Wert muss eine Zeichenfolge sein. Also müssen wir das Gute machen. Dann gib ihm die Geschichte. Als nächstes werde ich eine Mutter behaupten. Dieser wird also ein neues Team sein. Und dann der Grund, dies zu tippen, um nicht zu duplizieren, dass dieser eine
Anspruchstypen sein wird . Alles klar, das ist
also die am wenigsten sauberen Typen. Und das wird Identitätsfeuer genannt. Also denke ich, ich muss hier etwas einschließen. Also gehe ich einfach raus und betrete Onda. Das sind alles wir. Es sind beanspruchte Typen, keine Cremes Typen, richtig. Claim-Tag Rechtschreibung ist wichtig, Leute. Alles klar, und
dann ging ich zu einem Benutzer. Das ist I d. Alles klar, also ist das der Bezeichner für den Benutzer. Danach habe
ich alle aus meiner Liste aufgebaut, aufgeräumt, aufgeräumt, dann werde ich auch die Regeln bekommen, also möchte ich die Regeln, die dieser Benutzer so virals hat. Die Sache ist also, dass ich nicht mehrere Rollen verwende, obwohl wir einige Benutzer haben und letztendlich jedem Benutzer nur eine Rolle zuweisen werden, die Realitäten, die jedes,
ähm, ähm, benutzerbasierte Authentifizierungssystem Ähm hallo, Zito oder sollte entworfen werden, um mehr als eine Regel zu erleichtern. Also werde ich sowieso nur alle Regeln bekommen, also kann ich einfach sagen, dass Benutzer-Manager keine Regeln bekommen, die auf sinken. Dann bekomme ich nur die Regeln, die mit Ihrem Benutzer verknüpft sind. In Ordnung, also habe ich ein paar Ansprüche darauf. Was ich tun möchte, ist die Tatsache, dass der Benutzer ein Teil dieser Regel ist und was auch immer, so dass wir mit unserer Autorisierung helfen können. Ordnung, dann werde ich diese Linie vor Gericht machen, wo und wann ich Anspruchspunkte sagen soll. Ich muss die Regeln über die Liste hinzufügen. Off reinigt mit dieser Art von Bearbeitung, es gibt nach der Arbeit. Ein wenig Magie, ich möchte sagen, Bereich auf. Dann werde ich Regeln Punkt wählen sehen. In Ordnung. Also die coole Sache über Link ist, dass auf der Flak und wählen Sie von ihm auf, dann erstellen. Und ich sage nur unser Lambda was? Ich erstelle ein neues generisches Objekt vom Typ cream oder Well, ich denke, es ist nicht generisch. Wenn es von dieser Behauptung auf ist, dann werde ich sagen, dass ich einen neuen Anspruch für jede Regel erstelle, die daraus
herauskommen wird . Andi,
ich will Identitätspunkte beanspruchen. Standardregel. Ordnung, also Standard Regel Anspruchstyp. Das ist Creme-Typ, auf den ich will. Dann
wird
der Wert natürlich unsere nicht Onda sein. Nun, eigentlich nicht tut es nicht leid. Nur sind so sind vorbei in den Wert unserer Alles in Ordnung, also war ich eigentlich eine Straße. In Ordnung, also ist es eigentlich eine Liste von ST, also ist es, wenn wir es bekommen, Sir. Ja. Also, uh, das hätte Objekte bekommen, aber wir bekommen eigentlich nur die Regelnamen hier, also bekomme ich die Regelnamen, was nur eine Liste von Strings ist. Dann sage ich nur, dass
wir für jede Schnur, die zurückkommt , das saubere schaffen. Na gut, dann Semikolon. Nein. Nachdem wir alles abgetan haben, bauen wir endlich unser Token etwas, um unser Gespräch zu retten, ist Gleichheit. Neue JWT Sicherheitsspitze Dose. Na gut, dann. Ich bekomme Fig auf. Wir suchen den Emittenten,
jemand, der sagt, J W t Anruf auf Emittenten. Alles klar, Onda. Wenn Sie sich also die Overlords für diese Funktion ,
werden einige
Parameter benötigt ansehen,
werden einige
Parameter benötigt. Also werden wir das Schlepptau mit diesem einen füllen, dem vierten Parameter, der einige Werte annehmen wird. Also das erste, was ist der Emittent. Dann brauchen wir das Publikum, das wir zu Ihnen gehen Emittent wiederverwenden. Dann müssen wir den Anspruch einschließen, also füllen wir ihn einfach aus, während wir gehen. Also ging ich zweimal aus dem Emittenten. Also, Issuer, ich verstehe die Bremsleitung. Koma Emittent auf. Ich habe gerade diesen Wähler bemerkt, nicht Vier. Entschuldigung. In Ordnung, lassen Sie mich einfach die Linie brechen, damit alles klar und nicht durcheinander ist. Richtig? Koran. Also Emittent, Emittent. Und dann die Liste von den Ansprüchen. In Ordnung, auf dann, für jeden anderen Wert, den ich bin, gut, das Date, wenn nicht vorher, werde
ich nein haben. Dann wird der nächste Parameter die ich denke, es ist die Ablaufzeit jemand zu sagen abläuft. Onda Colon Andi,
ich werde das Ablaufdatum asiatische Zeit für dieses Token zu sein, Mal sehen, zwei Stunden. Also ich meine, es ist so natürlich, dass Sie mit dem Ablaufdatum praktisch sein wollen, denn wenn es alle
zwei Stunden abläuft , bedeutet
das, dass diese Verwendung nur alle zwei Stunden authentifiziert wird. Manche Leute haben es auf einen Tag gesetzt. Ich bin sicher, Sie bemerken, dass einige Websites werden Sie an der Reihe halten für die Ewigkeit angemeldet und irgendwo Sand Sie möchten, sobald er Ambrose geschlossen und Sie wirklich Broza und
versucht , wieder in den Sand zurück zu gehen, richtig. Also ich denke, vielleicht verwenden sie Gentility und einige sehr kurze Zeit, so dass wir sagen können, fügen Sie Minuten und Sekunden. , Testzwecken, zu
Testzwecken,
ich werde nur sagen, fügen Sie Minuten auf einem Holz hinzu, um fünf zu sagen, aber es ist es wird fünf Minuten nach der Ausgabe ablaufen, und ich mache es so, dass wir es testen können innerhalb der Leben aus einer dieser Lektionen, richtig? Also das nächste, was ich habe, ist das Anmelden
an, denken Sie daran, dass wir gerade Anmeldeinformationen erstellt haben. Also werden wir nur den Wert der Anmeldeinformationen direkt dort übergeben, als die Zuweisung von Anmeldeinformationen auf dann, die unser Gespräch und die Generation auf vor einem Kontinent vervollständigt. Sehen Sie hier, dass ich einige Oh, ich denke, ich habe vielleicht eine Bibliothek enthalten, die ich nicht sagen musste. Wenn Sie rote Linien sehen, wie ich hier habe, dann brauche ich Microsoft nicht. Diese Identität, das ist Jason. Was für Token. Das brauche ich also nicht, oder? Also noch einmal, wenn Sie die roten Linien bekommen, wie ich für den General C E jwt Sorry, registrierte Anspruchsnamen. Er kann das einfach mit der Anzeige entfernen. Es sind die Modellpunkte, Jason, mit Token, in
Ordnung, die diesen Fehler beheben sollten. Dann, nachdem wir unser Token konstruiert haben, können wir einen vernünftigeren Wert in der Form aus zurückgeben. Neuer JWT-Sicherheitstoken-Handler auf, dann Punkte. Und dann siehst du richtig, so kann es weiter. Dann haben wir das Reden einfach verraten. Alles klar, das wird nur den Stream das Token als String zurückgeben. Sobald wir diese Token-Zeichenfolge erhalten haben, werde
ich sie mit der Antwort aufnehmen. Erinnern Sie sich, dass mit den vielleicht die gesamten Benutzerobjekte reagierten, was ich nicht tun werde, das richtig? Nein. Stattdessen, was? Ich werde tun, ist nur die Token zurückzugeben. Ich werde nur eine Rückkehr sehen. Andi,
ich will es erledigen. Eigentlich kann jemand ein generisches
Objekt oder Token erstellen , ,ist Gleichheit. So kann String. In Ordnung. Das bedeutet also, sobald sich eine Person authentifiziert, wird
die Antwort in Ordnung sein und sie werden Token zurückbekommen. Colon nahm und String in Form von Jason. Dann sollten meine Klienten das verbrauchen. Bewahren Sie es auf. Dann werden für die Lebensdauer des Token die Benutzerinformationen gespeichert. Also lasst uns einfach testen und sehen, wie ein dieser Token aussehen wird. In Ordnung, also habe ich einen Postboten mit auf meine früheren Anfragen auf. Wir wissen, dass das in den Fall gegangen ist, wird beschränken. Versuchen Sie admin auf, dann senden und dann Voila. So sieht unser Sprechinstrument aus. Ordnung, also verkörpert dieser Token-Stream wieder all die Dinge, die wir eingelegt hatten. Wir haben einige Ansprüche für die E-Mail gestellt. Der Benutzer i d generischen guten Wert wurden in gesetzt. Wenn sie sich trennen, sind
unsere Regel nicht oder welche Regeln sie alle voneinander getrennt sind. Wen verklagt er? Wer ist, der Benutzer, allerlei Sachen. Die Ablaufzeit. Also in fünf Minuten würde
es ablaufen. Also habe ich es auf fünf Minuten gesetzt. Wir werden diesen Ausdruck nicht testen, weil du ihn nicht siehst, oder? Nein. Aber was wir im nächsten Video tun werden, ist, dass wir wieder weitergehen, beginnen einige Berechtigungen auf sitzen, sahen die vorhandenen in Punkte, und es wird sehen, wie es funktioniert.
34. Setup und Action: Ihr Jungs in diesem Video, werden
wir Autorisierungen auf unseren verschiedenen Endpunkten in unserem
Autoren-Controller einrichten auf. Wir werden gleichzeitig validieren oder talkin-Funktionalität. Also, was ich tun werde, ist, ich werde ein paar Endpunkte auswählen, die Autorisierung
haben sollten , dann vielleicht härten wollen einige basierend auf den Regeln auf. Dann verlor ich einige, um anonym zu sein, nur damit wir den Unterschied oder die Auswirkungen sehen können, die das Bier Talk und String in unseren Anfragen haben wird. Also, was ich hier tun werde, werde
ich sagen, das ist, um Autoren zu bekommen. Ich werde das in Ruhe lassen. Einige der Schielen Unterstützung Problem t bekommen. Und ich werde auch nur viel anonym. In Ordnung? Das bedeutet, dass jeder in der Lage sein sollte, eine Anfrage auf die Autoren zu stellen, aber, um und ich glaube, dies als eine niedrige anonyme. Auch diese Speicher sind niedrig anonym. Jedoch, um zu schaffen, Ich werde Ah zu beschränken, Ich werde Zehe sind besser. Ja. Lassen Sie mich. In Ordnung. Ja. Es tut mir leid. Ich mache das nur, wenn ich rausgehe. Was hier nicht tun möchte, ist jemanden zu autorisieren, das Erstellen auf zu autorisieren. Autor. Ich versuche, so realistisch wie möglich zu sein. Dann werde ich sagen, in Ordnung,
jemand, der diesen autorisiert. Und ich möchte die Regeln angeben. Also kann ich nicht sagen, Autor als offene und schließende Klammer auf den einzigen Regeln, die ich will, damit ich sehen kann, dass Regeln gleich sind, um es zu sehen, Regeln zu sehen. Sie haben also eine Zeichenfolge, aber Sie können alle Regeln getrennt werden, die allein sind, oder? Also, wenn Sie vielleicht, wie, haben
wir zwei Rollen von benutzerdefinierten und Web-Administratoren. Also hier sage ich, dass die einzige Regel, die autorisiert ist, diesen Endpunkt zu treffen, ein Administrator ist, was ich tun werde. Also, das ist vier erstellen. Und dann werde ich für das Update tun. Ich werde beide autorisieren. In Ordnung. Also sehe ich entweder Allchin auf dann zum Löschen auf dieser. Das ist irgendwie gegen die Norm. Ich bin bei Gelb. Die einzigen Kunden, die Autoren löschen, sind es Das ist freundlich gegen die Norm, aber lässt uns es rechtfertigen und sehen, wie es für uns funktioniert. In Ordnung, also ging ich in den Debug-Modus und ich habe einen Postboten und dann werden wir auch von diesen
Endpunkten testen . Also werde ich versuchen, mit dem bekommt das erste bekommen, wo ich in der Lage sein sollte, alle Autoren die Anfrage
senden zu bekommen . Andi,
ich habe alle Autoren, also habe ich in der Vergangenheit einen anderen erstellt, aber ja, also habe ich alle Autoren. Wir haben zwei Autoren und in der gleichen Weise, dass ich keine Autorisierung auf
dem get by i d angegeben habe. Wir bekommen den Autor mit dem I D zu Nein, habe ich angegeben. Das ist und ich werde einfach zurückgehen und sicherstellen, dass erstellen, lassen Sie mich finden erstellen So erstellen erfordert einen Administrator. Mal sehen, was passiert, wenn ich das Erstellen versuche. Also habe ich einen Bunton. Das ist mein Autor, den ich zu erstellen versuche und du siehst hier, ich bekomme eine 401 auf autorisiert weil ich gerade gesagt habe, dass jemand autorisiert werden muss, um das zu übertreffen
, richtig? Also gehe ich einfach zurück zu meiner,
ähm, ähm, Authentifizierung und anstatt sich mit dem Benutzer zu authentifizieren und ging, um Kunden eins zu versuchen, also werde ich nicht mit Verwendung Kunde ein Send on zugelassen werden. Dann holte ich das Talkin rechts. Also, um dieses Gespräch zu verwenden und nach nehmen Sie den Wert und den Wert ist alles, was in den Anführungszeichen ist, nicht die Anführungszeichen. Also habe ich so weit wie die Konfigurationen gehen, dieses Token ist für fünf Minuten gültig, ich gehe zu meiner Anfrage zurück. Die Autoren sind direkt an. Dann werde ich dies in die Parameter für meine Anfrage aufnehmen. Also gehe ich zu Autorisierungen. Richtig? Sie haben also einen Teil. Es tut mir leid. Nicht Probleme, sondern Genehmigungen, auch wenn es hier hinzugefügt wird, wird als Premierminister enden. Erwachsener. Aber es ist einfacher hier, also gehe ich zur Autorisierung. Dann wähle ich Träger-Token auf dann den Wert von Putins. Sie können hier sehen, dass Adebayor dort von einer meiner vorherigen Aktivitäten spricht und dieses neue Token einfügt, dann kann ich auf Senden klicken Also was passiert, dass es dieses
Token in der Anfrage auf bemerkt enthält ? Das ist nicht verboten, vier oder drei zu sehen. Also sind wir für eine Person auf Autorin, was bedeutet, dass Sie nicht authentifiziert sind. Du kannst nicht mit gegen vier oder drei interagieren, was wirklich
bedeutet,
dass bedeutet, sie fast austauschbar benutzt werden,
aber vier oder drei bedeutet, dass du authentifiziert wirst,
aber du bist nicht sie fast austauschbar benutzt werden, aber vier oder drei bedeutet, dass du authentifiziert wirst, autorisiert. Richtig? Das ist also der Unterschied zwischen der vierten Runde für eine. So sieht es den Träger Token. Aber dann haben die sauberen Informationen im Inhaber-Token ihm nicht gesagt, dass es ein
Administrator ist , was richtig ist, weil wir gerade als Kunde geliebt haben. Lassen Sie mich mit der Aufnahme versuchen, und ich werde diesen Wert bekommen. Also, was ich tun werde, ist, dass ich diesen Vortrag wertvoll aufschreiben werde. Also der erste Vortrag und dass ich vom Kunden, Ich habe gerade Notiz gemacht, weil denken Sie daran, es war ein fünf Minuten Ablaufzeit asiatische Zeit, richtig? Also werde ich es bei einem legitimen Kunden wiederverwenden, ähm, Operation. Und dann sehen wir, ob es funktioniert, ich bin sicher, dass fünf Minuten die Liebe in dieser Zeit verbreitet haben. Jedenfalls ist
dies ein Admin-Token. Lassen Sie mich diesen Admin-Talkin holen. Ordnung, ich merke, dass es hier keine Informationen gibt, die sagen, ob es ein Admin ist, der unseren Kunden spricht. Es ist gerade ein Zeichen. Ich möchte diese mit der Anfrage auf einschließen und
dann auf Senden klicken. Andi lässt uns sehen, was passiert, wenn wir ein für Gebote Limit bekommen. Geh zurück und sieh dir was an. Ah, hier ist der Grund, warum die Rechtschreibung offen bleibt. Ich hatte viele gerade oder so lassen Sie mich aus dem Debug-Modus Strom, der bei
Ministerial-Tour verschüttet wird auf Lassen Sie uns das noch einmal versuchen. Ordnung, also sind wir wieder im Debug-Modus und lassen Sie mich das noch einmal versuchen. Andi,
ich schicke mit dem Token an. Wir kommen zurück von vier oder drei. Also denke ich, dass ich möglicherweise eine Konfiguration mit den Ansprüchen ändern muss. Um,
also, wenn sie aus dem Boot anlegen und dann nur um sicherzustellen, dass die Autorisierung funktioniert, ohne zu tun ist, entfernen Sie den Regelteil auf, gehen Sie zurück in Debug mehr als testen Sie das gleiche Token nur mit dem Autor s. funktioniert, ohne zu tun ist, entfernen Sie den Regelteil auf,
gehen Sie zurück in Debug mehr als testen Sie das gleiche Token nur mit dem Autor s.
Das bedeutet, dass es egal ist, welcher Benutzer als Token mit vorhanden ist, ähm, das ist nicht abgelaufen, es sollte funktionieren. Und dann wird das bestätigen,
ob es sich um
ein Problem handelt. Also, wenn ich es noch einmal versuche, diesen neuen Autor zu erstellen, da gehen wir. So funktioniert es. So ist es etwas mit den Behauptungen auf die Regeln. In Ordnung, wenn ich
also die ganze Autorisierung übernehme, ist
es da. Sagen Sie nein aus und versuchen Sie, das erneut in Punkt zu rufen. Dann kriegen wir das für einen unautorisierten. Aber in dem Moment, in dem ich das Trägerzeichen einfüge, ist
es ein gültiges Gespräch. Es wird funktionieren. Also gehen wir einfach zurück. Holen Sie sich aus Depo Mood auf Rezension O R. Ansprüche sechs auf in oder Benutzercontroller. Alles klar, was ich hier tun werde, ist, Stoffpunkte auf meinem Land 82 zu setzen, nachdem ich die Regeln bekommen habe, nur um sicherzustellen, dass die Regeln richtig zurückkommen. Also ging ich zu gehen, um mehr als zwei ein Log in Versuche mit Postman für den Admin
klicken auf senden entlarven . Dann sagte ich die Break-Punkte und wenn es trifft die Break-Punkte, wir schauen und wir sehen keine Rose kommen zurück. Das ist also das Problem, oder? Also kommt Norrell zurück für den Admin-Benutzer, und ich glaube, ich weiß warum. Wenn Sie sich erinnern, als wir den Benutzer im vorherigen Video beim falsch geschriebenen
Administrator erstellt haben oder was passiert ist, ist, dass er nicht versucht hat, den Benutzer erneut zu erstellen, und folglich hat
es den Benutzer nicht mit der Regel, Also werde ich das manuell tun. Andi. Ich gehe einfach in die Datenbank, damit Sie in Ihren SQL Server einloggen können. Ich habe immer noch meine von früheren Beispielen auf Es gibt hier eine Tabelle, die SP
Net-Benutzerregeln sagt , richtig? Also, wenn ich zu einem Top 200 gehe, wird es mir erlauben, nur den Benutzer i d und die zugehörige
Rolle I d eingeben . Also, wenn ich in Regeln gehe und ich nur wrack, klicken Sie auf die Top 200 wieder und dann sehe ich diese Administratorregel als I d. Richtig. Also kopieren Sie einfach, dass ich auf. Dann werde ich es in der Regel sagen, ich d. Und dann möchte ich die Benutzerrolle für die Benutzer. Also denke ich an Benutzer offen. Irgendwo drauf ist der Admin-Benutzer. Ich entscheide diese Kopie, dass Wert auf setzen Sie es als der Benutzer, den ich d an Bord drücken, eigene darauf wird der Datenbank verpflichtet. Also, nein, ich habe Associate ID mein Admin-Benutzer mit den Regeln. Das ist, was ich gesehen habe, dass du weißt, ich könnte die Anwenderidee in einer anderen Rolle haben. Ideen, die Administrator könnten beide bedauern. Dieser Admin-Benutzer könnte sowohl Administrator als auch Kunde sein, wenn ich wollte, dass er so gestaltet wurde. Jedes Loch, nein, das ist wir wissen, dass keine Regel zurückkommt und das ist ein Teil eines Problems. Es war nicht in der Behauptung enthalten, also versuchen wir es noch einmal. Also werde ich den Postboten benutzen, einen weiteren Login-Versuche
machen, um ein neues Token zu bekommen. Und dann habe ich in die Regeln zurückgeschaut und wir sehen Nein, dass unsere Rolle zurückkommt. In Ordnung, also hattest du das wahrscheinlich nicht,
äh, dass ich das hatte, weil du von Anfang an richtig geschrieben hast. Also, das ist in Ordnung. Ciders dre durch und bestätigt, dass es funktioniert. Also, jetzt kommen wir zurück. Der Anspruch auf dieses Token sieht viel größer aus. Diese Zeichenfolge sieht viel größer aus, als sie vorher aussah. Also die Behauptung, das Talkin sorry, ihre Rollen wurden nicht in die Talkin-Zeichenfolge aufgenommen. Lassen Sie mich also zu meiner Schöpfung auf Put in My New Bear zurückkehren, einer Schnur, die größer ist. Also werde ich immer wissen, dass irgendwo Informationen drin sind. Ich werde die Autoreninformationen ändern. Lassen Sie mich Hilton Burton versuchen. Na gut, , dann weiter. Lassen Sie mich ein wenig See-Waffen schicken. Da gehen wir. So sehen wir, dass die Regel tatsächlich eine große Rolle gespielt hat zu wissen, ob dieser Benutzer
Autor als Sicherheit ist oder nicht . Die ganze Aktion, richtig? Wenn sich die Rolle nicht im im Token befand, konnte
der Anspruch nicht verifiziert werden. Richtig? Also, nein, wir können sehen, dass es funktioniert. Nun, Jahre haben wahrscheinlich schon geklappt, also hole ich nur auf. Wenn deine vor dem Verstand gearbeitet hat, dann bist du unter Anziehung. Herzlichen Glückwunsch. Also, nein, wir können voran gehen und mit den anderen Endpunkten und anderen Token testen. Das war also das Oh, was? Ich habe es wirklich nicht fertig gemacht. Also lassen Sie mich. Mir wurde gerade klar, dass ich es nicht wirklich validiert habe. Also lassen Sie mich den Teil zurücksetzen, der besagt, dass die Regeln gleich Zehe Administrator Matrizen Bill Administrator richtig auf. Lassen Sie mich das noch mal versuchen. Also bestätigt Noah Puente, dass es funktioniert. Nun, ein anderer Autor. Das hier wird mein Treibstoff sein. Äh, Johnson. In Ordnung, auf. Dann klicke ich. Schicken Sie Andi. Es funktioniert. In Ordnung. Also nein. Unser Anspruch, auf Administratoren zu sein, die im Inhaber-Token enthalten sind. Also, wenn es trifft die autorisierte nur der Administrator durch. Also nein, ich werde es versuchen. So sehen wir, dass das Schlimmste des Administrators. Also bin ich mir ziemlich sicher, dass ich mit dem Update genauso arbeiten werde, wie ich es
mit dem Administrator ausprobieren werde. Transit. Führen Sie diese Löschung durch, wenn nur Kunden Benutzer in der Kundenrolle sind. Arlo, das zu tun. Also lassen Sie mich das auch bestätigen. Also lass mich dann einfach den Putt finden. Ich werde modifizieren und sagen,
Alles klar, Alles klar, ich modifiziere den Autor Toe, habe diese Informationen sicher. Ändern Sie diese Anfrage einfach ein bisschen an. Dann setzen in meinem Autor Azi gezeigt Bira im Gespräch mit den Administratoren. Token auf, dann senden Sie es abgelehnt mich sagen, dass ich verboten bin. Also lassen Sie mich dieses Mal als Kunde anmelden und einfach ein Kunden-Token abrufen. Na gut, dann
weiter. Lassen Sie mich einfach diese Schnur anbringen. Ich glaube, dass wir in Löschungen waren, oder? Ich denke, wir sind kein Wort, das angeblich führt, oder? Ich denke, ich wurde geändert, um zu setzen, sollte aber tatsächlich löschen. Also lassen Sie mich versuchen, zu löschen. Da die Kunden mit meinem Barrett autorisiert sind, nahm und legte in den Kunden-Token auf Löschen auch mit dem I d zu Alles in Ordnung, Das ist, wenn ich alles gewesen wäre, aber wir können es testen, wenn Sie wollen, aber ich bin mir ziemlich sicher, es geht , um mit entweder zu arbeiten Verwenden Sie ein Token, aber lassen Sie mich zuerst unter
diesem, lassen Sie es mich erneut mit den Admin-Token versuchen. Dies ist also die Admin-Token-Zeichenfolge. Lassen Sie mich weiterschicken. Ich bin verboten, damit der Admin nicht löschen kann. Lassen Sie mich erneut versuchen mit dem Kunden-Token Onda Wir sehen zwei oder vier keine Inhalte, weil das Löschen erfolgreich war, so und ich nicht wieder bekommen, sie bekommen seine Öffentlichkeit erlaubt anonyme kein Autor mit Idee 23456 und sieben Jedoch sind da auf. Also, das ist, wie Sie JWT Talkin rühren, Sie wissen,
sehen, ob Sie Ihre in Punkte auf sicherstellen, dass, wer mit ihnen interagiert, die
Autorität hat , dies zu tun
35. Änderungen in GitHub: Hey, Leute, willkommen in diesem Video, wir werden nur überprüfen, was wir in diesem Abschnitt gemacht haben und überprüfen oder ändern, um aufzustehen. Was wir also taten, war unsere Jason Webb-Token-Authentifizierung zu implementieren, und wir haben eine Kombination aus Kernidentität und einige eingebaute Bibliotheken von dot net core für die JWT-Authentifizierung verwendet. Also haben wir ein paar Änderungen an ein paar Dateien vorgenommen. Wir haben einen neuen Controller namens Users Controller mit einer Anmeldeaktion erstellt. Hinzugefügt einige Protokollierung, ähm ,
Zehe , wissen
Sie, Liebe die Aktionen. - Was ist los? Wo auch immer abseits von Kurs, jede tatsächliche, jede Aktion sollte einen bestimmten Standard auf erfüllen. So haben wir dafür gesorgt, dass es gut dokumentiert ist. Onda Protokollierung war an Ort und Stelle und Luftbehandlung. Wir haben auch Dysfunktion erstellt, um das Web-Token zu generieren, das Informationen von einigen Orten abgerufen hat, nämlich unsere Konfliktdatei, die AKI Onda hostet. Wir haben einige Ansprüche generiert und die Regeln hinzugefügt. Also stimmen die Ansprüche richtig und wir werden besprechen,
dass ,
dass Ansprüche im Grunde Informationen sind, die beschreiben, wer Sie sind und was Sie
tun dürfen . Also alle diese Informationen wurden in einer enthalten, die ich sagen werde, einfache Zeichenfolge, aber eine lange vertuscht eine Zeichenfolge, die all diese Informationen enthielt. Ich erkannte auch, dass wir durch das Hinzufügen der autorisierten Notationen zu bestimmten Aktionen kontrollieren konnten , wer mit dem Endpunkt interagieren könnte. Also haben wir anonym auf einige erlaubt. Aber dann neigen wir den Griff, wo wir gesagt, dass nur der Administrator erstellen kann auf. Dann haben wir gesagt, dass nur der Kunde auf aktualisieren könnte. Nur der Kunde konnte löschen. Also, in deiner Sicht, werde
ich eigentlich nur alle diese entfernen. Eigentlich gehe
ich zu mir, den Zeh zu gehen. Nur den Administrator autorisieren. Der Administrator wird also die einzige Person sein, die löschen kann. Ich gehe zu einem einsamen Administratoren, um jemanden zu aktualisieren, um den Kunden von ihrem
auf die Administratoren zu erstellenden zu entfernen . Aber dann werde ich alle nur authentifizierten Kunden in der Lage sein, jemanden zu sehen, um
die gleiche Autorisierungsrolle zu setzen , aber gut, Kunden, Onda und Administratoren, so dass sowohl Kunden als auch Administratoren kann die Werte jemand bekommen, um das auf dem get mit einem Wert auf dem generischen Gesamtwert zu setzen, so dass nur authentifizierte Person
mit allem interagieren sollte innerhalb des,
um,
geben Sie den Controller ein, also indem Sie einfach eine globale Autorisierung hinzufügen mir ist, dass, selbst wenn ich nicht weiß , der Endpunkt und ich vernachlässige setzen auf die Regeln. In Ordnung. Also, eigentlich, da ich nur zwei Welten habe, ist
dies wirklich nicht notwendig, ratifizierte Dreijährige und es wäre notwendig, wenn ich eine bestimmte Regel daran hindern wollte , es
zu tun. Also, nur wenn ich auf dem gesamten Controller autorisiert sehe, muss
ich nicht sehen, autorisiert hier auf ich muss wirklich nicht sagen, dass der Autor wieder da ist, oder? Denn wer dann mit irgendetwas interagiert, anstatt mit dem Controller wird
am meisten authentifiziert. Dann wird es strenger, wo wir sagen, nur Autor, da Administratoren bestimmte Dinge danach tun können. Das ist so, dass Sie über das Hinzufügen von Sicherheit gehen können, Zehe Ihrer Endpunkte. In Ordnung, also habe ich das für Autoren gemacht, und ich werde es einfach für Bücher tun, das Bier, bevor ich einsehe, einige würden diese gesamten Controller-Rechte autorisieren und dann hinzufügen, was ich hinzufügen
muss . Dann gebe ich eine Kopie der Zeile, wo nur für Administratoren autorisiert wurde, so dass ich nicht alles noch einmal auf jemandes Autor als nur ein Administrator eingeben muss, um
ein neues Buch zu erstellen . Nur ein Administrator kann das. Kann ich ein Buch über Dolan bekommen? Der Administrator kann ein Buch löschen. In Ordnung. Aber dann, die Kontrolle betrifft, können
nur autorisierte Personen auf alles zugreifen, was sich außerhalb des Controllers befindet. Bevor all dies möglich war, jedoch haben
wir
jedochdie Gerüstaktivität durchgeführt,
bei der wir unseren Befehl ausgeführt haben ,
nämlich eine Update-Datenbank , die neue Tabellen in unsere vorhandene Datenbank auf Ich werde nur das Datenbank-Management-System aufbringen um Ihnen zu zeigen, dass wir Regeln unserer Benutzerregeln haben. Also diese Stopp sechs oder sieben Tabellen wurden alle durch Datensatz auf 1/4 Identitäten Engine generiert auf Sie sind alle in entwickelt, um uns zu helfen, auf verwalten oder Benutzer und Regeln zu authentifizieren. . Wir haben auch hinzugefügt, ah paar Zeilen zu unserem Start, wo wir unseren Start gesagt haben, dass wir JWT
Bier-Token verwenden werden auf Dies ist die Art von Informationen, die wir enthalten wollen, sind Validator. Weißt du, sind nur einige Optionen. Es ist alles aus. Dieses Gericht wird es sein. Ich muss alles in Ordnung bringen. Nein. Auf Explosion Frau und keine Muse Leasing wurden auch eine C-Datenklasse hinzugefügt, in der wir einige
Beispielbenutzer aus dem get cool erstellt haben . Also Rechtschreibung ist wichtig, weil ich in Schwierigkeiten geriet, weil ich Administrator falsch geschrieben an einem Punkt. Also wurde dieser Schritt nicht so ausgeführt, wie er hätte sein sollen. Also werde ich einchecken. Nein auf. Ich werde nur mit der rechten Maustaste auf Kometen klicken. Wir schreiben unsere Nachricht, die es,wissen
Sie,
so klar wie möglich für jeden macht wissen
Sie, , der unseren Code auf betrachten wird. Dann verpflichte ich einfach alles auf die Spüle. Dann, wenn das getan ist, können
Sie immer gehen, um nach Hause zu kommen und zu bestätigen, dass Sie wund waren. Die Schule ist keine Köder und wie immer, Ich würde den Quellcode für diesen Abschnitt in der Ressource enthalten ist unten.
36. Blazor Projektstrukturen erstellen: Hey, Leute, in diesem neuen Abschnitt werden
wir anfangen, all das, was ihr weiß,
unsere Firma über FBI auf unserer Technologie aufzubauen . Offene Wahl ist Microsofts Web-Assembly-Technologie namens Blazer. Kein Blazer ist ziemlich neu, und es ist oben auf dem Punkt Netzkern gebaut. Andi. Zusammenfassungen von Prinzipien sind da drin, aber es ist eine große neue Technologie, die Ihnen erlaubt, Art off, nicht zu gehen, um zu reagieren oder eckig, um das Gewicht zu bekommen. JavaScript-basierte U Y darauf ist immer noch sehr Punktnetz, So bekommen wir immer noch an Gericht C scharf, während wir die Vorteile einer sehr reaktiven
Benutzeroberfläche genießen , um über Feuer zu gehen, um dieses Projekt zu starten. Was wir tun werden, ist in unserem bestehenden Projekt, wir gehen einfach zu Fuß. Nun, Nun, ich werde nur die Buchhandlung zusammenbrechen, ap ich projektiere und ein neues Projekt innerhalb
der Lösung erstellen , damit Sie mehrere Projekte in einer Lösung haben können, und ich klicke einfach mit der rechten Maustaste auf die Lösung. Klicken Sie auf Hinzufügen klicken Sie auf Neues Projekt an und dann in der Liste aus Projektvorlagen. Du solltest Blazer sehen. Wenn Sie Blazer nicht sehen, können
Sie einfach einen Blazer eingeben und suchen. Und wenn Sie
nach allem, was Sie immer noch nicht sehen, können
Sie auch weitermachen und weitere Tools und Funktionen installieren. Oder Sie müssen möglicherweise die Binärdateien nicht laden, die tatsächlich Taschen mit dem dot net core 3.1 sdk sind. Also fürchte ich so weit ins Produkt. Ich weiß wirklich nicht, dass du es nicht sehen wirst, also mache ich einfach weiter. Wenn du keine drei Kinder
siehst, können ich und wir gemeinsam daran arbeiten. Jemand, der Blazer als meine Projekte Vorlagen auswählen und dann werde ich ihm einen Namen geben. Ich werde es Buchhandlung Dashi Y Nein nennen, nur der Punkt davon. Manchmal, wenn Leute Projekte machen, die sie gut kennen, sie machen, werden
sie eine Anwendung erstellen, von der sie wissen, dass wir mehrere Projekte haben werden. Manchmal erstellen sie die Lösung, geben ihr einen generischen Namen, dann sind die Projekte spezifischer. Hier können Sie sehen, dass
ich irgendwie dieses Prinzip gebracht habe, wo ich das ursprüngliche Projekt mit einem Namen erstellt habe. Und so bekam die Lösung für das erste Projekt diesen Namen. Aber dann stelle ich ein anderes Projekt im Schlepptau vor, eine Lösung namens Buchhandlung Dash FBI So kann es Wann? Ich, weil ich wirklich mag, dass ich sehen kann, wo nur zu Verwirrungen. Das habe ich gerade durchgemacht. Ich weiß es nur. So können Sie das zu schätzen wissen. Deshalb ist die Lösung auf einem der Produkte mit dem gleichen Namen. Aber offensichtlich hätte es ein bisschen mehr verfeinert werden können. Richtig, also machen Sie einfach weiter. Ich habe ein neues Projekt Buchhandlung Bindestrich, Sie ich und dann gehe ich voran und klicke erstellt. Ich weiß, sie werden mich fragen, welche Version oder welche Funktionen. Entschuldigung, ich möchte also keine Authentifizierung erstellen. Ähm, ich lasse alles andere und ich werde einfach voran und klicke. Erstellen Sie alle Rechte sind neu. Das Projekt ist hier. Sie können das grüne Plus sehen, weil, naja, es ist neu, also ist es noch nicht im Ghetto, also wenn Sie sich das für die Struktur ansehen, bin
ich sicher, dass Sie einen Moment andere Zehe haben werden. Andi. Ja, du hast recht. Es sieht genauso aus wie unser Rasiermesser-Seiten-Projekt, mit dem wir begonnen haben, dass wir langsam ein Paarprojekt
umgewandelt haben. Ungeachtet dessen, dass es einige gemeinsame Dateien hat, die in jeder
Punktnetz-Kern-Projektvorlage angerufen werden , die wir uns angesehen haben. Nein. In Ordnung, also haben Sie Ihren Standardstart, das ist ja. Und das ist, werfen Sie einen Blick auf das, wo die Start-Off-Funktionen ziemlich die gleiche
Art und Weise sind , oder starten Sie Web. Oder haben wir oder Konstruktor haben wir oder Konfiguration eines Web oder konfigurieren Dienste? Alles klar, konfigurieren Sie Dienste. Und wir haben Alright auf konfiguriert. Dann können Sie sehen, dass verschiedene Mittelwaren hinzugefügt wurden. Also in dieser Situation haben wir Dienstleistungen, die Arterien von Seiten und an einem Server Seite Blazer Rechts auf, dann nicht. Hier. Du siehst, dass du, Ah, ein paar verschiedene Möglichkeiten hast. Was? Der Punkt ist, dass dotnet Core eine Grundlage auf dann bietet, basierend auf dem, was Sie wollen, alte oft Anwendung, können
Sie voran gehen und die erforderlichen Dienste hinzufügen, um sie in den Start
der Anwendung bootstrapped . Also keine Aufzeichnungen wie eine leere Leinwand. Und basierend auf dem, was Sie in Ihren Start gelegt haben, das besagt, dass Sie eine Identität aus Ihrer
Anwendung und ihrem allgemeinen Verhalten und seinen Fähigkeiten bilden , so dass Sie sich etwas Zeit nehmen und
die verschiedenen ansehen und wahrscheinlich mit dem Beginn dieses CS von Unser a p. Ich projiziert nur, um die verschiedenen zu sehen, zumindest nicht die, die wir eingebaut haben, sondern die verschiedenen Funktionen, die initialisiert werden. Also, hier haben
innerhalb der Verwendung Endpunkte Mob-Controller aktiviert. Ich glaube, das ist eine Veränderung, die wir vorgenommen haben. Dann hier drüben ist es wirklich Mop-Blazer, Hoffnung auf Mopp Vater Grube. So sehen Sie, es ist wie Unterschiede, aber dann ist alles andere, was das gleiche Problem tps drei Richtung. Wir entfernen statisch schneller, mehr ein p I. Aber Routing ist da. Und wenn Sie schauen, sehen
Sie die Verwendung rotieren auf der https drei Richtung, die wir in diese setzen Wir verwenden diese weil wir in unserer Authentifizierung und Autorisierung wieder den gleichen Punkt Net Core haben nur verschiedene Verhaltensweisen basierend auf dem, was , die Sie initialisieren. Kein Umzug von, dass wir immer noch das Programm haben, dass CS, das so ziemlich das gleiche tut was wir immer noch unsere verärgert haben, ist, dass Jason, die aus der
Box sieht ziemlich ähnlich wie Wir haben so geteilt auf Verteidigungsstil. Können die Dateien, die Sie bemerken, dass sie unterschiedliche Erweiterungen haben. Also, wenn Sie verwendet werden, um NBC, dann haben Sie CS, dass CS HTML auf def. Sie haben Rasiermesser, als Sie sehen werden, angedockt sensationell mit einem Gericht hinter der Akte nirgends . Blick auf Blazer auf der Erweiterung ist nicht Reser. Das könnte für dich aussehen, denn du weißt schon, du hast Rasiermesser-Seiten. Du hättest gedacht, Tereza Peaches würde diese Erweiterung haben, aber sie nicht. Blazer Seiten haben also Batterien als Erweiterung gelesen. Ich werde mir nur etwas Zeit nehmen und jede Akte durchgehen, nur um Ihnen zu zeigen, was die Fakten sind daher aus dem Kasten. Also habe ich keinen Grund. Dies hat einige grundlegende Konfigurationen, die uns sagen, Sie wissen schon, die, ähm, wie einige rohe Abstimmung für Fehler dort. In Ordnung, Sie müssen nichts daran ändern, es sei denn, Sie wollen wirklich etwas ändern. Sie können zu Importen gehen, und das ist kein hat, wie ein globaler Duric-Baum für alle Bibliotheken,
die in Ihren verschiedenen
Ansichten verwendet werden und das ist kein hat,
wie ein globaler Duric-Baum für alle Bibliotheken,
die in Ihren verschiedenen
Ansichten verwendet werden. Also, während wir weitergehen und wir beginnen, neue Namensräume und neue Bibliotheken und Funktionen
und Klassen einzulegen , wenn Sie wissen, würde die using-Anweisung in jeder Gerichtsdatei in einer Punkt-CS-Datei tun . Wenn wir es einfach in den Import-Startrasierer setzen, wird
es global für alle zugänglich gemacht werden, um Riza ph im Projekt. Dafür ist der Importkampf. Wenn ich in geteilte gehe, sehen
Sie, dass Sie die Hauptlasten haben, die Sie das Navigationsmenü haben. Sie können sehen, dass ihre grundlegende Ausgabe von Dateien mit Hinweisen von c scharf. So siehst du immer C-scharfen Akkord mit einem At-Zeichen. Richtig? Hier siehst du das Schild an. Dann ist dies buchstäblich nur sehen scharfe Brett. All das ist das gleiche c scharf, über das wir geschrieben haben, um zu wissen. Und das ist, was macht bitte so toll, dass Sie nicht mischen müssen und viel mit zu viel Javascript. Nein,
nicht, dass JavaScript schlecht ist. Aber wenigstens, wenn sie auf einem Lager aufzeichnen, ist
es einfacher zu erkennen, wo Dinge schief gehen könnten. Weil das ganze Gericht irgendwie sehr ähnlich aussieht. Richtig. Also das ist unser genug Menü auf Nun, Sie können hier sehen, wir haben jetzt drei, ähm, out of the box Links. Ich werde viel Zeit dort verbringen. Wir haben auch Seiten, so dass Seiten, wo unsere benutzerdefinierten Seiten gehen werden. Also, wie immer, haben Sie die Index-Rede, die nur sagen Hallo Welt auf etwas anderes. Sie werden auch feststellen, dass zusätzlich zu unseren regulären HTML-Kacheln Sie einige benutzerdefinierte Tags sehen, die
im Grunde Gespräche sind ,
um ,
umuns Rasierbestandteile im Projekt zu geben. Richtig? Sie werden in Abrufdaten sehen, Sie werden sagen, ein bisschen mehr C scharf geht los. Also zuerst die Seite definiert auf, dann geben Sie ihr die Adresse. Ich sage, dass dies eine Seite auf den Adressen Schrägstrich Abrufen von Daten ist. Da ich dorthin kommen will
, sollte ich genau darauf tippen. Dann sehen Sie hier eine using-Anweisung. Also, wie gesagt, können
Sie die using-Anweisung auf der Seite selbst einfügen, oder Sie könnten es in Importe einfügen und es wäre global zugänglich. Ähm, und dann siehst du, injizieren Sie hier. Also haben wir ziemlich viel von Abhängigkeitsinjektion gemacht, um zu wissen, dass dies
Abhängigkeitsinjektion in der Blazer-Ansicht ist . Wenn wir also Auto-Repositories und unsere benutzerdefinierten Dienste entwerfen, müssen
wir nur sagen, injizieren, den Dienst nach seinem Namen
aufrufen. Und dann können wir es genauso verwenden, wie wir es in unseren
Controllern initialisieren und dann anfangen, es zu benutzen. Alles klar, zu diesem Thema. Milizsoldaten. Nein, du siehst beim Schild bei, komm schon, deine Aussagen. Wo es sieht, ob dies erträglich ist nein. Dann zeigen Sie einfach diesen Text. Andernfalls generieren Sie die Tabelle auf dem Stall wird Toe Rollen für jedes
Element innerhalb dieser Liste generiert werden. Richtig? So erscheint Prognosen eine Liste auf Prognosen existiert, weil in der Schnur es auf dann auf initialisiert eine Senke deklariert wurde. Sie haben also eine eingebaute initialisierte Funktion, wo sie sagen, wenn die Seiten initialisiert wurden. Ich wollte weitermachen, Prognosen mit etwas füllen. Also sind wir Prognose-Service, der eine Spüle prognostiziert. Ich vermisse nehmen Wohnungen außerhalb des Datums Zeit? Nein. In Ordnung, so ziemlich, wenn wir anfangen,
es auszubauen wird das so aussehen, wenn wir Sachen bekommen wollen. Wir werden unseren Service injizieren lassen, und wir werden sagen, Service unseren Bericht Punkt, was auch immer Funktion er ist, dann wird er ihn abrufen, in die Liste
setzen, und dann laden wir entsprechend. Richtig? Und dann sind das die Beispielseiten. Führen Sie die Anwendung so bald aus. Versichern Sie, was die Proben sind Ein Boot. Ich wollte nur die verschiedenen Akkordelemente in Daten
sehen und fühlen. So erhalten wir einen Ordner namens Daten und Daten, wie wir wissen repräsentiert. Wissen Sie, die Daten werden unsere Modelle aus den tatsächlichen Datentabellen durchlaufen. Richtig. Also diese Daten, es wird lose verwendet. Wir können es auf Modelle Onda ändern, wie wir gehen zusammen mit feinen auf entsprechenden Namen oder die entsprechenden Dinge unter Daten speichern,
wenn man bedenkt, dass dies ein Blazer up, der von einem FBI liest. Das bedeutet also, dass dieser Blazer nicht direkt mit unserer Datenbank interagieren wird. Das einzige, was Sie über eine Datenquelle wissen werden, ist die Tatsache, dass wir es erzählt haben oder
es erzählen werden . Holen Sie sich Ihre Informationen von der A P I oder bitte Informationen in der Form in den
Händen von der AP gesammelt und lassen Sie das FBI tun das Handgelenk. Richtig? Deshalb bauen wir diese entkoppelte Lösung, bei der der AP die gesamte
Brokerage mit der Datenbank abwickelt , dann muss jede andere Client-Anwendung kein eigenes Datum speichern. Ich kann einfach das FBI benutzen, um alle Operationen durchzuführen, damit dieser Ort oben
leicht ein Winkel sein könnte , den ich von dir reagiere, Jase oder sogar ein Handy oben. Es spielt keine Rolle. Du kannst einfach dran sitzen und mit dem FBI reden. Also, wenn
ich weitermache , werde ich nur einen kurzen Blick ins Wasser werfen. Also haben wir Wettervorhersagen und Sie sehen, hier haben wir die Daten, die Temperatur C Temperatur f im Sommer auf, def. Wenn Sie zurück in die Datei „Daten holen“, werden
Sie sehen, dass das ist, was gedruckt wurde. Wurden prognostiziert, dass die String-Temperaturen C und F auf der Zusammenfassung Daten. Richtig? Das bedeutet also, dass dies das Modell aus den Daten ist, die innerhalb von diesem
direkt dargestellt werden , dann ist der Service ziemlich genau das, was wir in unserem Repository erstellt haben, wo er aufruft. Das ist also nur ein Juckreiz initialisiert oder eine Liste von Zusammenfassungen auffüllt, dann ist dies nicht zu sagen, eine zufällige Liste von Prognosen zu generieren. Das scheint immer so zu sein. Gib mir eine zufällige Liste. Off-Typ-Wettervorhersagen, die die Datenklasse ist, die er gerade angeschaut hat, füllen Sie die Eigenschaften mit einigen Zufallswerten auf . Dann wird das zurückgegeben. Also im Grunde, das wird im Schlepptau zurückgegeben. Dieser Aufruf unsere diese Variable auf dann. Es heißt also anfangs eindeutig keine Daten haben, aber sobald es Daten hat, füllt
bitte die Tabelle auf. Es gibt wirklich nichts anderes in diesem Projekt, das ich betrachten muss. W w Route war ekstatisch. Feuer so Bootstrap und ikonische, ähm, Mittel auf die richtige Nummer eins, um diese Anwendung auszuführen, damit wir sehen können. Im Moment heißt es „Boots“, Buchhandlung“, Strich a p a , das ist armenisches Projekt. Richtig? Wenn ich also das mittlere Projekt wechseln möchte, kann
ich immer mit der rechten Maustaste auf das Projekt klicken, das ich möchte. Sagen
Sie, setzen
Sie, starten Sie das Projekt oder setzen Sie sich als Projektbeginn. Oder ich kann dieses Drop-down-Menü verwenden und es einfach zu dem ändern, das ich sein will. Es ist, was Sobald es der Anfang des Projekts ist, wird
es immer in Schraube sein. Dann werde ich diese Anwendung ausführen, damit wir sie in der Vorschau anzeigen können. Also, das ist unser Boot aus der Kiste, bitte. Luft-Anwendung gegen er uns gibt. Ah,
schön, dich auszusehen. Ich komme direkt aus der Kiste, Onda. Wir haben drei Seiten, so haben wir zu Hause haben wir Zähler auf wurden geholt Führer. Ich beginne mit französischen Daten, weil ich wirklich nicht auf den Zähler geschaut habe. Also werde ich das tun, Datum
holen, und dann analysieren wir zusammen Contra. Also, wenn ich Daten hole, sehen
Sie, es lädt sie einfach. Ich hatte gehofft, du würdest etwas länger dauern. Sagen Sie, würde das Laden sehen, das ging, um zu sehen, ob ich das gesamte Projekt aktualisieren kann. Also denken Sie daran, dass dies ah ist, eine einzige pH-Anwendung. Wollen Sie also schlagen? Re frisch ist buchstäblich Fuß. Aktualisieren Sie die gesamte Anwendung. Nicht unbedingt nur der Pfirsich. Alles klar, wenn
ich klicke, holen Sie sich später. Ok. Nun, es wird zu schnell geladen, um das Einkommen des Herrn zu sehen. Es ist wirklich cool. Also, während es die Daten erhält, können
Sie etwas anzeigen, und es wird automatisch mit sehr wenig Aufwand. Sie sahen, dass es nur eine Aussage brauchte. Jedes Loch, gehen wir zum Kontern. Also Zähler hat eine Schaltfläche, die Quick Me auf sagt, wenn ich klicke, es wird nur auf so oft wie ich klicke erhöhen. Es wird nur inkrementell bleiben. Also schauen wir uns die Kernbasis dafür an. Die Gerichtsbasis für diese Akte ist also einfach elegant. Erstens beginnen
wir mit der Seite und der Adresse Schrägstrich Kultur. Das ist, wo Sie es von der Basis-URL bekommen, richtig? Also jede Seite Zitat unquote, ist wirklich eine Komponente, so dass sie sie bezeichnet. Es ist eine Komponente, und diese Komponente kann eine Adresse haben oder es kann eine Teilkomponente sein. Wissen Sie, was passiert ist, dass Sie hier eine Variable sehen, die Stromkegel genannt wird, oder? Also noch einmal, wollen Sie das Außen sehen? Sie wissen, dass das c scharfe innerhalb des HTML in der Rasiermesseransicht sind, richtig? Oder erhöhen Sie ihre Syntax. Wie auch immer Sie wollen, es ist dann haben wir unseren Knopf
, der ah, klassische Taste mit einigen, ähm, Stiefel Shop Klassen auf. Dann bemerken Sie, dass sie ein At-Schild haben, bevor Sie auf klicken. So wissen wir alle, dass JavaScript gibt uns diese Pick-Events sind diese Ereignisse, die auf
verschiedene Elemente gehen können . Alles, was ich getan habe, war, von dieser Seite zu nehmen. Und das sieht so aus, wie es aussehen würde, wenn es JavaScript wäre. Schreibt Owen. Klicken Sie auf. Dann sehen Sie nur offene und schließende Klammer. Tut mir leid, dann. Das wüsste es einfach. Okay, Es sollte nach einer JavaScript-Funktion namens increment suchen. Zählen Sie auf. Dann würde es das JavaScript hier aufrufen, obwohl
wir in Blazer kein Javascript benötigen. Wir können einfach das Äußere sagen, OK, das wird ein c scharf sein. Und wenn Sie den Mauszeiger darüber bewegen, werden
Sie feststellen, dass es sich um ein Ereignis namens Boxen handelt, ein spezialisiertes Typ-Off-Ereignis, das wir hier angeben und dann wissen Sie, was ist das? Dies ist nicht hervorgehoben. Es wird also sagen, inkrementiert Inhalt. Es erwartet also, dass der Gerichtsabschnitt eine Funktion hat, die
Inkrementzählung genannt wird . Oh, meine Standardwerte. Wir hätten bereits initialisiert sind variabel. Korrin. zähle auf Dannzähle auf. Sehen Sie hier, dass es die Funktion Inkrement Coat hat? Nein, denk
einfach drüber nach. Jedes Mal, wenn Sie darauf klicken, tut es eine aktuelle Zählung plus Plus, aber was Sie nicht sehen, seinen Kern, der sagt, OK, nein, dass sich dieser Wert geändert hat. Gehen Sie zurück auf das Update. Der Wert hier, solange sich der Wert irgendwo ändert, wo er sich innerhalb des Gerichts ändert, basierend irgendwo, wo er dargestellt
wird. Es wird sich auch ändern. Und das ist, was macht Spiele sind so einfach zu bedienen und so einfach zu erstellen. Ein sehr ansprechendes Ich bin nicht in Bezug auf die Größe reaktionsschnell, sondern reaktionsschnell in Bezug auf die Benutzererfahrung insgesamt, Benutzer stört auf Anwendung. Also, das ist eine schnelle unter Tour von ihrem schnellen und schmutzigen abgerissen Blazer. Was ich wissen werde, ist unsere vielen Optionen zu modifizieren, denn denken Sie daran, dass wir es mit Büchern und Autoren zu tun haben, und wir werden auch einige Fähigkeiten benötigen. Zehe melden Sie sich an. Ich bin die Kasse. Einige wollen zu unserem genug Menü auf Ich werde diese Links ändern oder lösen. Also dieser sagt, zu Hause verlasse ich das Haus allein, änderte Zähler, um Autoren auf unseren Tränen holen im Zusammenhang Bücher zu speichern. Also natürlich, wenn ich die
ändere, muss ich auch die Reise ändern. Also gibt es keine Kellnerinnen nur Zähler. Es sagt, nur Füße holen Daten, also sage ich einfach die Wahrheit, um Autoren zu sehen und aus diesem, um es Bücher zu sehen. Das heißt, ich muss Komponenten, ähm, eins für Autoren, eins für Bücher. Aber dann habe ich gesagt, dass wir einige Register- und Luggging-Funktionen haben werden. Also, was ich tun werde, ist nur erstellen zwei weitere Menüpunkte auf der Diese eine wird
so leid sein . In Ordnung, lass mich das Salz nehmen. Ähm, ich werde erklären, was diese neuartige Sache bedeutet, dass ich es einfach für Nein nehme. Also sind wir zu Hause, dann sagen wir, ich habe lange in Andi. Ich habe auch ein Register, okay? Und dann würde ich mich wahrscheinlich ändern wollen. Wenden Sie diese Symbole um, wissen Sie, dass sie die Standardsymbole haben. Dieser hier ist reich, unehrlich. Außerdem ist
dieser hier zu Hause. Ich bin mit dieser Bibliothek nicht so vertraut. Vier Symbole, aber ich werde hier einfach einen Sprung des Glaubens machen. Und was ich tat, wurde entfernt, was nach dem gestrichelten kam. Also ich Strich, ich habe gerade entfernt, wie, sagen wir, das Plus auf dem Nachrichten-Kontrollraum. Und dann, weil die Skript-Dateien, ihr Visual Studio gibt mir die Liste von allen möglichen Symbolen, die ich habe. Also lassen Sie uns sagen, ich möchte lange verwenden, äh, ich möchte die Zeit nicht nutzen, nur auf das Symbol zu schauen. Also finde ich einige gute Symbole auf. Machen Sie keine Vorschläge vom Kurs. Ihre Idee könnte anders sein als meine, also werde ich einen Schlag für die Anmeldung verwenden. Mal sehen, ob sie ein Buch haben. Sie haben ein Buch für die Registrierung. Alles klar, das funktioniert für mich, in Ordnung? Und dann alles, was ich in der Nähe auf der Liste lassen. Ridge, schauen wir uns das schnell an. In Ordnung? Also, wenn diese neue Seite Lords, sehen
Sie, kommt
es auf. Also denke ich, dass diese vielen Elemente suchen oder die Protokollierungsinteressen gibt es beide Highlights genau wie zu Hause, weil der Home-Link soll diese Hervorhebung haben. Und im Moment zeigen diese auf alles. Also sehen sie alle aus wie das Zuhause. Während ich diese Adressen gab. Deshalb siehst du diese Planeten so später, dass sie anders aussehen werden. Ähm, wenn ich eine von diesen anklicke, die ich erstellt habe, die Sie sehen Sorry, Es gibt nichts an der Strip-Adresse, weil es auf eine Ressource zeigt, die ich noch
nicht erstellt habe. Also machen wir das später. Aber für jetzt, das ist es für unsere Einführungen. Ein Blazer. Wenn wir zurückkommen, werden
wir anfangen, unser basiertes Repository auf Kunden einzurichten, damit wir
mit unserem FBI kommunizieren können .
37. HTTP-Client- und Repositories: Willkommen zurück, Leute. In diesem Video werden
wir einige Baseline-Konfigurationen in unserem Blazer-Projektnamen durchführen. Sie wollten das basierte Repository einige statische Endpunkte einrichten, um nur einige allgemeine Projekteinstellungen durchzuführen, so dass wir diese Dinge nicht überdenken müssen. Oh, ich ging schon voran und habe ein paar Ordner erstellt. Ich habe eine Vertragsmappe. Ich habe auch einen Service-Ordner und unsere statischen Ordner. Also werden wir anfangen, ein paar Dateien in sie zu setzen. Ich werde mit dem Vertragsordner beginnen, damit der Vertragsordner
auf der Schnittstellendatei steht . Also klicken Sie der Strike auf Anderson hinzufügen, um eine Klasse zu erstellen. Aber dann wird es eine Schnittstelle sein, und der Name wird ich basiertes Repository sein. Ich klicke dann
wie üblich auf Hinzufügen , was davon ist, eine Klasse zu einer Schnittstelle zu sein, Sie fragen sich wahrscheinlich, OK, aber haben wir nicht nur damit mit dem AP gemacht? Warum werde ich das noch mal tun? Was wir also tun werden, ist, einige Standardfunktionen für Blazer zu setzen oder sind Sie bereit, mit dem A P I zu interagieren? So wissen wir bereits, dass es bestimmte Dinge gibt, die wir auf 10 Punkte zu tun, auf diese würden die aktuellen Operationen, die wir schaffen. Wir Updates löschen wir auf wir lesen, richtig, Also haben wir alle in Punkten, um diese Dinge zu tun. Also im Grunde richte
ich nur einige Basisfunktionen ein, die als Proxies fungieren, um mit den A P s zu sprechen. Also haben wir nicht jedes Mal richtig diese Anfragen, richtig? Also gehe ich Zeh, habe eine Aufgabe, die mit Say richtig geht. Also habe ich eine Aufgabe aus Typ t auf Dann haben wir bereits besprochen. Also werde ich die gleiche Art von Generikum machen. Um da, Buster hier, wo ich sagen werde, es war ein Anruf in der Klasse. In Ordnung, also werden wir alle sehen, die Sultan in einem späteren Teil arbeiten. Aber die erste Funktion ist Aufgabe t on. Wir machen weiter. Dann werde ich die URL übergeben,
wie in den Endpunkten, von denen ich beabsichtige, Daten auf dem I d zu erhalten. Also dieser ist für den einzelnen, um Objekt oder einen einzelnen Datensatz Retrieval. Der nächste, wir haben einen anderen. Na los, dann das. Get ist auch eine Aufgabe, aber dieser ist wieder auf. Ich liste vom Typ Tee direkt auf dem gleichen Namen wird Aber dann ist dies nur eine Überlastung, wo es einen String-Parameter nimmt, der nur die URL ist Weiter oben haben wir o r erstellt. Dieses Mal wird dieser Ah-Anlagebarren sein. Also habe Task Bull und erstellen Sie auf Wir übergeben die URL für unser Objekt an, dann
löschen Sie im Grunde beim Update, um die gleiche Weise mit einer Ausnahme für das Update zu suchen, wo Opiate an dritter Stelle
haben werden . Sie sind bestimmte Genehmigungen oder Entschuldigung für den I. D. Nun, eigentlich brauchen
wir das nicht einmal, um ehrlich zu sein. Also ich möchte, dass du das einfach nimmst, weil ich diesen dritten
Parameter wirklich nicht brauche , ,also erstellen Sie Update und Löschen. Sieh praktisch genauso aus, okay? Oh, aber löscht Nimmt die Idee anstelle des Objekts, das versucht wurde, das
Objekt zu erstellen und zu entfernen . Aber die Führung ist nur, die Idee zu übernehmen. Nein. Nach der Implementierung des Repositorys werde
ich den Dienst implementieren. Ich werde das hier anrufen. Nun, ich rief eine voll von Service, aber wo wird der gleiche Name zu verwenden, und ich werde es Basisrepository nennen. Na gut, dann. Das werden die direkten Kosten aus unseren Ideen sein. Repository. Also, diese, die Definition wird ein bisschen anders aussehen, denn dann gehe ich zu CVS-Repository Time
t diesmal, Colon. Ich nehme an. Also, nein, ich erbe von vorbei. , Sie Also die Sache ist,
wissenSie, dass wir diese,
ähm, Repository-Obits dynamisch machen , wo ich nicht hart Zehe neu erstellen Funktion an Deck und die Spots in der -Klasse auf dieser Basisfunktionalität wieder ausgeführt werden. Art einer Klasse, die durch Übergeben. Also haben wir diesen zusätzlichen Schritt in unserem vorherigen Repository nicht gemacht, also haben wir es so gemacht, und dann zeige ich sie einfach oder generische Obstruktion, die tun kann, so kann ich sehen, wo t voll in der Klasse. Na gut, dann
weiter. Ich habe Zeh wie üblich implementiert das Repository oder die Interferes. Entschuldigung. Also, nein, wir bekommen unseren kreativen Lead, bekommen Opiate aus Glanz. Nein, um das zu öffnen, muss
ich es haben. Meine privaten schreibgeschützte Eigenschaft und es wird vom Typ I h T p Client-Fabrik sein. Ordnung, das wird
also unser Clanfaktor sein. Das ist, wenn der Griff alle unsere Verbindungen zum FBI und der U früheren Anfrage und ich
rufe den Objektclient an. Andi, du weißt schon, du gehst einfach vor und fügst jede Bibliothek ein, die dir sagen wird, dass du dann als
Kunde haben musst , wir haben unser Konstrukt. Also, dieser Konstruktor, der das gerade nimmt, ist ein Parameter, und wir machen nur unsere Injektion gemäß den Rechten. Also werde ich es einfach auch initialisieren. Das eingehende Clientobjekt. Also lassen Sie uns unser Schaffen Gericht zusammen schreiben. Also, einige vom Platz und wir werden schreiben, werden sich gegenseitig wiederholen . Also, nachdem ich es einmal geschrieben habe, wirklich nur zu kopieren und einfügen und einige wichtige Dinge auf wir können durch diese
relativ schnell bewegen , Also werde ich beginnen, indem ich virale Quest sagen. Alles klar, also bitte ich ist im Grunde, wenn oder Sie Weg oder Benutzer etwas auf R u y klickt, dass
etwas die Autorenrede sein würde. Also schicken wir eine Anfrage an das FBI, richtig? Also baue ich die Anfrage auf. Ich sage, Vira Quest ist gleich der neuen HTTP-Anfrage Nachricht direkt auf, dann um diese Nachricht zu bilden. Und wenn ich nur die Overlords für diese Funktion anschaue, sehe
ich, dass sie die HTTP-Methode Komma die Anfrage haben, Earl. Richtig. Also werde ich sagen, es sind TTP-Methodenpunkte. Und dann habe ich auf alle Methoden zugegriffen, die in unserem A p gebaut hätten. Ich signierte Love Post schreibt Denken Sie daran, erstellen verwendet den Methodenpost darauf. Hier kommt Dokumentation ins Spiel. Denn dann hätte die Dokumentation dem Entwickler von der U Y mitgeteilt, für Sie informiert, der Entwickler des U A Gebäudes auf einem bestehenden FBI. Welche Methode beim Erstellen von Süden zu verwenden, zu sehen, Erstellen von Punkten mit get bereits Onda. Wir haben sie mit Post gesehen. So können Sie sehr auf Design basieren, dann wäre der nächste Parameter die u R l, die das Mädchen ist, das durch den Funktionsaufruf hereinkommt. Alles klar, danach sehen
wir, ob das Objekt, das fasten war, nein ist. In Ordnung, dann wollen wir nichts auf Ankündigung tun. Das ist ah,
Aufgabe, unsere Bullen zurückzugeben, so dass ich einfach zurückkehre fällt. Das bedeutet, dass dies ein gescheiterter Versuch war, sind ungültige Atome. Alles klar, Nächster. Wenn das den Test bestanden hat, werde
ich fortfahren und den Inhalt der Anforderungspunkte sehen. So viel. Erstellen Sie den Inhalt für die Anfrage und ich ging zu sehen, ist Gleichheit neuer String-Inhalt auf der Innenseite des Stream-Inhalts. Wir müssen zu Jason konvertieren. Also werde ich sagen, Jason konvertiert. Alles klar drauf. Ich glaube, ich muss dafür eine Bibliothek einschließen. Gerade enthalten schnell auf, dass neue Wende weich ist. Also brauche ich eine Bibliothek namens Newton Soft Jason, die ich glaube nicht, dass es standardmäßig Teil des Pakets ist, also hätte ich zu neuen bekommen gehen können, aber genau hier sagen
sie:
Nun, Nun, Sie können einfach finden und installieren Sie die neueste Version. So wird dies automatisch zu neuen gehen lassen neue Einstieg für mich auf. Da gehst du. Es gibt die neueste Version, damit Sie ihr etwas Zeit geben können, und wenn es fertig ist, sehen
Sie, dass sich die Farbe ändert, richtig? Also, Jason, konvertiere Punkt auf, dann möchte ich das Objekt serialisieren. Dann werde ich in Sitzen übergeben und nach Objektwert oder B J fragen. BJ stellt
also die Daten dar, die kamen oder die Nutzlast, die direkt als nächstes gepostet werden muss. Wir werden unseren Client speichern, ist gleich meinem HTTP-Client-Objekt,
das unterstrichen Clients ist, die Clients erstellt. Also erschaffe ich unsere Clans auf. Dann werde ich sagen, HTTP-Antwortnachricht Antwort ist gleich warten auf. Dann ging ich zu den Clients das Client-Objekt, das wir gerade erstellt haben, zu sehen. Ich möchte sagen, dass ich will, dass du die Nachricht schickst. Ein synchron habe ich diese Anfrage gesendet, ist synchron. Also, was dann tun wird, wird weitergehen. Dann senden Sie die Anfrage an und Sie sie hier zurück. Keine Verwendung eines stark typisierten, ähm, wissen
Sie, Feuer hier
verwenden, weil dies das Ergebnis davon bedeutet. Es muss aufhören. Sehr. Du willst also sehr,
sehr gut hier sein . Im Gegensatz dazu, nur vier für Bauherren zu sehen, oder? Einige sehen ich möchte auf Problem TP-Antwort. Vermissen Sie es und wir können nicht sehen, sobald ich die Antwort bekommen
habe, kann ich nachsehen. Entschuldigung. Jemand zu sagen, ob Antwortpunkte den Status für und wenn ich nur die Antwort betrachte, kann ich alles
sehen, was mit einer Antwort zurückkommt. Ich bekomme seinen Status. Ergebnis ist Erfolg, die erzielt werden. Ähm, du bekommst den Schulbeginn, der bereits überprüft wurde. Set. Die Schulen können 224 etcetera usw. sein. Also, basierend auf der Statusschule, die in
der Dokumentation, die zurückgegeben wird. Willst du nachsehen? Ist es das, das du zurückbekommen hast? Also in diesem Fall wissen
Sie, dass mit erstellen basierend auf unserem Wissen über die A p I, dass wir gerade bauen unsere Gebäude. Entschuldigung. Um,
wir sollten um zwei oder vier zurückkehren. Also, wenn Antwort starten, dass der Status bewertet ist äquivalent zu Andi,
Ich denke, ich kann System sagen, dass das Netz, das gestartet hat, dass auf, dass. Ich werde nur nach Ted suchen. Ordnung,
Also, wenn du Temperieren willst, setze das in den Raum, also wenn es gleich geschaffen ist, dann kannst du wahr zurückkehren, oder lass es mich sehen. Kehre einfach zurück. Wahr. Na gut, , dann weiter. Ansonsten können
wir einfach zurückkehren Stürze. Also, wenn alles andere scheitert, haben wir nur Stürze zurückgegeben. Jetzt. Einige rote Linien hier darauf sind, weil ich sie nicht als Waschbecken implementiert habe oder die
Funktion als Senke implementiert habe. Da gehen wir. Also denken Sie daran, die A-Spüle zu setzen, weil es nicht dadurch Standardwerte ist, Ordnung? Nein, so
ziemlich, zumindest für nein, das ist, was alle unsere Anfragen finden werden. Ein Blick wie die Anfrage auf dann die Antwort. , Du weißt,ob es eine gute Reaktion war, unsere Körperreaktion. Im Wesentlichen wird
das die Kernbasis sein. Was hier wirklich passiert ist, ist, dass, wenn von den Kunden die Person klickt erstellen, ich sicherstellen muss, dass unsere Person einen Datensatz erstellt und sie auf Senden klickt. Ich muss Code von meinen Kunden schreiben, um zu sehen, dass, wenn die Person klickt, auf diesem Formular für Autoren zum Argument
einreichen. Sehen Sie, ich möchte sicherstellen, dass die Autoren übergeben und auf die Informationen verweist, die hier eingereicht werden,
Antes verwendet werden ,
also ist es sehr generisch, also wird die gleiche Codebasis für den Autor für Bücher verwendet. Wenn Sie andere Tische auf der Linie vorstellen, ist
es nur Tee. Das ist also generisch und behindert. Wir bieten Ihnen die Präsentation jeder Klasse. Also dann wird es sagen, ich bin Winter eine Anfrage erstellen. Und ich weiß, das ist eine Kreation, also ist es auf gestellt. Dann wollte ich versuchen, gegen dieses Mädchen auf zu schaffen. Dannwissen
Sie, wissen
Sie, wir haben nur Ihren Cursor eingeschaltet. Dann möchte ich, dass der Inhalt von der Anfrage der Inhalt des Objekts ist, der auf kommt, dann
Nein,
wir werden , dann
Nein, ihn weiterleiten, auf die Antwort
warten und dann analysieren Die Antwort zu sehen ist, dass die Antwort, die es bedeutet erfolgreich war, wenn nicht zurückgegeben wurde, folgt das bedeutet, dass der Vorgang nicht erfolgreich war. Alles klar, kein Power-Update wird dem ziemlich ähnlich aussehen. Oder lassen Sie mich einfach die Linie runtergehen. Schauen wir uns das Löschen an. Also die Leitungen. Wie gesagt, ein Großteil des Gerichts wird wiederverwendet werden, aber dann gelöscht starten Sie anders. Also löschen ist nur immer auf ich d und das Mädchen. Also werde ich zuerst überprüfen, ob das I d Sinn ergibt. Also, wenn die Idee weniger als ein Recht ist, dann fällt die Rückkehr. Das bedeutet, dass der Vorgang, der versucht hat, auf das Feld Operation. Lassen Sie mich einfach das Gehäuse von niemandem reinstellen. Das ist, dass Sie keine Fehler haben, die auf dem Weg kommen. In Ordnung, also ist die Idee im Schlepptau gleich. Tut mir Leid. Weniger als eins, dann ist das falsch. Das ist ein Philister. Dann kann ich diese Zeile einfach kopieren, wo ich die Anfragen erstelle. Ich will das nur kopieren. Also werde ich retten, ich bitte. Aber dieses Mal ist es eine Löschung. Also die FCT-Methode ist die Bedürfnisse, und dann übergeben wir die u R l plus die i d. und dann übergeben wir die u R l plus die i d. Earl muss in der http-Methode aus löschen sein, aber dann nimmt es den u r l Schrägstrich die i d
Nummer. Das ist alles, was wir hier tun. Wir sehen nur die Antwort oder den Dienst in der Anfrage mit der Methode senden, Die führt dazu, dass der Earl die Ideen als Teil der Zeichenfolge übergibt. Richtig. Dann machen wir das Gleiche, wo wir unsere Kunden aufbauen. Dann warten wir auf die Antwort. Ich werde nur diese beiden Zeilen kopieren, anstatt sie auf der Grundlage zu übernehmen. Dann überprüfen wir, ob die Starter erzielt haben. Also im Grunde, alles aus, das ist fast das gleiche. Außer oh, sind erschreckende Schule, die wir nach dem Löschen suchen nicht erstellt wird. Aber es ist ein Werkzeug, denn ich glaube es. Waas, was kein Inhalt ist, oder? Also überprüfen wir, ob wir eine Antwort ohne Inhalt bekommen, dann wissen wir, dass es erfolgreich war, Andi. Sonst kehrten wir nur für uns zurück, weil es ein Fehler war. Aber Sie sehen alles nach der if-Anweisung, ziemlich gleich. Außer Feinabstimmung dieser beiden so positiv Sie hier und versuchen, den Rest zu füllen. Wenn du dann wiederspielst, gehen
wir es zusammen durch. Alles klar, also lasst uns durch das Treffen gehen. Die Anfrage sieht also ziemlich gleich aus. Außer, dass die Methode Get on ist. Wir übergeben in der URL schließen die i d.. Wir bauen unsere Kunden, wir bekommen unsere SINDOOR Anfrage. Erhalten Sie die Antwort, dann überprüfe ich. Wenn der Statuscode in Ordnung ist, dann der Inhalt. Also möchte ich Inhalte daran erinnern, dass es bedeutet, dass ich einige Informationen zurückbekommen möchte , so dass ich weiß, dass die Inhalte brauchen, richtig? Bisher ist der
Inhalt gleich auf. Dann werde ich nur sagen Antwort, dass Inhalt eine Zeichenfolge lesen Easy. Einige, weißt du? Okay, wenn Sie nicht so weit gekommen sind und es nicht, wissen
Sie, was in der Aussage steckt. Wenn man bedenkt, dass es kein Tyrann ist und das zurückgegeben wird, dann ist das in Ordnung. Ich meine, solange du die ersten 3 Zeilen richtig hier auf dem richtigen Weg hast. Also, nachdem wir wirklich Staub wieder ein Denken, dann geben wir die konvertierte. Das serialisierte Objekt auf Basic. Alicia wird es gegen den Tee der Datenklasse abwischen. Onda. Wir haben Inhalte direkt auf. Dann sonst waren nur Notizen zurück. Also das bedeutet, dass nichts zurück kam, um zum anderen zu kommen, bekommt wer auch immer die Liste bekommt, Ähm, die erste Abhängigkeit für mich und ziemlich dasselbe, außer keine Ahnung in den URL-Teilen. Diesmal an, dann ist es ziemlich dasselbe. Ich werde nur überprüfen und sicherstellen, dass ich auf OK bin, antworte den Inhalt. Wir lesen es als String und dann geben wir einen Jason konvertierten PC zurück, verlässt sich am wenigsten vom Typ T. Alles klar, also diese beiden ,
ähm, Sie können das Video auf nehmen diese paar Zeilen, die Sie nicht haben hatte kein Problem dem Update
fortzufahren. Das Update. Es sieht ziemlich ähnlich Zeh, die sie erstellen. Akzeptieren Sie die Anfrage, dass Inhalte Piraten wird ein bisschen anders auf Golfplatz sein. Ich möchte mich ändern, auch hier. System, dass Text richtig, obwohl diese Aufnahme. So hoffe ich, dass Daten aussehen. Wir brechen einfach die Linie, weil das vom Bildschirm abgenutzt
wird, dann die Methode, die wir verwenden, ihren Einsatz. Es gibt also einen Unterschied Stadteingabe auf Patch, den wir mit Put entwickelt haben. Aber es gibt auch eine Methode namens Patch an diesen beiden 100 Tagen. Der Unterschied
ist
jedoch, jedoch, dass der Put wird es wie ein Hybrid ist. Das Boot wird sagen, Nun, was auch immer Sie geschickt haben, ich werde es benutzen, um die Platte zu ersetzen, die so ähnlich ist wie eine, die wir testen oder aktualisieren, und ich hatte eine voll bevölkerte Platte. Aber dann habe ich nur ein paar Informationen zurückgelegt, oder? Buchstäblich. Es gibt einige Informationen zurück und alles, was ich nicht gesagt habe. So wurden die Werte vorgegeben. Der Put ersetzt also die dort befindlichen Informationen durch die neuen Informationen, während der Patch tatsächlich abbildet, was ersetzt werden muss, dann ersetzen Sie das einfach. Aber alles andere bleibt intakt, also ist das der Unterschied zwischen einem Put auf dem Patch. Der Put erstellt auch den Datensatz, wenn er nicht da ist. Also, wenn ich sagte, ich wollte Autor mit I d 100 aktualisieren es gibt keine auch mit Idee 100 dann
wird es eine neue auch mit den Informationen entsprechend setzen. Das ist also unsere Basiskonfiguration für unser gut basiertes Repository oder nur
der Punkt davon. Dies ist nur eine weitere Überlastung des String-Inhalts, bei dem Sie etwas expliziter
sein können das Einschließen auf den Medienangriff gesendet wird. Ähm, aber es ist die gleiche Funktion, die in unserem Create verwendet wird. Kreationen In unseren
Kreationen habe ich diese Überlastung einfach nicht benutzt, also kannst du es mit und ohne ausprobieren und mich wissen lassen, wie es funktioniert. Aber das ist das Gericht. Das ist es also, um das Basis-Repository zu deaktivieren. Das nächste, was ich tun werde, ist, einige statische Werte einzurichten, die wir
durch unsere Entwicklung verwenden werden . Also werde ich nur mit der rechten Maustaste auf statisch klicken, mit der Anzeigenklasse auf Nummer wird es
in Punkten aufrufen , so und Punkte in Ordnung darauf ist nur eine Technik, die diese
statischen Endpunkte deaktiviert . Einige Leute sie in der Konfiguration. Aber die Realität ist, dass viele Male, wenn Sie beobachtete Sie Touren auf Eis zu rufen und FBI Sie sehen sie Art der Baby Mädchen jedes Mal und dann auf das Handgelenk von der URL. Nein. Was passiert, ist, dass, wenn Sie krank sind oder
nicht, nicht Ihre Veränderungen bedeuten. Dann, wenn du es 50 Mal in deiner Ecke hättest, ging hoch, um es 50 Mal zu ändern, Was wir tun werden, ist, es einmal so einzustellen, dass, wenn wir uns ändern müssen, es an einem Ort ändern wird, und es ist gut, Es hat sich nur geändert. Ich erstelle eine statische Klasse öffentliche statische Klasse in Punkten auf Dann werde ich
ästhetische Parameter erstellen , die sorry Eigenschaft so statisch sind, dann wird dies eine Zeichenfolge sein, und ich werde diese Eigenschaftsbasis aufrufen. U R l in Ordnung. Und dann werde ich es einfach initialisieren. Also wird diese Basis Ural die u R l für unsere a p I sein. Nein, dieses Mädchen,
offensichtlich, da alles lokal
ist, wird das Mädchen sein, das wir im Innern von Postman benutzt haben. Und wann immer wir ins tiefe Boot gehen, vor Anker, dass Ihr Latte im Browser
für die Buchhandlung FBI gekommen ist, werden wir das benutzen. Der Punkt ist, dass, wenn ich das FBI morgen veröffentliche, Basis Sie sind, es sich nicht ändern wird, weil ich nicht an lokalen arbeiten
möchte, die ich über das Internet arbeiten möchte, auf welcher gehosteten Adresse seine Sendungen sind. Also kann ich die Änderung hier nur einmal treffen, dann jedes Mal, wenn ich passe, und du bist wirklich schon krank. Also, um das schnell abzurufen, gehe
ich einfach zurück zu meinem ap ich projiziere Andi. Ich kann ganz einfach in die Eigenschaften schauen, diese Eigenschaften, Sie können es einfach fallen lassen. Bringen Sie nicht Raseneinstellungen, die j Sohn auf. Was passiert, ist, dass Sie zwei Adressen sehen. Sie sehen die Anwendung Ihre und SSL-Port. Also möchte ich die Anwendung Ihre mit dem SSL-Port-Zeichen. Ally
, weißt du, http? Nun, es sollte ein Kernproblem sein. T p s Doppelpunkt Schrägstrich Plus, ein weiterer einfacher Weg wäre wahrscheinlich, einfach in den Postboten zu gehen und von dort abzurufen. So könnte ich wirklich tun, dass auf seinem http s lokalen Host, Colon 44382 Recht,
Also, das wird unsere Bestien sein. Endpunkte, RBs, Euro. Also habe ich das einfach reingesteckt, eine andere Sportart auf einen abschließenden Schrägstrich,
Ähm, denn dann werde ich nur Dinge dazu bringen. Also wird die nächste eine andere Eigenschaft sein, und es wird dann auf einer Zeichenfolge statisch sein. Dieses Mal habe ich Autoren in Punkten. Alles klar, so ziemlich alle Endpunkte, die dann Fuß gegangen sind, haben ich kann einfach hier setzen und ich
baue einfach die Zeichenfolge einmal auf Es wird ah sein, auf interpolierter polnischer interpolierter String mit der Basis-URL direkt auf. Dann danach,
das Schlüsselwort FBI erinnern, dass sie die Bestie haben eine Pre-Ausgabe mündliche Schrägstrich ap A Also der Schrägstrich. Ich habe uns letztes Jahr nicht vor einem Paar, weil bereits den Schrägstrich innerhalb von Basis setzen. Du bist in Ordnung. Also ist es Ihre kranke Basis, die seinen Schrägstrich e p einen Schrägstrich auf dann Autoren hat und dann verstehen, diese Zeile zu duplizieren und dasselbe für Bücher auf zu tun. Ich werde nur so tun, als wäre dieser Schrägstrich auch am Ende. Alles klar, das wird
also Bücher und Punkte sein. In Ordnung? Wenn wir also andere Endpunkte aufbauen , wird
es die gleiche Dynamik sein. Wir kommen gerade zu dieser Datei und Aditya eine statische Ressource, ich würde es einfach überall verwenden, wo wir wollen. Jetzt sind wir fast fertig. Ich werde nur durch zwei Schecks geführt. Ich werde nur einen schnellen Build
machen, stellen Sie sicher, dass ich nichts kaputt gemacht habe. Und nein, wenn wir bauen, werden
Sie sehen, dass zwei erfolgreich sind, weil wir projizieren müssen. Es ist also immer gut, wenn Sie sehen, dass alle Projekte erfolgreich erstellt,
bekannt, bekannt, fehlgeschlagen sind. Ähm, das nächste, was ich tun möchte, ist sicherzustellen, dass es kein neurales Geld gibt. Also hatte ich einmal eine Erfahrung, wo, als ich ins Depot ging, mehr Graben um die beiden Projekte zur gleichen Zeit, beide für den Seemport kämpften, und so würde man nicht so und einfach zu überprüfen arbeiten. Dies ist nur die goto Raseneinstellungen für beide. Also haben wir schon eine blonde Einstellung für unsere ap. Wir sehen, das ist Flughafen. Ist die Nummer an? Dann kann ich dasselbe im Blazer-Projekt machen. Gehen Sie zu Eigenschaften, überprüfen Sie Raseneinstellungen. Und sehen Sie, es ist eine andere Zahl. Ich streue dich nur den Zeh. Stellen Sie sicher, dass es sich um unterschiedliche Zahlen handelt. Wenn, aus welchem
Grund auch immer sie am Ende die gleiche Nummer, Sie können immer nur eine Ziffer Sake ändern und einfach unter Haft bei den sechs oder was auch immer der Fall sein mag. Alles klar, die nächste Sache ist, dass Zehe die doppelte Ausführung ermöglicht. Also, was muss passieren? Nein. Wenn Sie die Clients ausführen, die die Blazer-Anwendung sind, die Sie I-Anwendung, müssen
Sie offensichtlich das a p haben, das ich im Hintergrund ausgeführt habe, um Ihre Operationen tatsächlich
auszuführen . Richtig. Also werde ich viel brauchen, wenn ich den Start drücke, also musst du verschwenden. Es ist Sie können einen als Anfang des Projekts setzen,
Und dann, Und dann, während es auf Ihrem Indie-Boot läuft, Moody kann immer mit der rechten Maustaste auf das nächste Projekt klicken und Sie sehen Debug auf NBC's Sie gehen, um
eine neue Instanz zu starten , die würde es Ihnen tatsächlich erlauben, zwei Projekte in Bebel gleichzeitig anzulegen. Richtig? Aber ich werde das Handbuch beseitigen. Treten Sie auf. Was ich tun werde, ist zu der Lösung zu gehen Boote von Eigenschaften auf, dann unter einem Projekt starten, sehen
Sie, Single Start off Projekt, das ist, was wir haben. Nein, aber Sie sehen mehrere Projektstart an dann. Das coole daran ist, dass Sie die Reihenfolge ändern können, in der
ein mehr Start in So wird der oben beginnt zuerst. Und das wollten wir beim FBI. Offenes Lernen, und dann die Sie kann ich kommen wegen der a P I der weise nutzlos. Richtig? Was ich hier tun kann, ist Aktion zu sehen und dann klicken Sie darauf und sagen Sie dann beginnen,dann , können
sie ohne Debugging beginnen,
aber Vorteile, können
sie ohne Debugging beginnen,
aber Vorteile,die im Debug-Modus mit beiden ausgeschaltet sind, ist, dass, wenn ich etwas in der Client und es funktioniert nicht, kann
ich beide innerhalb der Lebensdauer von dieser Debugging-Sitzung durch das andere Projekt sein. Richtig? Das ist also eines der coolen Features. Also, wenn ich das mache und auf OK klicke, alles klar. Und ich werde Ihnen nur zeigen, dass es mehrere ist. Starten Sie ein Projekt und ich klicken Sie einfach. Fangen Sie an, dann Was Sie sehen, ist ein Instanz-Autoprojekt. In Ordnung. Beachten Sie, dass ich zwei Browser habe und Sie sehen,
dass die beiden Ports laufen. Also sagen Sie Buchhandlung Sie ich komme auf Dwell. Das FBI braucht etwas länger, um es zu finden. Der Punkt ist, dass ich beide Projekte gleichzeitig durchführe. Also, der glorreiche Anblick von Fußball Sie,
ich meine, dass unser APIS-Projekt läuft. Also hier ist das FBI-Projekt. Sind hier Beweise aus dem A-P-I-Projekt, ähm, im Debug-Modus auf hier sind Beweise aus dem Ich-Abschnitt im Debug-Modus. Also noch einmal, Sie müssen die beiden laufen lassen, weil Sie das u.
Y testen können . Wenn das FBI zu der Zeit nicht läuft, können
Sie. Auch, wenn ich die Einstellungen, wo es heißt starten Bruder er, so dass Sie auf dem FBI sehen können. Starten Sie nicht Profis sind, weil, naja, Sie wahrscheinlich nicht brauchen die Bro's oder an diesem Punkt, weil sie nur testen die Sie I also brauchen Sie nicht Fußball im Hintergrund jedes Mal, so dass Sie tatsächlich gehen können, um die Raseneinstellungen für den AP. Ich beim Wechseln, dass der Zeh auf, dann würde das nur den Bruder starten oder für den, der es hat. Das ist wahr. In Ordnung, das war's
also für diese Konfigurationsübung. Beim nächsten Stopp werden einige Baseline-Konfigurationen für die Benutzerauthentifizierung implementiert. Wir müssen ein paar Änderungen an unserem FBI vornehmen. Das wird also bei seiner Tätigkeit sein. Das würde uns zwischen den beiden Projekten hüpfen lassen. Stellen Sie sicher, dass alles offen läuft. Andi, das sollte lustig sein.
38. Benutzerregistrierung (API): Hey, Leute, in diesem Video machen
wir einige Vorbereitungsarbeiten für unseren Kunden und unsere Registrierungsfunktion. Also erziehe ich über, nur als Erinnerung daran, wo wir sind und was wir tun wollen, ist sicherzustellen, dass oder
Registrierfunktion funktioniert. Denken Sie daran, als wir das letzte Mal das Haus verlassen haben, sah
der Login unter dem Handgelenksband alle gleich aus. Also was? Dass es ging voran und fügen Sie Links zu ihnen. Dasselbe hatten wir nach Angeboten und Büchern gejagt. Hatte einen Sport Login für den Pfad für die Protokollierung. Blinzeln beim Registrieren. Dementsprechend bemerkte
ich, dass sie normaler aussehen. Nein, und ein Ganzes. Was wir tun wollen, ist, dass, wenn wir auf registrieren klicken, es navigiert auf eine Seite, die es dem Benutzer erlaubt, sich mit nur einer E-Mail auf ein
Passwort zu registrieren . Dann wird das bei A P I zentral sein. Dann wäre dieser neue Benutzer bereit in unserem System gerührt. Also werden wir einige Änderungen an der A vornehmen. Ich werde es ein bisschen weiterentwickeln. Wir haben eine gute Menge außerhalb der Arbeit, nicht schon, aber wir brauchen einen Registrierendpunkt und ich werde einige Validierung zu unserem
Datenübertragungsobjekt hinzufügen , das auf Benutzerinformationen wartet. Wir werden nur einige andere Dinge dazwischen tun, um sicherzustellen, dass unsere Kunden gen behandeln um die Registrierung in Punkt zu
sprechen und tatsächlich einen Benutzer über Front
Facing Anwendung registriert haben . Also über zu meiner Buchhandlung Anwendung Buchhandlung, FBI-Projekt Wo kann der Benutzer DT Oh, und ich werde nur einige Validierungen hier hinzufügen, also werde ich alle wissen lassen, dass dies erforderlich ist, was bedeutet nicht einreichen -Anforderung ohne den Benutzernamen. In Ordnung, ich werde das auch ändern, indem ich ihn die E-Mail-Adresse benutze. Ich weiß, dass das einige wellige Effekte verursachen wird, aber die Realität ist, dass wir sowieso die E-Mail-Adresse als Benutzernamen verwenden werden, also spielt es keine Rolle. Sie möchten vielleicht nicht ändern dies die E-Mail-Adresse, aber ich werde das dennoch tun, kann auch eine Daten hinzufügen,
eine Notation hier, die seine E-Mail-Adresse und Kraft, dass Sie eine E-Mail bekommen. Idris, in diesem Bereich bin ich auch gegangen zu setzen sind hier für unser Passwort auf erforderlich. Wir können auch etwas tun, wie die Saitenlänge angeben, damit ich sehen kann, ähm, Gitarrennotation Saitenlänge auf. Dann kann ich das weiter qualifizieren, indem ich ein Maximum Lynn gebe. Also lassen Sie uns sagen, die moxie Mamma Lynn, die wir für das Passwort wollen, wäre vielleicht 50 Zeichen. Ich kann die Pfeilmeldung saucy Fehlermeldung gleich geben und dann sehe ich Ihren Bus. Das Wort ist begrenzt. wir also 15 fünfziger Jahre eine strenge Diät. Also 15 wir tippen niemanden in mehr als 15 Zeichen des Passanten. Ich meine, das liegt an Ihnen, aber ich mache das nur, zum Beispiel, krank. Dann kann ich sagen, es muss sein Lassen Sie uns sehen 15 Zeichen ist die Marke der vielen bumbling Länge gleich Zehe sechs richtig? So kann ich sagen, dass Ihr Passwort auf beschränkt ist, dann kann ich Platzhalter auferlegen, um zu sehen, es muss so
sein. Wir können Platzhalter verwenden, Sir, aber ich glaube, die erste ist für den Anzeigenamen. Also diese Null tat der Anzeigename eins wäre die Schlammschlingen an Tag zwei wäre die minimale Linse. Wenn Sie also wollten, dass es dynamisch ist, geben Sie die Zahl hier ein und
müssen sie dann ändern. Sie können so etwas tun, wie man ist begrenzt Zehe gut, auch, zu einem Zeichen, um den Pastor zu sagen, New Putin ist auf zwei minimale Länge rechts 6 bis 15 Zeichen begrenzt. Wenn Sie also die Zahlen hier für die minimale Länge der Marx-Länge ändern, würden
Sie die Zeichenfolge automatisch entsprechend formatieren. Also, das ist nur eine Validierung, die wir hinzufügen, ähm, wurden mit dem String-Link benötigt, den ich kann. Ich denke, ich kann hier einen Datentyp hinzufügen, um den Datentyp zu sehen. Dann muss ich es mit dem Genom-Datentyp qualifizieren, der andockt. Es gibt eins für Passwort, also gibt es eine für E-Mail-Adresse auch, so dass Sie Demut tun können. Etwas Kreis tun Datentyp Punkte, E-Mail-Adresse. Entweder einer funktioniert. Ich habe meine Benutzerdatenübertragungsobjekte nicht modifiziert. Ich gehe zurück zu meinem Benutzercontroller auf Dies ist das Steuerelement, das wir für
authentifizierungsbezogene Dinge verwenden . Also im Moment, also gibt es diesen Fehler, weil sie ihn von Benutzername zu E-Mail-Adresse geändert haben. Also kein Problem. Ich werde diesen Gedanken einfach ändern. Ich bin sicher, wenn es irgendwo anders ist, wird
es auftauchen. Aber was ich hier tun möchte, ist einen anderen Endpunkt für Registrierungen zu erstellen, oder? Keine Möglichkeit der Protokollierung. Aber ich möchte einen anderen Punkt für Registrierungen. Verstehen? Toe, tun Sie das über dem Login und ich werde sagen, öffentliche Aufgabe aus der Feueroption Ergebnisse auf. Dann machen wir es und nennen es registrieren. Nein, Sie könnten sich erinnern, auf ich will das auch vom Körper. Also werde ich erwartet, dass die gleichen Benutzerdetails durch das Register kommen. Wie ich schon sagte, ich werde den Prozess nicht aufrühren. Also, wenn Sie mehr Datenpunkte haben, dass Sie möchten, dass der Benutzer bei mir den Vornamen,
Nachnamen und andere Dinge registrieren würde, würden sie ein anderes Detail für nur den Registrierungsprozess haben ,
so dass Sie erwarten mehr aus dem Körper als die wenigen Parameter hier. Oder Sie könnten einfach Benutzerdetails erweitern. Aber noch einmal, die Details Art können sehr spezifisch oder Kontext sein. In diesem Zusammenhang frage
ich nur Interessen mit Benutzername und Passwort. Auf der gleichen Sache wird die Protokollierung sein. Also das ist nur der Grund für mich, Benutzer GTO zu verwenden, die beiden Orte eine andere Sache ist, dass ich das entgegengesetzte treffen werde. Also möchte ich eigentlich, dass dies http Post ist. Nein. Was passiert ist, dass, wie wir den Namen gesehen haben, die Funktion fast kein Bier hat. Wie die Controller die Anfrage geschrieben haben, kann
das Steuerelement einfach nicht anfordern und sehen, ob es gestellt ist, dass ich nach dem Beitrag suche, richtig? Was passiert, ist, dass, weil beide von diesen sind post. Obwohl die Funktionsnamen unterschiedlich sind, wird
es zu irgendeiner Form von Konflikten führen. Also gibt es ah, Funktion hier, die ich verwenden kann, wo ich die Straßen angeben kann, so dass ich nur sehen kann, wo wir Straße hier oben
angeben. Das ist also die Straße, und es ist ein p zu sehen. Ich schräg auf die Kontrolle ihn. Ich kann, durch Erweiterung, direkt über dem Controller, Straßen
sehen auf, dann angeben, dass ich möchte, dass diese Protokollierung aufgerufen wird und dann schrieb wieder
auf DSA angezeigt wird . Sagen Sie, ich möchte, dass dieser Register Register genannt wird. Alles klar, das bedeutet
also, dass die Dokumentation keine unterscheiden muss, um Routen für unsere lange Kontrolle darüber, dass beide von ihnen posten so darauf hingewiesen werden. Nein, wir haben eine Funktion pro Typ ausgeführt. Nein, ich muss Funktionen sind die Endpunkte des gleichen Tanks. Der beste Weg, sie zu unterscheiden, ist es tatsächlich, ihnen verschiedene Namen zu geben. Wir wissen also, dass dies das Log in einem ist. Also die Person, wenn sie in den Anruf ap Schrägstrich Benutzer einloggen möchten, melden Sie sich auf dem gleichen für registrieren Sie sich auf ihre Vergangenheit entsprechenden Daten entsprechend. Selbst wenn die Daten anders sind, spielt
es keine Rolle, solange sie den Mut Route setzen. Ordnung, InOrdnung,
also habe ich gerade ein paar Cody hier und Kopytoff eingelegt, aber es ist der reguläre Kern, den wir
eingesteckt haben . Alle Controller, du weißt schon, Aktionen. Wir haben das Aussteigen von der Lage und dass ich verachte oder den Benutzernamen und das Passwort von den Datenübertragungsobjekten Daten kommen in auf Cent. Auch auf die Fehler überprüfen, richtig? Ich kann tatsächlich weitermachen und einige von den Daten verwenden. Das sind 30 Jahre vom Land entfernt. Nun, eigentlich möchte
ich ein paar Sachen überprüfen für, also wenn es dieses Feuer bekommt, können
wir davon ausgehen, dass es gültig ist, weil unsere Validierungen in unseren Benutzerdaten und nichts kommen sollte leer. Uhm, ich bekomme dieses Feuer. Nein. Eine andere Sache, die ich tun möchte, ist den Aufruf Der Benutzer-Manager zu verwenden. Also werde ich zuerst einen neuen Benutzer erstellen. So ist neuer Benutzer gleich einer neuen Identität. Verwenden Sie ihre dienen Identitätsbenutzer ist unsere Basis. Verwenden Sie eine Klasse, die uns durch Identität gegeben wird. Also denke ich, dass ich ein bisschen warten muss. Ich din t t t t t t t t Teoh meine Schreibweise. Da gehen wir. Identitätsbenutzer. Also werden wir ein neues Objekt vom Typ-Identitätsbenutzer erstellen, das uns erlaubt, die E-Mail zu setzen,
wie ich sagte , na ja, ich nenne es verwendet den Namen hier, also spielt es keine Rolle. Benutzername In Ordnung, also setze ich die E-Mail benutzt ihn. Ich werde auch den Benutzernamen als Benutzernamen festlegen, während sie E-Mail senden. Entschuldigung, was ich in meiner Variablen beginne, die ihn benutzt. Ich sagte, ich kriege verwirrende Hintern. Ich bin sicher, Sie können es zu schätzen wissen. Tatsache ist, dass die E-Mail-Adresse die gleiche ist wie die Verwendung von ihm. Also rühren wir nur die E-Mail-Adresse in der E-Mail auf dem Benutzernamen Space aan den. Wirklich Eintrag. Das sind alle Daten, die wir sammeln. So sehen Sie, haben Sie andere Datenpunkte auf Sie können es tatsächlich verlängern Zehe, haben Sie mehr, wenn Sie Zehe brauchen, also ist das in Ordnung. Sie können meinen Kurs immer in voller Geschwindigkeit auf einem Baum überprüfen, aber eine Entwicklung und Sie werden sehen, wie wir das auf den Benutzer erweitern können. Aber dann können wir weiter hier weitermachen. Unser Speichern unsere Ergebnisse ist gleich Andi. Lassen Sie mich sehen, was Pero das zuerst ist. Tut mir Leid. Ich hatte das Wort neu statt Feuer mein Aber bisher Ergebnisse ist gleich einem Gewicht auf. Dann werde ich den Benutzer-Manager anrufen und so denken Sie daran, wir Benutzer-Manager bereits injiziert hinzufügen. Ordnung, also beim Benutzer-Manager,
jemand, der den Benutzer-Manager anruft. Dann wird es eine Fortunati namens Create a Sink verfügbar machen, die es uns ermöglicht, einen Identitätsbenutzer einige mit dem Parson möglicherweise neu erstellt in
Benutzerobjekt zu übergeben . Andi,
ich kann auch das letzte Wort übergeben. Also, wenn ich das mache, wird
es tatsächlich das Parsen für mich behandeln. Der Pfarrer wäre also als reiner Text vorbeigekommen, den die Person in das Textfeld getippt . Aber dann geht diese Funktion Zehe behandelt die Einfügung auf die Piraterie auf alles. Für mich haben
wir so etwas und Schlimmeres gemacht, die Benutzer früher
zu essen? Nein. Danach ging ich zu sehen, ob nicht Ergebnisse angedockt Erfolgreich eso Ich überprüfe. Ist dieser Vorgang fehlgeschlagen? Ich werde zuerst sehen, Ich ging zu lieben einen Pfeil zu sagen, dass die Benutzerregistrierung Versuch richtig fühlen. Aber ich möchte auch lieben Die Gründe dafür sind die möglichen Gründe für die Misserfolge. Jetzt anstelle des Ergebnisses, ähm, Objekte, gibt es,
ah, ah, am wenigsten aus Eros jemand etwas wie für jeden Andi zu sagen, kann
ich ir-Assay-Fehler in angedockten Ergebnissen speichern und Sie sehen die Liste Fehler oder ich wusste, dass ich unzählige. Es ist eine Sammlung von Eros. Wenn es also mehr als einen Fehler gibt, werden
sie alle da sein. Dann werde ich eine Zeile pro Fehler protokollieren, jemand länger sagen, nicht lieben sie auf dann den Ort. Und dann bin ich nur gon Schneiden Essen Nein, der Fehler Punkt Gericht und die Luft Beschreibung. Also inside off Fehler, die unzähligen off Fehler innerhalb von jedem Air Objekt ein Gericht auf die Beschreibung
zu bekommen , warum es einen Fehler gibt. Alles klar, also melde ich alle an. Dann kann ich unseren internen Fehler machen, aber an diesem Punkt glaube
ich nicht, dass ich etwas anderes lieben muss. Oder vielleicht, was ich tun kann, ist, anstatt dieses Paar hier auszupeitschen, ich kann alle aus der Ära lieben, die sich auf das Scheitern bezieht. Dann geben Sie einfach in Weichenfehler zurück, wenn diese Protokollmeldung eingeschaltet ist. Dann nennen Sie es einen Tag. Sutherland wiederholt sich am Ende des Gerichts und ich nutze das Beste aus. Was haben wir an Ort und Stelle, oder? Also noch einmal, wenn es nicht erfolgreich war, bekommen
wir alle Fehler und protokollierten jeden in seiner eigenen Zeile. Ich bin nur leere Räume gekitzelt. Dann gebe ich nur eine interne oder mit einer pauschalen Anweisung zurück, um zu sagen, dass dieses
Benutzernamenregistrierungsversuchsfeld rechts auch viel Land enthalten sollte, um zu sehen, dass die
Benutzerregistrierung versucht wird. Also lassen Sie mich das einfach schnell einbringen. Stems alles in Ordnung für den Benutzernamen. In Ordnung. Gut. Also, das ist es für die Protokollierung. Also bin ich noch nicht fertig. Besorgt noch eine Sache ist, dass ich nur nachprüfe, ob es schlecht war. Das ist also immer noch da, weil ich eine endgültige Rückkehr brauche. Die endgültige Rückkehr wird also eingeschaltet sein. Ok. Damit ich zurückkehren kann. Okay, dann. Andi,
ich werde nur ein neues generisches Objekt einbauen. Ich kann neue Andi sehen Dieses neue Objekt hat einfach kein Ergebnis, das erfolgreich war, was zu diesem Zeitpunkt sollte wahr sein. Denn wenn es so weit war, wie es in dieser Onda eingeholt worden wäre, können wir wollen, also eine andere Sache, die du meinst, in das tun willst, ist für die interne Aero. Für dieses Steuerelement kann
Lee wahrscheinlich ein wenig erweitert werden, dass, wenn Sie die 500 zurückgeben, wahrscheinlich einige Fehler sind Gründe für den Pfeil, so dass wer auch immer das A p anruft, ich kann, wissen
Sie, etwas Feedback
bekommen Schiffbruch das Versuchsfeld. Also ging ich in den Debug-Modus und ich habe hier das Fenster für das FBI. Also, wenn Sie noch das Motiv Projekt starten. Sie können sich einfach auf das FBI-Fenster konzentrieren, wo Sie es für Nein ändern und später
wieder ändern . Aber ich konzentriere mich nur auf den ganzen Tag Endpunkte schauen, also wissen Sie, dass, weil ich die Route tat, die Sie sehen, dass unter dem Benutzersex und Sie beide Beiträge haben und Sie einen ps Schrägstrich Benutzer Schrägstrich registrieren auf GPS-Slash Benutzer Schrägstrich einloggen. Wenn Ihr Dokument fühlt sich der Herr,
das bedeutet, dass Sie wahrscheinlich nicht auf den Weg gestellt und Sie haben ah, Konflikte. Slager wird nicht geladen. Dann ist das ein sagen, dass Sie einen Konflikt haben. Weil Swagger selbst,
ah,
schwer zu entziffern ist ah, , was geschrieben ist, was, weil Sie nicht angegeben haben, richtig? Also lassen Sie uns einfach testen diesen Endpunkt schnell auf Sie Sehen Sie hier, wo er sich automatisch in dem anfühlt was erwartet wird. Es ist seine E-Mail-Adresse wird in der Nutzlast erwartet. Und das ist ein Beispiel für Passwort-Zeichenfolge. Ordnung, InOrdnung,
also werde ich nur die Funktion „Handel erzählt“ hier benutzen, also ja, wir kennen den Postboten. Ich werde Ihnen zeigen, wie man mit Trägern testen kann. Sie können sehen, wie du es ausprobierst. Dann können Sie den Benutzer als Beispiel dot com eingeben. Ich benutze das an. Ich werde hineinlegen. Ich möchte Streams verlassen. Denken Sie also daran, dass wir eine Validierung vornehmen, bei der das Passwort eine bestimmte bestimmte
Länge benötigt , also lassen Sie uns versuchen, das auszuführen. In Ordnung, also haben wir unseren Fehler wieder auf wir sehen hier wo? Okay, es gibt uns nur die 500 davon. Ich gebe uns dem Generikum nur eine Remission. Also, wie ich schon sagte, Sie wollen wahrscheinlich ein bisschen mehr Details darin geben. jedoch solide ist, Wenn Ihre Dokumentationjedoch solide ist,sollte
jeder, der sich an der Spitze der 80 entwickelt, in der Lage sein, genau zu sehen und zu sehen, was
erwartet wird . Also hier sehen wir,
wir brauchen, ich benutze ein DT-O-Objekt, das so bewacht total, dass es das Benutzerdetail-Objekt erwartet auf dem dann. Das weitere Detail ist, dass das Benutzerdetailobjekt in der fanatischen meisten
Bartstring-E-Mail auf Passwort hat , mit der Validierung von Putting wo möglicherweise zwischen 15 und sechs Zeichen lang, richtig? So hat der Entwickler, der Ihre a p I konsumiert, die gleiche Verantwortung, durch die
Dokumentation und Gericht entsprechend zu gehen . Also lassen Sie es uns noch einmal versuchen, nur um diese etwas usar Urlaub für P bei SWR abzuschließen, die auf versuchen Sie das noch einmal auf. Dann, wenn wir schauen, sehen wir, dass wir zurück oder 200 undsind erfolgreiche Nachricht. Ordnung, InOrdnung,
wenn ich mir die Protokolldatei ansehe, dann werden wir nur sehen, dass wir die erste Füllung hörbar haben, den Versuch, und dann haben wir alle Fehler. Das Passwort erfordert dies der Pastor an, dass auf alles, was falsch mit dem
Passwort war und dann die ultimative Sache, die es Feld sagt. Alles klar, also funktioniert die Protokollierung und es sieht aus was? Wie das, was wir erwarten? Kein Zurück zu unserem Projekt. Ich werde einige Modifikationen an dem machen, was wir bisher in unserem Blazer haben. Also gehe ich toe eins, erstelle einen neuen Ordner, und ich werde es Modelle nennen, indem ich einfach auf neuen Ordner hinzufüge auf Ich nenne es Modelle. Na gut, , dann weiter. Das erste, was ich in diesem Ordner lege, ist eine neue Klasse, die ich das
Antwortmodell nennen werde . Nein. Wenn es eine Sache ist, die wir gesehen haben, ist, dass jede Antwort im Grunde etwas zu sagen hat. Ob es erfolgreich war, dies könnte die Schnur sein oder es könnte eine Flagge sein. Also, was ich tun werde, ist etwas sagen wie, ich will eine Eigenschaft, die vom Typ Bull auf sein wird. Das hier wird Erfolg werden. Das wird also speichern, wo das Auto erfolgreich war oder nicht. Dann werde ich eine andere Eigenschaft vom Typ string haben. Dieser wird vielleicht ein Irrtum sein. In Ordnung, dann habe ich noch ein Eigentum. Andi, dieser hier wird für den Inhalt sein, richtig? So erhalten Sie immer Antworten mit entweder einer Fehlermeldung sind Inhalt oder etwas , aber wir werden immer in der Lage sein, den Erfolg zu bestimmen. Dies wird also ein allgemeinerer Klassentyp sein, den wir nachträglich auf
Repository-Antworten basieren . Also richtig, kein basiertes Repository. Jedes Mal, wenn wir einen Endpunkt nennen, dreht
es wirklich nur ein echtes oder falsches Recht. Aber im Fall so,
reden, wenn ich diese Basis verwenden werde, sagen Sie, das ist, was wir verwenden werden, was kreiert ist,
obwohl es
seltsam erscheinen mag was kreiert ist,
obwohl es
seltsam erscheinen mag. Aber lassen Sie uns nicht unsere Drähte kreuzen, wenn wir einen Beitrag aufrufen, den wir verwenden werden erstellt. Also haben wir die Möglichkeit, eine generische Post-Funktion zu haben, die nur aufgerufen wird. Aber dann werden wir schon im Grunde nur wiederholen diese Schnur innerhalb dieser generischen Post. Ich möchte damit nicht funktionieren müssen. Also, was ich tun werde, ist das Response-Modell zu verwenden, diese alten von Anlagerungen im Schlepptau zu
ändern. Anforderungstypen, richtig? Entschuldigung Antwortmodell Rückgabetypen aktiviert. Dann, wenn wir bewerten, was wir zurück bekommen, dann können wir detailliertere Antwort formulieren als nur wahr oder fällt. Also werden wir das tun, wenn wir zurück sind und wir beginnen, die Registrierungsfunktionalität
für unsere Blaze Anwendung einzurichten . Aber dann werden wir über basierte Berichte,
Story-Antworten mit oder kannten Response-Modell nachrüsten .
39. User: Hey, Leute, willkommen zurück. Und wir sind zum Teil darauf, die Registrierungsfunktionalität für unsere Buchhandlung
auszugleichen . Nein, wir haben nur die A P I Zehe eingerichtet, haben unsere Registrierung und Punkt, und nein wird die Blazer Seite der Dinge Zehe absetzen. Haben Sie ein Registrierungsformular auf in der Lage sein, mit dem A P I zu kommunizieren. So beginnt dieses Abenteuer in meiner statischen Endpunktdatei. Wo fügen Sie einen neuen Endpunkt nur für die Registrierung, So wird es in Punkt auf registrieren. Dann wird es Euro Schrägstrich monsieur a p i Schrägstrich verwenden Luft Schrägstrich Register basieren. Also denken Sie daran, dass das die Art und Weise war, dass wir unsere uhm en pointe für die Registrierung in
oder Benutzer Controller auf nur als frischer Schule zurück formatiert . Wir haben gesagt, dass die Route immer ein PS-Slash-Controller sein wird. Dann können wir eine andere Route oben auf der tatsächlich für einen angeben. Also ist es ein p I Schrägstrich Benutzer Schrägstrich Register. Alles klar, also ist das über statischen Endpunkt für eine Zerstörung. Das nächste, was ich tun werde, ist Ach,
Models Ordner in unserer Sie weise einrichten . Also, wissen
Sie, auf dem A P sagte
ich wo, aber wir rufen Datenübertragungsobjekte waren auf der Benutzeroberfläche Idee, was Sie
Ansichtsmodelle nennen , weil ihre Ansichten auf dann haben Sie Modelle von den Daten, die sollte auf den Ansichten dargestellt werden, sind Ansicht. Modell erfüllt diese Anerkennung zu Ihrer Rechten. Entschuldigung. Ich frage mich, ob ich auf Klasse klicke, den ich neuen Ordner und dann in den Ordner hätte sagen sollen. Also gehen wir direkt erstellen alle Fotoanruf-Modelle und dann in diesem Ordner gehen wir zu Anzeige und dann Klasse und dann werde ich dieses Benutzermodell nennen. Ordnung, aber dann im Inneren des Benutzermodells, werde
ich zwei Modelle haben, also ja, ich kenne das unbenannte Benutzermodell. Ich werde das leer lassen. Der Dateiname wird ein Modell verwendet, aber wirklich möchte ich Sehnsucht Modell auf haben. Ich werde auch Toe haben Register-Modelle. Ich habe nur lange und modellieren ihre von keinen Booten. Ich werde mich dafür registrieren lassen. Nur gibt es Grenzen der Registrierung Modell. In Ordnung. Kein Registrierungsmodell geht zu einem kranken Ali haben die Felder, die wir für die
Registrierung benötigen , die Sie wissen, sind mit menschlichem Passwort auf alle Validierungen, die die
Benutzeroberfläche müssen einzuhalten. Also werde ich eigentlich nur rüber gehen, um ihr Bedürfnis für dich zu nutzen, weil wir es getan haben. All dieser Benutzer braucht Sie. Wir haben die E-Mail-Adresse. Wir haben das Passwort, einige Disziplin, um all dies zu kopieren. Und dann ging ich zu unserem Benutzermodell über zu verstehen, fügen Sie all das darin ein und fügen
Sie dann alle fehlenden Bibliotheken ein. Alles klar,
dann, dann, für das Passwort, gehe
ich eigentlich mit „Do ah“, Vergleich. Überprüfen Sie auch das Kennwort. Also habe ich das zusätzliche Feld hinzugefügt, auf
dem ich das Passwort bestätigen anrufe. Ich werde hier nur einen Anzeigenamen für die E-Mail-Adresse eingeben. Der Anzeigename sagt also im Grunde, was Hadi auf dem Bildschirm angezeigt werden möchte. Wie lautet der Name außerhalb des Feldes, wenn er dem Benutzer angezeigt wird? Es sind also E-Mail-Adressen oder Leerzeichen. In Ordnung, damit diese die Anmerkungen eine schöne Rolle spielen, ist eine Benutzeroberfläche strukturiert. Jedes Loch. Lass mich dich einfach durchführen. So wissen wir über erforderlich, der Datentyp hier Passwort ist. Und wir setzen unsere Validierung für die Vergangenheit ein, wo es hineingeht und dann nicht. Hier habe ich ein anderes Datentyp-Passwort. Das hier ist bestätigt. Passwort auf diesem einen sieht verglichen den Wert aus diesem Feld mit dieser Ansicht. Also ist es nur ein schöner Vergleich, der in setzen wird, weil, wenn die Person sich registriert, wollen E-Mail-Adresse und dann die beiden Passanten zu vergleichen, um
sicherzustellen, dass sie viel sind. Nun, nachdem wir unser Modell eingerichtet haben, brauchen
wir die eigentliche Seite, die Zehe anwenden wird. Um also eine neue Seite oder eine neue Komponente zu erstellen, müssen
wir zu unserem Seitenordner gehen. Andi. So können wir alles an der Wurzel setzen, denn soweit es darum geht, sobald der Seitenname da ist und es registriert ist Zehe haben den Namen und wir sahen etwas Buchstaben mit Index, wo mit dem am Zeichenseite Schrägstrich, dass diese nach Hause bedeutet. Oder wenn Sie sich die Wettervorhersage ansehen,
diejenigen, die dort waren, die Abrufdaten unter dem Zähler, Sie wissen, sehen Schrägstrich Fitch Gate und Slash Zähler, so dass wir es an der Wurzel setzen konnten. Aber ich mag nicht alle Seiten, weißt
du, nur da sitzen und Regeln. Ich bin eigentlich, was einen anderen Ordner innerhalb von Seiten erstellen wird. Dieses Mal werde
ich es Benutzer nennen, weil ich nur benutzerbezogene Seiten innerhalb dieses Ordners möchte, nicht ein Handy, und es ist ein wirklich Spielerteil. Solange der Teil ist, lassen
Sie mich Ihnen zeigen, was ich meine. Also werden wir eine neue Blazer-Komponenten direkt hinzufügen. Der Ordner Gehe zum Hinzufügen auf. Sie können neue Artikel wieder zu seiner Klasse wählen, aber wir wollen zu Web gehen, und wir wollen ein Rasiermesser Komponente auf. Dann wird dieser hier richtig registrieren. Bitte verwenden Sie Kapital sind, weil, wenn Sie eine gemeinsame sind, es wird Ihnen ein Problem geben. Früher kam ich rein und bekam ein Problem. Ich weiß nicht, ob ich es war oder Zukunft universell, aber das ist nur meine Empfehlung. Verwenden Sie Großbuchstaben, wenn Sie Ihre Reservekomponenten erstellen. In Ordnung, also dieser hier ist Register. Wir klicken. Fügen Sie Onda hinzu. Nachdem ich diese Rede hinzugefügt
habe, lege ich einfach die No-Annotation an die Spitze, um sie wissen zu lassen, seine Wurzeln, also ist es Wurzel am Schrägstrich Register, richtig. Also, obwohl es in einem Unterordner ist, sobald Sie sich auf jede Referenz setzen, um sich zu registrieren, wie wir es in der Nuff-Bar in genug Menü getan haben. Er wird für diese Komponente suchen und finden, es ist ich will einfach schnell entwerfen oder das Anmeldeformular. Es wird keine Form Vernunft haben, weil Sie auf Autorisierungsdienst erstellen müssen, bevor wir es ankreuzen können. Aber lassen Sie uns mit den Entwürfen umgehen. Ich entferne das nur. Ich verlasse das Gericht hier, und dann werde ich einige benutzen,
um vier, äh,
Klassen zu schnallen um vier, äh, . Der Stil. So Stiefel bis vier kommt in Schlepptau Blazer gebaut. Ähm, wenn du andere einschließen willst. Sie können immer mit der rechten Maustaste auf Gautam Believe Manage oder keine andere unsere clientseitige Bibliothek klicken. Und dann wird das ein Dialogfeld öffnen, in dem ich die Suche nach einem anderen,
ähm,
Kunden,die ich Bibliothek habe,
verliere ähm,
Kunden, die ich Bibliothek habe, vielleicht Material oder so etwas auf. Dann können Sie es einfach installieren, und es würde es innerhalb von dem Wasser verzögert Ort, den Sie dort haben, oder? Also, wenn du bist, willst du etwas benutzen, das nicht Bullladen war an der Spitze. Ich benutze Bootstrap. Wenn Sie nicht so vertraut mit Bootstrap sind, können
Sie immer gehen, um Bootstrap dot com auf der neuesten ist 4.4 am Tag ausgezeichnete Dokumentation zu erhalten. Also alles, was ich tun werde, kann
man irgendwo hier auf der Seite finden. Also die Komponente, die ich im Begriff bin zu verwenden Zehe Hilfe Stil meine Seiten, die Karte. Also suche ich nach einer Karte, und das ist im Grunde einfach, dass wir benutzen, oder? Wenn wir also eine Karte haben, wird
sie ihr eine nationale Grenze geben, richtig? Und dann können Sie sehen, wie die verschiedenen Karten aussehen können. Also lassen Sie mich einfach mit diesem beginnen, und ich kann einfach kopieren, denn wenn Sie HTML ohnehin eingegeben haben, werde
ich das einfach beschleunigen. Deshalb beginne ich von einem Diff mit der Klassenkarte auf dann innen von der Karte, ich will einen Autotitel und so viel Anpassung an C H. Vielleicht drei,
drei, drei, nicht 13 auf geben Sie ihm eine Klasse off Karte dash Titel rechts auf . Dann ging ich zu ihr. Nur, äh, nein. In Ordnung. Nein, drinnen von der Leiche gingen Zehe haben die Farm. So Blazer gibt uns einige Komponenten. Einige, du weißt schon, spezielle Tags. Also sind wir immer aberrational. Aber dann haben sie manchmal, dass wir so verwenden können, wenn es die Formen kommt. Wenn Sie einfach die Stadt öffnen und anfangen, das Wortformular zu schreiben, haben Sie begonnen, einige verschiedene Komponenten zu sehen, die sie Ihnen alte aus der Box geben, um
mit Formularen zu helfen . Eine, die sie haben, ist die Bearbeitung ihrer bitteren Notationen, während die Dateneingabetypen auf diesen eine spezielle Bindung für das verwendete Modell bereitstellen
können. Richtig? Also bin ich noch nicht zum Modellteil gekommen, sondern arbeite einfach mit mir. Also werde ich beim Bearbeiten des Formulars auf Sie beginnen, öffnen und schließen Sie das dann innerhalb der
Formularattributliste bearbeiten . Sie haben ein Modell. So Modell bedeutet, welche Datenklassen dieses Formular Bindung auf. Wir wissen, dass wir das Register-Modell für diesen Zweck geschrieben geschrieben, ich werde nur sagen, registrieren Modell. Das ist was? Deine bändige Zehe rechts drauf. Dann haben Sie etwas Action. Zweitens, sagen Sie weiter in einem neuen ungültigen, Submit versus on. Senden gegen bei gültiger Übermittlung, damit Sie etwas tun können Wenn jemand
ungültige Daten einreicht Ah, können
Sie wählen, etwas zu tun, wenn die Person etwas, das alles zusammen ist, ohne, Sie wissen, durchzusetzen Validierungen, oder Sie können einfach sagen, wenn eine gültige Einreichung abgeschlossen ist. Dann werde ich dies bei der Validierung von Kursen in Bezug auf die Validierungen tun, die alle innerhalb des verwendeten Modells
ausgekleidet wurden . Was wäre in unserem Fall, die Vater E-Mail-Adresse ist auf, dass erforderlich. Passwörter? Am meisten. Alles klar, so auf gültige Einreichung. Was möchte ich tun? Ich kann hier eine Funktion aufrufen. Sekunden A Handle-Registrierung. In Ordnung, also war es Zeh. Ich weiß, dass du Red Lines sehen wirst, weil es dein Schöpfer ist. Repräsentation von zwei Dingen, die noch nicht existieren. Aber wir kommen dazu. Kein Problem. Also in der Farm, was ich hinzufügen möchte, werden Datenannotationen, Validator bei der Validierung sein. Zusammenfassung. Also, diese beiden Komponenten werden sich hinsetzen und beobachten und sicherstellen, dass alle Validierungen
, die skizziert werden, erfüllt werden. Nein. Ich werde anfangen, auf der Farm aufzubauen. Also, wenn ich meine, ich weiß, dass Sie wissen sollten, wie Farm funktioniert, aber wenn Sie wissen möchten, wie Bootstrap-Formulare aussehen können, können
Sie immer zur Dokumentation zurückkehren, sich Formulare ansehen und dann sehen Sie ho, um Bootstrap-Formulare aufzurufen , damit sie schön aussehen und auf interaktive wie diese
schlafen. Richtig? So haben Sie Ihre Form Talk, wie auch immer angefochtene Form, dass wir das nicht brauchen. Aber dann würde jede Kontrolle reingehen. Ah, Formulargruppe mit einem Etikett auf dem Eingang. Andi. Nun, wenn du da etwas haben willst, richtig. Der Sinn ist also, dass wir bei jeder Eingabe eine Formulargruppe benötigen. Sollte das Klassenformular-Steuerelement haben. Alles andere ist innerhalb oder Kontrolle. Ähm, also gehen wir zurück. Lassen Sie uns unsere erste Eingabe für unsere E-Mail erstellen. Also habe ich eine Gruppe gebildet. Ich habe das Etikett für E-Mail auf Di Di. Also diese zu viel auf den Etiketten ist E-Mail-Adresse auf. Dann sehen Sie, dass ich meine Klassenformularsteuerung habe. Aber dann habe ich hier etwas, das stehen wird, als außerhalb Bindestrich Wert gleich. Also heißt es hier auf Ankündigung, dass dies Eingabetext ist, richtig? Also, wenn Sie Texteingabe, Idiotie, Eingabe, Text wollen. Ähm, was das sagt, ist,
wenn gut, wenn das Formular gesendet wird, oder Daten, wenn es Daten interpretiert hat, an
welchen Teil des Modells sollte ich binden? Richtig Also würden wir die Registrierung Modell Punkt-E-Mail verbindlich sein, denn das ist ein Gefühl, dass wir so viel haben ist die E-Mail-Adresse. Ordnung, InOrdnung,
also werde ich das nur für alle replizieren, und dann erstelle ich ein Modell, und dann siehst du Gedankenwerte. Also im Moment haben wir eine Reihe von Fehlern, und wir haben die Validierungsnachricht für Bedeutung Was auch immer das Gefühl, das hier eingefügt wird, es wird diese Nachricht drucken, Fehlermeldung, die für den Fall auftreten würde, dass Validierung nicht übereinstimmt . In Ordnung, also, nein, ich habe meine drei Absicherung für die E-Mail-Adresse für das Passwort und habe Passwörter bestätigt. Sie können ein Video pausieren. Zieh das aus. Was wirklich Eintrag kann einfach kopieren und fügen Sie die E-Mail. Man versteht die jeweiligen I ds. In Ordnung, Ähm
, natürlich. Es wird nie zu Gefühl der gleichen Idee auf der gleichen Seite haben. Es ist verstehen. Um eine zu ändern, um das Passwort direkt zu bestätigen. Stellen Sie sicher, dass Sie den Typ gleich Sponsoren angeben. So können Sie Typ gleich E-Mail-Adresse hier angeben, aber wir haben bereits die Validierung ausgeführt, um zu erzwingen, dass es Anämie sein muss. Geilhaft. Alles klar, das wäre freundlich, du weißt schon, Doppelarbeit, aber um sicherzustellen, dass du Typ gleich Spots Wort setzt, weil ,
ähm, du willst nicht, dass es gerade im Klartext ausgibt. Das Wichtigste, was auf jedem Formular geht, sind unsere Submit-Buttons. Ich habe nur einen Tastentyp gleich. Senden Sie Klasse auf, dann innen von diesem apple bt nbt und dash primär jeder und dash block. also wieder einmal die Bootstrap-Dokumentation überprüfen, Sie könnenalso wieder einmal die Bootstrap-Dokumentation überprüfen,um die verschiedenen Schaltflächen zu sehen, die sie haben was sie sich ansehen würden. Also dies ist eine primäre Taste bt und Strich primäre rechts, die aufgerufen gibt Ihnen diese blaue Taste. Also, welche Farbe auch immer Sie wollen, Sie können es hinzufügen. Sie können nach unten scrollen und die anderen Eigenschaften sehen. Also wissen Sie, dass wir den Designteil aus der Form gemacht haben, die wir brauchen. Fang an, etwas vom Gericht zu schreiben. Also sehen wir all diese roten Löwen hier. Wir haben einige Fehler. Also im Moment, was wir tun müssen, ist anzugeben, auf welchem Registrierungsmodell ist. Registrierung Modell ist eine Klasse, die wir in der Nähe Raum Buchhandlung haben. Du, ich modelle nicht. Also die Sache ist, dass wir tatsächlich mit Anweisungen in unsere Komponenten direkt hier einfügen können. Weil ich dir sagen muss, dass ich diese Bibliothek für ein paar Sachen benutze. Gleich drauf. Dann drinnen von meiner Schnur. Mein Kernblock. Ich kann anfangen, Gericht zu schreiben. Also das erste, was ich tun muss, ist zu erstellen, dass ich auf Objekt aus bin. Nun, Typenregistrierung modern auf, weil ich es Modell nannte. Ich muss den Namen hier treffen. Lassen Sie mich das einfach kurz erklären. Also werde ich private Register auf dem Wasser sehen. Dann muss ich es den gleichen Namen nennen oder was auch immer in der Nähe meiner Colleges. Was auch immer Name ich hier und dann nach der Initialisierung setzen muss, es ist gleich einer neuen Instanz, die auf dem Modell vorausgegangen ist. Also, um die Dinge einfacher zu machen, hätte dieses nur Modell in Ordnung nennen können? Oder was auch immer ich wollte. Und dann müsste ich nur sicherstellen, dass ich sage, Modell entspricht dem Namen vom Objekt. In Ordnung. Ich meine, sehen Sie, diese rote Linie ist weg, weil nein, die Komponente weiß, dass das auch für unsere Bindungen existiert. Ich muss wissen,, Sagen Sie, das Modell dockt an, dann in das entsprechende Feld setzen. Einige Bindung in schützt das Modell. Diese E-Mail-Adresse Passwörter, eine Mutter, dieses Passwort. Andi, bestätige die Haltung, um das zu überwachen. Bestätigen Sie das Passwort. In Ordnung, Sieht gut aus für unsere Validierungsnachricht. Wir müssen etwas Schickeres machen. Als ich ging, um Scient zu sehen, um Zusammenfassungen einzubeziehen übereinstimmen, dann legen Sie es in eine Klammer auf, die innen aus. Diese Rassen sind innerhalb der Klammern haben ein weiteres Paar von Elternkrankheit, die wie
Indikator ist , wie eine Pseudofunktion oder eine Zeilenfunktion. Aber dann ging ich traurig mein Lambda suchen Pfeil. Und dann sage ich Modell Dart E-Mail-Adresse. In Ordnung, auf DSO werde ich das für alle anderen tun. Also die Validierungsnachricht für Passwort werden wir bereit sein. Teoh Modell nicht Passwort auf den gleichen vier. Bestätigen Sie das Kennwort relativ, um das Kennwort zu bestätigen Als Nächstes brauchen
wir Zehe. Ähm, es wird diese Funktion rechts 100 Registrierung erstellen. Also nein. Innerhalb des Platzes auf die gleiche Art und Weise, wie wir unser Modell erstellen mussten. Ich muss einen Privaten sehen Sie singen den US aan den Griff und dann, wenn ich diesen Blick auf
halten erschaffe , geht
die rote Linie weg. In Ordnung. Perfektes Aufsteigen. Hier müssen wir wissen, was wir tun werden, wenn sich jemand registriert. Und was wir tun werden, ist, wissen
Sie, tatsächlich ein P I genannt und alle möglichen Beleidigungen machen. Also müssen wir tatsächlich die Funktion bauen, und ich werde es hier nicht tun. Stattdessen werde
ich einen Dienst erstellen, der alle unsere
Authentifizierungsbeast-Operationen abwickeln wird . Wie dies üblich ist, gehen
wir zu Verträgen, klicken Sie auf Hinzufügen, erstellen eine neue Klasse oder stören, was auch immer eine und wir nennen diese. Ich Authentifizierungs-Repository, das dann innen von diesem, würde
ich nur sicherstellen, dass es Störungen und die Klasse innen aus sieht. Das brauchen wir Zehe haben, ah,
Funktion, die bei der Registrierung sein wird. Das hier wird also eine Aufgabe sein, Bull zu binden. Es wird als Register bezeichnet werden, wenn Registrierungsmodell ons Benutzer als
Parameter zu nehmen . Richtig. Das ist also unser Vertrag. Dann werde ich es implementieren,
jemand, der zum Dienst mit der rechten Maustaste geht, eine neue Klasse aufruft diesen einen Authentifizierungs-Repository-Klick
erstellen. Fügen Sie hinzu, dann machen wir etwas Vererbung. Ich werde die Baster-Haltung nicht für die benutzerbezogenen Operationen verwenden. Weil, wie Sie können,
lassen Sie uns einfach ein wenig zurückverfolgen. Aber die Basis-Repositories wurden entwickelt, um mit bestimmten Klassen direkt an Dann umzugehen. Ich habe ein Benutzermodell und und ich habe ein Registermodell, also müsste ich disparate Klassen schaffen, die eine Menge Spaß Krankheit sind. Vielleicht verwenden Sie Herbst oben hier Zehe und so weiter. Also versuche ich nur, es einfach zu halten, ich schaffe nur einen weiteren positiven, sehr genannten Autor. Verwahrer. Nur für Authentifizierungswesen Dinge, bei denen es nicht auf die Bühne von Krähen,
Operationen und halten muss . Lassen Sie mich weitermachen und meine Schnittstelle implementieren. Fügen Sie also alle fehlenden Bibliotheken in die Implementierung ein, stört es. Und dann werden wir unseren Kern schreiben, der über das FBI reden wird,
jemanden, der anfangen soll, indem ich meinen HTTP-Client ins Schlepptau injiziert. Dieser Arm, diese Klasse. Entschuldigung. Also in den Dienst. Also ich m BIP Art Fabrik auf. Für den Fall, dass Sie sich an nichts erinnern, haben
wir das getan, als wir das basierte Repository gemacht haben. Wenn du einfach wieder rüber
gehst, würdest du sehen, dass wir wirklich süchtig sind, das Objekt scheint, richtig? Oder das scheint, ähm Scheißkerl. Alles klar, so genug davon. Also lasst uns weitermachen. Also, jetzt müssen wir initialisieren. Es ist eine viel Anpassung. Schnell. Brett das an. In Ordnung. Sagte eine Sache. Ich ging da rüber, erinnerst du dich? Habe ich. Es ist da drüben. Also brauchen wir nur den Konstruktor für unsere Vergangenheit Geschichte sagte Austausch den Namen kopieren und fügen Sie eine Änderung in ihm. Also injiziere ich den Client in unser Repository. Das Gericht hier wird tatsächlich ziemlich ähnlich aussehen Zeh sagen, die Entsendung Kern, die wir
gerade entfernt hatten , dass, wo einige Entsendung Gericht in unserem basierten Repository. Ordnung. Oder erstellen. Also sind wir nirgends dagegen. Basierend auf den Anweisungen zum DSO. Viele Dinge werden ähnlich aussehen, aber lassen Sie uns einfach alle zusammen beginnen. Also das erste, was wir wollen, ist unsere Quest off type post auf der URL, die übergeben wird, ist
in Punkt Punkt Punkt, um in Punkten zu registrieren. Und denken Sie daran, wir haben gerade erstellt, dass, als wir mit der Bestie angefangen haben, Ural für die Registrierung aufgehört hat, dass
abschließende Schrägstrich Sanders es besser sicher als sorry. Alles klar, so vai Bitte. In Ordnung, also haben wir unsere Anfragen erstellt. Dann werden wir es mit dem Inhalt füllen, unsere serialisierte Version des Benutzermodells sein wird, das auf
Kurs kommt . Wir gehen weiter und schließen alles an, was fehlt. Alles klar, so weit, so weit, meiste davon sieht aus wie Kopieren und Einfügen aus dem Erstellen für das Biest Repository Beiring . Die tatsächlichen Parameter gehen rein, oder? Es ist dasselbe Gericht. Also serialisieren wir es Jason. Dann benutze ich meine Client-Bibliothek toe, erstelle auf HTTP-Client selbst, dann werde ich Ah,
Anfrage senden . Einige wollen nur http sehen. Antwort Nachricht Antwort ist gleich toe dort warten, und das ist unser Gewicht. Also, nach mir, das ist denken Sie an, dann. Im Ersteller des Faktors, den wir das basierte Repository erstellt haben, haben
wir nach einer bestimmten Antwort überprüft, die an jedem Punkt aufgerufen wurde. Richtig? Also die Sache ist, ich kann eigentlich einfach so etwas wie Rückkehr sagen, weil ich einen Barren zurückgebe. Ich kann nur sehen, Rückkehr Antwort Punkt ist Erfolg Status Schule, weil Sie wissen, dass ihre Status Boards, die Erfolg bedeuten, so können wir einfach zurückkehren, dass So ist es entweder wahr, unsere Väter mit erfolgreichen sind verrückt, weil unsere A P I für die Registrierung ist nicht Rückgabe anderer wertvoller Daten. Das ist, dass wir die Registrierung abschließen müssen oder so. Wir müssen nur wissen, was es erfolgreich ist oder nicht. Also wissen Sie, dass ich meinen Dienst für die Authentifizierung eingerichtet habe oder meine Repositories für die Authentifizierung zu starten Punkt CS und machen Repräsentation von diesen Rechten. Also innerhalb von Konfigurationsdiensten, muss
ich sagen, Dienste Gedanken ad H D T B Clients müssen sicherstellen, dass ich das alles in
Ordnung mache , weil, wissen
Sie, wir verwenden das Problem DP-Clients darauf. Ich werde auch mein Augenauthentifizierungs-Repository und meine Authentifizierung oder
Poster vorübergehend hinzufügen , damit wir diesen Service dort injizieren können, wo wir ihn brauchen. Also wissen Sie, dass wir das getan haben, und Sie können nur sicherstellen, dass Sie diese Zeilen haben, bevor Sie fortfahren. Jetzt, da wir auf injiziert haben, erstellt sind aus dem Projektarchiv es in unseren Start injiziert jetzt zurück in oder ist eine Komponente, können
wir es in die Komponente selbst injizieren. So gut, ich werde auf den Vertrag verweisen, also muss ich die Bibliotheksverträge verwenden, dann kann ich injizieren. Ich Authentifizierungs-Repository darauf. Ich werde nur das Objekt aus Wieder Pool nennen. Also genau da ist unsere Abhängigkeitsinjektion direkt in unsere Blazer-Komponente, richtig? Nein, wir können anfangen, ein Gericht zu schreiben, das die Anmeldungen behandelt. Ich werde für die Vire-Reaktion sagen. Alles klar ist gleich auf. Ich warte nur auf das Ergebnis aus unserer off re ziehen angedockt auf. Dann haben wir ein Register. Und dann, wo wir uns registriert haben Nun, wir sind nur während eines neuen Benutzers in Form von Registrierungsmodell, das durch
unser Objekt namens Modell auf kommt . Dann mache ich einen Semikolon. In Ordnung, dann kann ich eine Aktion ergreifen, wenn die Antwort gut ist, sind nicht so kann ich sagen, wenn Antwort Ursache dann Antwortserie einen Anlagebarren zurückgeben. Wir haben gesagt, dass wir einen Barren auf der zweiten brauchen,
sehen, ob Antwort dann möchte ich weg navigieren, so weg zu navigieren, wir brauchen eine weitere Injektion und das ist in der Form des Navigationsmanagers. Also werde ich einfach wieder an die Spitze gehen und dann werde ich sagen, injizieren Sie jetzt den
Getriebe-Sohn-Manager, den ich kenne, nur in Anruf. Es ist meine Liebe. In Ordnung, also dann nicht hier. Wenn die Antwort erfolgreich ist, dass ich sagen werde, ich liebe Manager-Objektpunkte navigiert
zu dann. Nun, wenn die Person gerade registriert ist, können
wir wahrscheinlich auf die Anmeldeseite navigieren. In Ordnung, aber es gibt keine Sehnsucht Seite. Es ist Soto verhindern in Bereichen, die ich einfach zu nichts navigieren. In Ordnung, sind nicht das Zuhause eher sonst dann würde bedeuten, wenn die Antwort so weit zurückkam, wie es
gescheitert ist . Ähm, was ich tun werde, ist einen Abschnitt zu erstellen, in dem ich eine Fehlermeldung anzeigen werde, damit ich wiederkommen
kann. Erscheinen Sie auf der Karte. Kann direkt auf der Kasse sein. Nein, auf. Dann. Tun Sie so etwas wie eine Warnung geben. So Stiefel haben uns Alarme so edel, quasi alarmiert auf. Dann sehe ich Alarm Dash Jer. Also, das gibt mir, wie ein rotes, um, geben oder Bereich. Und dann im Inneren kann
ich einen Schlepper haben, was so etwas ist schief gelaufen mit dem Versuch des Register-Sohns. In Ordnung, aber dann will ich nicht, dass das ständig angezeigt wird. Alle Rechte tun wirklich so Was ich tun werde, ist eine andere Variable auf
DSI-Bollion zu erstellen ist Feld. Er waas fällt auf, dann etwas Einstellung. Dies jedoch an erster Stelle, fällt
jedoch an erster Stelle,denn sobald eine Seite lädt, was auch immer dort ist, geht
es um Teile, die Wert haben. Also wollte ich zuerst falsch sein. Aber dann, wenn die Antwort, wenn nicht reagiert Antwort, wenn es wahr ist, dann kommen wir nie weg. Sonst will ich sagen, dass er das Feld gleich ist. Alles klar, und dann oben. Ich kann Ihre Aussage direkt hier im HTML setzen. Ich kann das Schild einfach sagen. Wenn es mir leid tut, lass mich das nochmal versuchen. Ich kann das Zeichen sehen, wenn Feld ist, dann die Beiträge anzeigen. Alles klar, was
dies tun wird, ist den Wert von der Variablen auszuwerten und dann die Diva
entsprechend anzuzeigen . Richtig? Also? Nun, das ist Gib mir eine Ära. Lassen Sie mich sehen, was diese Bereiche sagen, dass es in meinem Körper nicht existiert. Ah, tut mir leid. Dies muss also außerhalb der On-Handle-Register deklariert werden. Ich deklariere es global für die gesamte Ansicht, richtig? Dann ändern wir seinen Zustand, sobald wir versuchen, die Registrierung zu handhaben. Wenn sich dieser See anfühlt, dann haben wir gezeigt, dass etwas nicht stimmt. mit der Registrierung, Sohn. In Ordnung, also lasst uns das Salz testen. Ich gehe zurück zu meiner Benutzerkontrolle und setze einen Haltepunkt in das Register, nur um
sicherzustellen , dass wir den richtigen Platz auf. Dann gehe ich einfach in den Debug-Modus. In Ordnung, also sind wir in unserer Bewerbung. Ich gehe, um mich zu registrieren, wenn ich versuche, die gleiche Zeit einzureichen, wird mir sagen, dass das Passwort und bestätigte Pastoren nicht viel, und das ist, weil es eine Art von Auto-Gefühl ist. Einige Tests, ähm, Datum auch, sehen
Sie, es funktioniert die Validierungen arbeiten. Ich kann nicht vorwärts gehen, bis alles gemeint ist, oder? Also, was ich wissen werde, ist eigentlich bereit, jemanden auf. Ich benutze einen Standardpasser, der bei Sina vernünftig würdig ist. Lassen Sie uns versuchen, das auf einzureichen. Ich bekomme einen Fehler. Also lassen Sie mich sehen, was das alle unsere Boote Fehler. Also, um die Ära zu sehen, können
wir in die Konsolen gehen. Ich werde nur mit der rechten Maustaste klicken, Element
inspizieren. Gehen Sie rüber zur Konsolenwanne auf, lassen Sie mich sehen, was noch Verbindung hergestellt werden könnte. Oh, es tut mir leid. Ich weiß, was los ist. Also ich habe es eigentlich nur in einem Startprojekt mehr, also lass mich einfach anfangen, dass. Also muss ich zu meiner Lösung zurückkehren. Richtig? Klicken Sie auf geht von Eigenschaften und stellen Sie sicher, dass wir auf mehreren Start des Projekts mit dem FBI im Debug-Modus
beginnen, bevor die u I Onda wir auf OK klicken und das ist es erneut versucht. Okay, versuchen
wir es nochmal. Also registrieren und ich habe bereits einen Testbenutzer damit. Also werde ich sagen, täglich ein wanat Buchhandlung dot com Andi gleichen Passwort und dann legt es auf dann Es ist unser Breakpoint. Also das bedeutet, dass wir erfolgreich nur von unserem Sie i über zu unserem a p i Recht verbunden. Also haben Sie das gesehen, als das AP I Projekt das Sie nicht leitete. Ich konnte nichts tun, weil es eine Verbindung zur nächsten Website herstellen musste. Also, obwohl wir auf dem gleichen Computer sind, obwohl wir den gleichen Webserver verwenden, können
Sie sehen, dass sie von verschiedenen Adressen auf dem Prinzip der Überreste des
Sehens übertragen . Es ist das gleiche, was Sie tun würden, wenn Sie zu sprechen wolltenmit einem anderen FBI auf einer Website auf
halbem Weg auf der ganzen Welt gehostet , sobald sie ein u r L haben, können Sie die gleichen Techniken Http verwenden, Client den Beitrag, um die Methode zu erhalten, die es ist und verbinden über. Jetzt. Davon abgesehen, ich werde nur überprüfen, dass die Daten über gesendet werden und Sie sehen hier die Benutzerdetails , obwohl wir über das Register oder Registrierungsmodell gesendet, Sie sind mit E-Mail-Passwort und bestätigen -Passwort. Wir bekommen wirklich nur die E-Mail-Adresse und das Passwort. Das ist alles, was wirklich zählt, oder? Also kann ich um fünf ausdrücken. Ich bin mir ziemlich sicher, dass es dann weitergeht. Mal sehen, was für dich ich tue. In Ordnung. Andy navigierte zurück nach Hause, was wir gebeten haben, Rechte zu tun. Wir sagten: Wenn es erfolgreich ist, dann geh zurück nach Hause. Das ist es also, was es getan hat? Nein, natürlich möchte ich das etwas ändern, so dass, wenn die Person registriert wird, sie wahrscheinlich zur Protokollierung gehen. Also, nein, wir werden an Protokollierungsfunktionen arbeiten, um sicherzustellen, dass, wenn Tageslicht zurückkommt und sie will, viele von uns gegen Sie klicken können. Caesar Form setzt unsere Daten ein, und dann ändern wir den Authentifizierungsstatus von uns, während wir den Talkin bekommen und
alles auf dem Weg analysieren . Alles klar, also bleib dran. Wir haben eine weitere Wirkung Aktivität, wenn wir von der Protokollierung sprechen.
40. Benutzeranmeldung - Verlängerung des Blazor: Hey, Leute, willkommen zurück. Wir werden über Benutzeranmeldung funktionale es angehen. Moment
habe ich einiges zu tun, um jemanden zu bewegen, und irgendwann kannst
du das Video immer pausieren, versuchen und nachholen, was ich tue. Aber ich werde versuchen, so klar wie möglich zu erklären, was passiert. Also beginne ich mit unseren in Punkten, und das erste, was ich d notwendig ist, ist, sicherzustellen, dass wir nicht in Punkt für Registrierungen. Für lange Einsätze Ich werde diesen einloggen Punkt nennen, und es wird die Basis haben, Ihren alten Schrägstrich Es war beschäftigt. Oral FBI Schrägstrich Benutzer Schrägstrich Protokollierung mit dem abschließenden Schrägstrich. Als nächstes werde
ich zu Modellen gehen, und ich werde innerhalb der Benutzermodelldateidetails in oder Protokollierung Modellklasse erstellen. Also hatten wir ein Registrierungsmodell. Es wird so ziemlich aussehen. Wir müssen nur keine Passwörter bestätigen,
verstehen die Kopie, verstehen die Kopie, E-Mail-Adresse und Passwort auf setzen innen aus liebevoll,
denn das ist alles, was wir wirklich brauchen, damit jemand in der Lage ist, sich bei der Anwendung
richtig einloggen zu können , wenn Sie wollen, können
Sie wahrscheinlich den String-Längenparameter absaugen, weil Sie ihnen keine
Hinweise geben möchten , von denen Sie wissen, dass sie glücklicher wären. Du willst keine Hinweise bekommen. Entschuldigung, dass das Passwort vielleicht kürzer sein muss. Ein anderes Modell, das ich erstellt habe, ist die Token-Antwort. So könnten Sie das sogar innerhalb des Benutzermodells setzen. Aber ich habe es an seinen eigenen Platz gesetzt, weil alles, was es ist, eine Klasse ist. Dieser Totenkopf-Token reagiert mit einem Feld namens reden, weil denken Sie daran, dass, wenn wir
das FBI anrufen , immer eine Zeichenfolge für mindestens Antwort spricht. Der Schlüssel spricht über den Wert. Wir wollen also zu viel den Schlüssel haben, damit wir den Wert speichern können, wenn wir ihn
im in serialisieren . Das FBI hat angerufen, aber das sehen wir später. Also machen Sie einfach voran und erstellen Sie diese Token-Antwort innerhalb von Modellen. Jetzt gehen wir zu unserem Vertrag für das I-Authentifizierungs-Repository über. Und hier werde ich zwei neue Funktionen vorstellen, die man auf einer namens Model
One namens Logo einloggen nennt. Also nehmen sie beide eine ist ein Stier und eine ist eine Aufgabe. Also, wann ist die Rückkehr eines Bullen auf eins ist nur, dass wir auf? Dann haben wir natürlich Logging-Modell als Umfang für unsere Login-Funktion. Und wenn wir es in den Vertrag setzen, dann müssen wir es in das Repository stellen. So können Sie sehen, dass Visual Studio uns mitteilt, dass wir Fehler haben. Und ich verheimliche das nur, weil es uns manchmal vorher in Panik geraten lässt. Na gut, dann. Verstehen Sie, um auf Geräten voranzugehen. Ordnung, also entferne ich einfach einen zusätzlichen Kern, den ich dort hatte, also muss ich mir keine Sorgen darüber machen, weil wir ihn neu eingeben werden. Ich tippte es auf, nur um sicherzustellen, dass ich es bekam, bevor ich kam, um eine Lektion zu lehren, die für Butter-Film. Also ist es in Ordnung. Ich habe es entfernt. Sie müssen nicht viel darauf achten. Nein, aber gerade jetzt stellen wir sicher, dass Sie das Loggen auf Gesetz Ziege implementiert haben und nicht wenig unsere Bemühungen auf unsere Login-Funktion
konzentrieren. Es ist also lassen Sie mich einfach diese Ausnahme entfernen, die auf so ziemlich geworfen wird. Wir werden kopieren, was wir hier in der Anfrage im Register haben. Ähm, bitte. Richtig. Also, wo ging einfach hin, um zu kopieren? Wir sind alle von diesem Gericht
entfernt, entfernt, Andi. Ja. Also kopieren wir dies, um es in, loggen Sie sich ein, und sie wollten ein paar Änderungen vornehmen, weil, na ja, wir machen Protokollierungsseite auf beiden Registern in Punkt. Ich brauche die Anmeldepunkte. Richtig. Also in Punkten, die in Punkte einloggen, haben
wir bereits das Warenkorbmodell für den Benutzer. So serialisieren wir das Kartenobjekt. Wir erstellen den Client auf dann http verantwortlich. Also brauchen wir dies, um ein Singen, wer mich ist, das schnell auf dann all diese Fehler mit
weg so ziemlich gesehen wird . Wir tun das Gleiche, was wir sehen. Versuchen Sie, sich
anzumelden anzumelden . Was auch immer kommt, und wir werden die Formulare vom Kurs erstellen, so dass das Formular die Daten füttern wird. Hier. Wir übergeben es in der gleichen Post-Methode. Aber wir nennen diesen Endpunkt Onda. Wir überprüfen, ob wir zurück sind. Ich Antwort erzielte sind kein Erfolgsgericht oder nicht. Aber dann ist da noch ein bisschen mehr, als nur zu kleben. Wenn es erfolgreich ist. Verantwortlich? Denn denken Sie daran, dass
wir, wenn es lange drin ist, über das Token auf. Wir brauchen das Token, und wir müssen das Token speichern, damit wir Operationen ausführen können, werfen Sie die Anwendung richtig. Jemand Zeh muss ein paar weitere Linien aus der Schnur hinzufügen. Wo statt der Rückkehr, ist der Erfolg gelangweilt? Ich werde überprüfen, ob die Antwort nicht erfolgreich ist. Gut. In Ordnung, dann will ich zurückkehren Stürze. In Ordnung, also habe ich gerade die Operation hier getötet. Wenn es kein Erfolg war, so wie wir wissen, dass es sein sollte. Dann töten wir einfach die Operation. Aber dann können wir Onda-Versuche verfolgen, die Daten von der Antwort
abrufen, weil, denken Sie daran, dass die Antwort sowohl das Response-Board als auch einen Token-Stream haben wird. Wenn Sie also möchten, dass ein Refresher auf Loch über die Daten informiert wird, wie ich die Daten nicht
serialisieren sollte , um in das Basis-Repository zu gehen, schauen Sie sich eine oder vergessen Sie Operationen. Richtig? Sie sehen hier, wo wir die Antwort auf großzügige bekommen. Sicher, aber dann bekommen wir den Inhalt, lesen Sie uns String, und dann d c erkennen es Zehe auf Objekt vom Typ T t hier ist das abstrakte Objekt, das
das abstrakte Objekt ist . Ähm, warum die generischen Repositories entworfen Zehe handhaben was? In unserem Fall, weißt
du, bekommen
wir ein Gespräch und eine Antwort, richtig? Also kann ich mir dieses Zeug diese zwei Zeilen ausleihen, und ich werde sie einfach abbrechen, anstatt sie von Grund auf neu zu tippen. Richtig? Also hier sehe ich den Inhalt, der auf den Inhalt wartet, der
im Antwortobjekt zurückkommt . Und dann machte er sich auf die Rückkehr. Ich will Vier sehen. Talkin ist Jason gleich. Punkt GC verlässt das Objekt im Schlepptau. Unsere Klasse, die wir Talk und Antwort geschaffen haben, oder? Surma Bohrung bekommen Buck den Token-Schlüssel auf den Inhalt. Ich sehe, was auch immer der Schlüssel ist, viel es zurück zu den Feldern hier. Das ist also wirklich, was wir im basierten Repository tun, für den
Fall, dass das früher nicht wirklich erklärt wurde oder Sie wirklich den Bereich verstehen. Deshalb müssen wir unwahr sein. Wir passieren das aktuelle Modell oder das Auto. Es ist Klasse. In Ordnung, also wenn wir uns dazu bewegen, die Autoren und so weiter und Bücher zu bekommen, werden
Sie verstehen, dass das ein bisschen mehr ist, aber nein, lassen Sie es sich wie ein wenig orientieren, was drinnen passiert, Ähm, Operation. Richtig? Also wir serialisieren, welches Objekt über den Jason im Schlepptau ausgegeben werden soll, eine Klasse mit passenden Feldern. In Ordnung? Und wenn wir das bekommen haben, sie noch ein paar Dinge hinterlassen, die wir tun müssen. Wir müssen das Token irgendwo auf speichern. Dann müssen wir die Authentifizierungszustände von der Anwendung auf ändern. Dann, nachdem wir nicht alle aus, dass ich zufrieden war, dann können wir einfach True zurückgeben, denn es ist ein Anlagebarren, so wahr würde bedeuten, dass alles erfolgreich war. Also habe ich gerade das wahre Zehenende zurückgegeben. Basierend auf diesen Kommentaren, die ich gerade gemacht habe, haben
wir ein paar Dinge, die wir bekommen müssen. Wir brauchen Zehe, holen eine Bibliothek, die es uns erlaubt, das Talkin zu speichern. In Ordnung, also verwenden wir dafür Loca-Speicher. Also müssen wir in neue Get gehen und eine Bibliothek holen. Das ist eine Menge von Steves lokalem Speicher. Auf eine andere Sache, die wir verwenden müssen, ist das Überschreiben des
Standardauthentifizierungsanbieters für Blazer. Damit wir es genau das tun können, was wir wollen. In Ordnung, also fangen wir damit an, diese Bibliothek zu bekommen. Also gehen in neue bekommen in unserer Buchhandlung, Sie ich Bewerbung oder Projekt. Vielmehr werde
ich nach dieser Bibliothek suchen,
einer wirklich coolen Bibliothek und einem Rapper, der Blizzard-Speicher genannt wird. Also gehe ich einfach zu Breaux Lokal behauptet einen Blazer Dot lokalen Speicher. Und dann kannst du weitermachen und das nicht wissen. Dies ermöglicht es Ihnen, den lokalen Speicher in einem Browser zu verwenden, um die Authentifizierung zu starten. Reden. Nein, das ist ein Gleichgewicht zwischen Benutzerfreundlichkeit und Sicherheit, da es
Sicherheitsbedenken gibt . Aber dann, für dieses Projekt, gibt es uns
wenigstens einen Vorgeschmack darauf, was einige Leute tun, was getan wird. Fortgeschrittener, es braucht eingesetzt werden. Aber ich will den Prozess nicht aufrühren. Richtig. Also bekommen wir die Bibliothek Blizzard, dass Speicher, dann müssen wir es in unserem Anfang initialisieren, dass CS. Und um dies zu tun, werden
wir nach unten gehen, um Dienste auf dem anbruch Ernie Service Seite Blazer zu konfigurieren. Ich werde nur Dienste angedockt setzen. Fügen Sie Blezard Loca-Speicher hinzu. Dies gibt uns also keinen Zugriff auf den Blizzard-Speicher der Bibliothek über den
Abhängigkeitscontainer oder andere IOC-Container. Also zurück im Repository kann
ich nicht weitermachen und einen neuen Dienst injizieren, so dass ich nur privat lesen kann. Und dann ging ich, um den lokalen Speicherdienst anzurufen und ihn aufzurufen. Ich rufe den lokalen Speicher des Objekts auf. Also, wenn Sie eine Bibliothek einschließen müssen, gehen Sie weiter und tun Sie dies weiter, das würde den lokalen Speicher Blazer Dot auf dann
natürlich bringen . Wir müssen es injizieren. Andi initialisiert und dann wissen, dass wir es haben. Wir können es benutzen. Also, was werden wir es verwenden, um zu tun, wenn wir das Token bekommen? In Ordnung, also sind wir gerade nach Tokio gekommen und es ist kein Inside von dieser Saite. Ruf vier Token an. Ich weiß, dass wir Zehenlager brauchen. Also werde ich sagen, ein Gewicht auf der Partitur. Lokaler Speicher auf. Dann, was der lokale Speicher mir erlaubt, ist klar, dass der lokale Speicher Um zu sehen, ob ein bestimmter Wert dort ist. Aber was ich daran interessiert bin, ist auf Elemente zu sitzen, die ich werde sehen, ob Set Artikel mit Blick und dann wird dies vor unserem Schlüssel Onda einen Wert fragen. In Ordnung, also den Schlüssel, den ich als Reden schön und einfach setzen werde, oder nein, lass mich. Sie waren offizieller, offensichtlich nicht weiter zu reden. Dann bin ich mit der Vergangenheit in Ken. Welches ist mein Objekt? Aber das Feld ist das Talkin, richtig? Also das Gefühl, dass, wenn es d c ist, es diese Verbündeten in das Feld Token gebracht hat. Dort ist der Wert. Also richte ich ein neues Element in der lokalen Suche ein, das Token auf Ich sage, dass
reden . Alles klar, wenn
wir uns anmelden, ist alles erfolgreich, dass wir das Token erhalten, wird
es dies im lokalen Speicher speichern
, der in einem Browser ist. Und wenn wir testen, werden
Sie das erste Mal genau sehen, was das bedeutet. Alles klar, also das nächste, was wir tun wollen, ist, den Status aus dem oben für den
Authentifizierungsstatus zu wechseln , den ich erwähnte, noch ein benutzerdefiniertes Gericht zu schreiben und an den
Anbieter , der bereits eingebaut. Also werde ich voran gehen und einen neuen Ordner erstellen auf Ich werde es Provider nennen Alle richtigen Anbieter, und dann innerhalb von Providern. Wir werden eine neue Datei erstellen. Also in einer neuen Klasse. Und ich bin mit dem genannten P I Authentication State Provider, der ein Bissen ist, aber ein P I Authentication State Provider und dann klicken wir. Add on, dann diese Authentifizierungen. Nun, diese FBI-Authentifizierung sagte Provider wird wirklich einige erben, die nur
einen Vererbung Doppelpunkt auf seine Vererbung vom Authentifizierungsstatusanbieter setzen . So können Sie einfach kopieren und einfügen und das A p I auf. Dann wird das verlangen, dass ich eine Bibliothek einschließe. Und sobald das getan ist, wird
es wissen, dass ich die abstrakte Klasse implementieren muss,
was bedeutet, dass ich eine Überschreibungsvorwärtsauthentifizierungen bereitstellen muss, die eine Klasse bereitstellen oder Funktionen sind der Authentifizierungszustand, den er sinkt sind so ziemlich das, was diese Authentifizierungen, die sie bereitgestellt haben, out of the box ist die Person autorisiert oder nicht? Sind authentifiziert, sind Nüsse. Und dann, basierend auf den Differenzbehörden, die wir rund um die Anwendung eingerichtet haben, wird
es Ja oder Nein sagen. Können sie das tun? Können sie das in Ordnung machen, oder sollten sie das sehen, wenn sie sehen, dass alles an zu bauen ist. Also werden wir damit umgehen, was wir wollen. Nein, der Grund, warum wir es überschreiben
, ist, dass wir das Verhalten basierend auf der Tatsache ändern möchten, dass wir Token verwenden. Wollen Sie also sehen, ob es ein Token gibt, das lokalen Speicher präsentiert und dass etwas ist, dass diese Person autorisiert ist, sind bereits authentifiziert, richtig. Also, wenn ich im lokalen Speicher suchen muss, bedeutet
das, dass ich das an der Abhängigkeitsspitze brauche. Überprüfen Sie lokale Geschichten. Ich werde in diesen lokalen Geschäften injizieren müssen, genauso wie wir es in der Autorisierung gemacht haben ,
die man gerade kennt. In Ordnung. Oder Authentifizierungs-Repository auf. Dann muss ich meine Konstrukteure von SETI oder unserer oberen Wanne aufsetzen. In Ordnung, Authentifizierungsstatus-Provider auf. Dann lege ich meinen Parameter für den lokalen Speicher ein. Dann initialisiere ich den Konstruktor. Ordnung, jetzt kann ich jetzt in dieser Funktion ein paar Dinge tun, aber dann lass mich das einfach sagen. Ich muss den Versuch fangen, richtig? Also, was ist passiert? Ist das das erste Mal, dass ich das gemacht habe? Ich habe Zeit damit verbracht, mich zu fragen, warum es nicht funktionieren würde. Ich bekam etwas über das Rendern und einige kollidieren mit dem lokalen Start. Basierend auf der Tatsache, dass ganze Blazer Lords, braucht
es alles für Lord. Zuerst denke
ich, dass es einige Miss viel gab, sind einige, ähm, falsche Handhabung von den niedrigeren Zeiten zwischen den lokalen Speicherüberprüfungen auf dem tatsächlichen Serverkabel . Also habe ich einen Fehler bekommen, oder? Also der Versuch Fang ist nur, um sicherzustellen, dass es nicht ihren Sieg abstürzt, wenn alles nicht Herr zur gleichen Zeit. Richtig? Also das erste, was ich tun werde, ist versuchen, das Token zu bekommen, das in lokalen Geschäften ist. Um das Token zu erhalten, werde
ich ein sehr genanntes Speicher-Token laufen auf Loca-Speicher warten, der eine Senke erhält . Und es wird sagen, ich bringe uns direkt an. Dann ist der Name vom Wert der Schlüssel für das, was ich will, aus Token. Denken Sie daran? Wir setzen es nur ein, wenn die Person ihn liebt. Ein Schlüssel, der vom Token abgerufen wurde, sollte erstellt werden. Das heißt, jedes Mal, wenn wir es abrufen möchten, wird diese Funktion verwenden. Artikel abrufen. Und das gibt mir einen arabischen Possits muss ein Waschbecken sein. Na gut, dann
weiter. Wann immer wir es bekommen, wird
es gerettet. Werden im gespeicherten Token gespeichert. Okay, nein, wenn ich diesen Token bekomme, möchte
ich einige Dinge innerhalb des Token überprüfen. Und ich werde ein paar alte Token aufbringen und dir zeigen, was ich meine, indem ich einige Dinge überprüfe . Also hier sind einige Beispiel-Token, richtig? Thes Luftmarken, die ich freundlich von Pete schien aus früheren Tests. Das macht keinen Sinn für mich, wenn ich es ansehe. Es macht keinen Sinn für Sie auf diesem Jahr einen Computer, der in der Lage ist, es zu entschlüsseln. Ordnung. Aber dann ist der Punkt, dass alle von ihnen, sie waren genial für drei verschiedene Benutzer sind zumindest vielleicht einige vier der gleiche Benutzer, aber in verschiedenen Situationen. Aber die Header-Informationen sind die gleichen. In Ordnung? Nein. Zwischen den vollen Stopps haben
Sie die 1. 4. Haltestelle. Ich bin der letzte Punkt, richtig? Die Verwendung von ihnen ist irgendwie auf diese Weise umzugehen. In Ordnung, wir haben, was wir die Nutzlasten nennen. Wenn ich nur doppelklicke in diesem Abschnitt zwischen den Nahrungsstopps, wir haben das als Nutzlasten. Diese Nutzlast enthält alle Informationen, die in der Gefängnisfähigkeit eingerichtet worden wären. Der Emittent, das Ablaufdatum. Wer? All diese Ansprüche? Unsere Nummer eins hat unsere Token umgebaut. Wir haben einen Haufen von Ansprüchen eingereicht. Alle diese Bits off Informationen werden gespeichert und innerhalb von der Nutzlast zugänglich. Jetzt mit Nein, aber plus plus, ich kann einfach zu Plug Ins
gehen, zu Mama gehen. Werkzeuge auf Basis 64 d Akkord auf, dann. Dies sieht ein bisschen besser aus, wo Sie sub mit dem Wert U c j t I sehen Sie sehen Name ID. Du siehst die Rolle, richtig? Ähm, der Experte Ablaufdatum oder zumindest eine Art von Wert. Dies stellt ein Ablaufdatum für die ISS dar. Ihr was war lokale Gastgeber Loca Schlauch. Richtig? Andi kann sich ansehen. Siehst du das? Alle von ihnen verkauft Be a 64. Decodierung ist irgendwie mathematisch. So würde das Gefühl, weil es Ahmad für Monat, die passieren muss, dann erhielt diese man Grundlagen arbeiten, bevor. Also, wann immer du den Pfeil bekommst, meinst du Neto und eins sind zwei gleiche Vernunft. Ich denke, dieser muss Zeichen gleich sein. Ähm, Andi,
ich weiß nicht, dass ich das nur Versuch und Irrtum war, richtig? Also müssen die Monate, für die der Mod entweder zwei oder drei sein. Also, wenn es keines ist, glaube
ich nicht, dass es funktionieren wird. Wenn es immer noch ist, braucht
es eine gleiche Seite, es ist es tun, es braucht, um wissenschaftliche Street braucht einen, so
etwas. Aber der Punkt ist, dass dieser eine zugelassene richtige Art von Ansprüchen war, und all diese Informationen kommen in die Tokens hinein. Also müssen wir in Paris diese Token geben, um Entscheidungen zu treffen, wenn wir den
Authentifizierungsstatus bekommen . In Ordnung? Nein, Die erste Entscheidung, die ich treffen möchte, nachdem ich versucht habe, dieses Token abzurufen, ist, wenn es
sogar ein Token gibt . Also, wenn ich nur meine String-Bibliothek verwenden und sehen, ist kein oder Leerraum. Also, wenn kein oder Leerraum sparen Toe Token speichern kann, richtig? Da ist also nichts drin. Ich habe nichts abgerufen. Ich habe danach gesucht und ich habe nichts zurück bekommen Dann muss ich einen neuen
Authentifizierungsstatus zurückgeben , Holen Sie sich mein Drehen richtig, Sie Authentifizierungsstatus direkt an. Dann blieb die Authentifizierung wirft auf Prinzipien. Das bedeutet also, dass, wenn ein Prinzip vorhanden ist, das bedeutet, dass ich dort verwende, vorhanden ist. Also, wenn ich nur in einem neuen Anspruchsprinzip übergeben, alles klar Prinzip auf dann und das Anspruchsprinzip kann leer sein. Oder Sie können es mit einer reinigenden Identität initialisieren, richtig? Also werde ich eine leere Identität übergeben, weil ich sehr klar sein wollte, dass es hier niemanden
gibt . Alles hier ist leer, niemand ist Anwesenheit oder der Authentifizierungszustand ist, dass es niemanden gibt. Das ist ziemlich genau das, was das sagt. Das ist also immer noch in der Anwendung der Blaze Anwendung, dass niemand Präsident ist. Niemand ist zu Hause. Du musst also nichts tun. einfach so, als hätte niemand geliebt, Recht zu haben. Also bewegen , wir uns weiter,um den Inhalt zu bekommen. Also zeige ich Ihnen nicht den ganzen Inhalt von dem, in dem sie reden, das direkt auf notwendig ist. Eine Sache, die wir tun wollen, ist auch überprüfen Sie das Ablaufdatum, Also, wenn das Token abgelaufen ist, dann wollen wir sagen, dass niemand geliebt und ich will auch entfernen. Wenn es also vorhanden ist, aber abgelaufen ist, möchten Sie es von dort entfernen, möchten
wir die Authentifizierung ändern. Staaten authentifizieren es nicht. Also, um Paris das Token Ich hatte funder auf einem Gericht Schreibgericht handeln, um das
ganze Parsing zu machen . Und das ist ich weiß über das Gleichheitszeichen und die Grundlagen vor und so weiter. Aber es gibt eine Bibliothek, die dieser Präsident uns helfen kann. Also, anstatt dich durch die ganze Schnur zu stecken, gehen
wir einfach wieder zum neuen Get. Habe ich, weil Sie bekommen, ich habe so lassen Sie mich einfach gestartet Sie schnell bekommen und ich werde für
suchen Lassen Sie mich sehen, ob ich nur nach Tolkiens Punkt jwt suchen kann. Ich hoffe, ich sehe die Bibliothek. Da gehen wir. Also System diese Identität, nicht Modell. Das ist Token, die J lo Schönheit. Also geh einfach voran und installiere die Bibliothek, und dann können wir zurück zu Well, wir müssen gehen, um das CS zu starten. Fangen wir an, dass Sears wissen, dass wir Zugriff auf die Bibliothek innerhalb
der Abhängigkeitscontainer haben wollen , richtig? Also werde ich eine Bereichsinstanz hinzufügen, damit ich das einfach unter dem GDP-Client
mit anderen Schulen tun kann. Instanz aus dem J Liberty spricht Hunderte. Das wird also erfordern, dass ich meine using-Anweisung einfüge. Alles klar,
das wird mir erlauben, das überall zu benutzen, sobald ich es in jemanden injiziere, um den staatlichen Provider auch
injiziert zu haben, aber ich muss das Gericht nicht oft wiederholen. So sind kontinuierlich Objekte erstellen. Lass mich einfach beeilen und eine private Lektüre machen. Nur Andi enthalten den JWT-Sicherheitshandler. Wir nennen es auf dem Punkte-Token, Handler. Sie sehen also, es gibt Zeiten, in denen Sie den Vertrag über den Dienst ausführen müssen, um ihn in den
Abhängigkeitscontainer zu bekommen , und dann tendiert es jede Art von einer einzelnen Instanz, und es wird genauso funktionieren, Richtig? Also natürlich, nachdem Sie das Objekt eingefügt
haben, müssen Sie es initialisieren. Also habe ich es einfach dort angezogen. Dann initialisieren wir Token-Handler, also reden 100. Alles klar,
jetzt, da wir dieses Token-Handler-Objekt haben, jedes Mal, wenn wir etwas tun wollen, das darin zusammenhängt kann
ich
jedes Mal, wenn wir etwas tun wollen, das darin zusammenhängt, es einfach anrufen. Also, was ich wissen möchte, ist lesen Sie den Inhalt auf was? Um unseren Zeh Inhalt zu haben, der gleich ist, dass wir Unterstrich Token Handler Docks sehen, dann von hier aus ist
es Oh, sagen wir, können Sie es lesen? Wir wollen kreieren Sie wollen eine Jade-Fähigkeit erstellen? Sie haben eine Reihe von Optionen. Also derjenige, den ich will, dass sein Lesen jwt spricht, dann habe die gleiche Token-Einheit übergeben. Also das Telefon, mein Sohn. Dies gibt uns ein Objekt namens JWT-Sicherheitstoken. Also von diesem Objekt, kann
ich sagen, Was ist der Ablaufwert? Alles klar, so weit Ablauf. Es wird wissen, parse oder gib mir. Lassen Sie mich nur sicherstellen, dass Sie mein Yeah bekommen, nur die Rechtschreibung überprüfen, damit es diesen Wert im Schlepptau analysiert. Der Datentyp, den ich möchte. Also, wenn ich sage, nicht gültig zu tut, dass diese diese aus diesen Behauptungen, die über gesendet wurde, sehen wir, dass es ein Datum Zeit hat. Es wird mir ein Date geben. Zeit erhält den großen Zeitwert. Also, wenn ich sage, gültige Zehe ist gleich Ablaufdatum, dann kann ich überprüfen, ob die Datumszeit nein oder ablaufend kleiner ist als die große Zeit. Nein. Also denken Sie daran, dass die Ablaufzeit etwas war, das wir Stadt hatten, das war's. Ob wir hinzugefügt fünf Minuten sind fünf Tage hinzugefügt, was auch immer die Ablaufzeit ist, ich werde es in den Tageswert bekommen und ich bin mit komplett ohne auf. Wenn nein hat einen größeren Wert als das, was die Ablaufzeit war dann. Ich möchte auch sagen, dass niemand authentifiziert ist, denn was auch immer Reden ist, gibt es keinen Wert
mehr. Aber zusätzlich möchte
ich es auch aus dem Speicher entfernen. Also dann kann ich ein Gewicht auf der Partitur sehen, lokalen Speicher Punkt und dann können Sie sehen entfernt ich bin ein Waschbecken. Alles klar. Dann wird es mich nach dem Schlüssel fragen und der Schlüssel ist aus dem Talkin. Wenn das Token abgelaufen ist, entfernen Sie es. Das ist ziemlich genau das, was wir tun, oder? Also, bevor ich das nicht tat und das Token da war, war die Person liebevoll, weil während des Gesprächs anwesend war, also drehten wir den unauthentifizierten Zustand für die Person. Aber sie waren nicht alles, was sie angeklickt haben. Da waren sie nicht in der Lage, reinzukommen. Alles war eiskalt. Und als wir reingingen und nachforschten, sahen wir, dass wir über die 401 kommen, weil das Token ein P. erlebte ich das Token, aber wir hatten nicht die Einrichtung in der Anwendung Zehe, wissen
Sie, liebe die Person aus, wenn das Token ungültig ist. Richtig? Was also passiert ist, ist, dass einmal Anwendung Lords, es Dysfunktion verursacht, und dann macht es diese Kontrollen, die wir in setzen. Dann, wenn das Token dort war, aber es abgelaufen ist, entfernen
wir es. Und dann lieben wir, wer auch immer in langen Memos eingeloggt war. Zu diesem Zeitpunkt ist niemand eingeloggt. In Ordnung, also sind wir gezwungen. Die Benutzer haben die Wiederauthentifizierung. Wenn das Token auf die gleiche Weise abläuft, wenn es kein Token gibt, während sie sich nur anmelden müssen,
wenn sie sich um die notwendigen Operationen kümmern möchten. Jetzt möchte ich die Ansprüche aus dem Token abrufen. Weil ich nicht nur Cleans von so Ken an setzen werde, dann ein authentifiziertes Benutzerobjekt aufbauen und
dann authentifiziert, authentifiziert,
authentifiziertzurückgeben authentifiziert,
authentifiziert werde. Zuerst sind Objekte, richtig? Damit das die Dinge sind, die wir tun wollen. Aber dann ist die Sache, die Behauptungen zum Reden zu bringen, und das ist etwas, das ich bei mehreren Gelegenheiten tun möchte. Also werde ich nur eine Funktion für diese separate erstellen. Oh, übrigens, lassen Sie mich, bevor ich zum Fang weitermache. Ich will nicht werfen, weil dann das das Programm abstürzen würde. Wenn also irgendetwas auf dem Programm abstürzen würde, sagen wir einfach, dass wir die Authentifizierungszustände zurückgegeben haben, was nichts ist, oder? Also stürzt das Programm nicht wie alle anderen ab, richtig? Also lass mich weitermachen. Also habe ich gesagt, dass ich eine Funktion brauche oder ich eine Funktion möchte, die nur alle Ansprüche
vom Token erhält , richtig? Denn das ist etwas, das ich öfter benutzen werde. Und es wird auch einem doppelten Zweck dienen,
einen Pop artikulären Anspruch auszugleichen , den wir vorher nicht hatten. Lassen Sie uns also diese Funktionen erstellen, auf denen ich privat speichern werde. Ich werde eine Liste verwenden,
eine Liste von Ansprüchen. In Ordnung, also der Typ sauber, also will ich, dass eine Liste gelöscht wird, und ich will es nennen, so dass Empire schreit auf das, was ich vorbeikomme. Es ist dieses Objekt, das unsere Rede und unseren Inhalt ist. Alles klar, also ist der Datentyp J W T Sicherheitsspitze kann. Das ist der Datentyp von dem Objekt übergeben wurde und dann die Ansprüche abzurufen. Es ist wirklich einfach. Also werde ich erklären, warum ich die Mühe durchmache, ah ganze,
äh,
Funktion dafür zu haben äh, , wenn es wirklich einfach ist. Jemand, der eiserne Ansprüche speichert, ist gleich Token-Inhalt. Denken Sie daran, Token-Inhalt, diese Objektschläuche,
alles, was wir über unser Token wissen müssen, Ordnung, aber dann kann ich sehen, dass es dort angedockt ist. Wir haben ein Feld namens Ansprüche, das uns die Liste von Token alle in der Beta-Typ-Anspruch auf seine unzählige Nun, es gibt uns eine unzählige off Ansprüche, richtig? Aber ich will zumindest, weil ich es ein bisschen ändern werde, als ich die
unzähligen das gleiche nicht ändern kann , wo kann freigegebene Recht ändern? Also bringe ich es auf die Liste. Aber dann werde ich behaupten, dass die Anzeige auf Ich füge einen brandneuen Anspruch hinzu. Ok, Onda, diese Behauptung geht auf. Haben Sie den Anspruchstyp Punktnamen auf Dover. Wenn wir uns einloggen, werde
ich Ihnen erklären, wie genau das alles kommt. So saubere Typen. Entschuldigung. Löschen Sie nicht Stipe oder saubere Typen, die auf dem Wert, den dieser Name ist, wenn tohave Inhalt
spricht. Ich habe ein Thema. In Ordnung. Das Subjekt wäre das, was wir gesehen haben. Ein U-Boot im dekodierten. Also sub, das ist E-Mail. Also sage ich, dass der Hauptbenutzer der Anspruch ist. Einer der Behauptungen, dass dieser Benutzer, wenn er gebaut wird, haben
sollte, ist der Name gleich was mit Passah als Subjekt. Alles klar, das ist der E-Mail-Brief, Sehnsucht nach Namen oder was auch immer Grate auf Dann können wir keine Rückkehr löschen. Es gibt also keine Parse. Die To-Liste ist, dass ich diese Zeile tun musste, und ich kann das nicht auf unzähligen. Also wissen Sie, dass wir, ah, Funktion Zehe haben, bekommen die Ansprüche. Das heißt, jedes Mal, wenn wir Clears bekommen und
wir diese Funktion aufrufen, bekommen wir alle Ansprüche. Ich kam ebenso wie der Zusatz aus Namen, während das Wasser im Thema war. In Ordnung, also, nein, ich kann den Benutzer bauen, also werde ich eigentlich nur diese beiden zu einem zusammenführen, richtig? Also verschmelzen wir sie in Ordnung. Jemand, um das Benutzerobjekt zu bauen oder ich werde unseren Benutzer speichern, ist gleich. Also beanspruchen Sie Prinzipien. So ziemlich alles, was wir aufgetaucht hatten, oder? Also, eigentlich, werde ich
nur diesen Vorfall abkopieren es einige
neu eingeben. Das Sehen unserer Nutzung entspricht einem neuen Anspruchsprinzip. Aber wir gehen tatsächlich zu haben, ah behauptet Identität mit einem Wert. Also die Anspruchsidentitäten, die diese Ansprüche haben, werden Pariser Behauptungen haben. Alles klar, weißt
du was? Lassen Sie mich das etwas sauberer machen. Also lassen Sie mich sagen, Feueransprüche sind gleich. Zehe die Funktion. Call Toe Feuer schreit unser Passieren in den Token-Inhalt. In Ordnung. Und wenn Sie die Ansprüche in dieser Variablen bekommen, dann werden wir sagen, dass die Anspruchsidentität diese Ansprüche auf alle Kämpfer hat. Tun. Komm schon, sieh dir den Konstruktor an. Siehst du das? Wir fragen, es fragt nach der Sammlung von Ansprüchen auf, dann kann ich den Schlüssel sagen. Mitarbeiter sind die Authentifizierungszeit, die in diesem Fall JWT war. In Ordnung, also haben wir diesen Benutzer an, dann sagt das nächste Lyon, dass wir die authentifizierten Benutzer zurückgeben. Also werden wir alles zurückgeben, was wir hier haben. Diese ganze Rücksendeerklärung ist anwendbar, sondern aus einem leeren I bei leerem Anspruchsprinzip und Identität. Ich werde den Benutzer zurückgeben, weil es das gleiche Anspruchsprinzip mit einer Identität mit Ansprüchen dieses Mal ist. Also gebe ich dieses Objekt nur innerhalb der Authentifizierungszustände zurück. Also das alles sagt, dass Holen Sie sich das Token. Wenn es keine Zeit gibt zu reden, ist
niemand liebend. Wenn ein Token noch Ablaufdatum vorhanden ist, wenn es abgelaufen ist, entfernen
Sie das Token. Niemand hat darin geliebt. Wenn keiner von diesen getroffen wird, bedeutet
das, dass Sie die Ansprüche bekommen wollen. Holen Sie sich den Benutzer, erstellen Sie einen Benutzer. Andi,
sag, dass jemand reizend ist. Das ist so ziemlich alles. Alles, was du siehst. du nie ein bisschen weg gemacht, auf zu wissen. Aber wir haben ein bisschen mehr, und dann können wir pausieren und zu den anderen Aktivitäten übergehen, oder? Als nächstes werde ich sagen, loggen Sie sich ein. Also werde ich meine eigene Funktion innerhalb dieses Authentifizierungszustandsanbieters erstellen, wenn wir die öffentliche Aufgabe sehen, das Ja
lieben, alles klar an. Dann, wenn wir melden Sie sich an. Alles klar, was ich tun möchte, ist das gleiche Zeichen zu bekommen, richtig? Denken Sie also daran, dass wir die Login-Funktion im Repository haben. Richtig? Also habe ich gesagt, ich wollte den Zustand von oben ändern, um das zu tun, ich muss etwas innerhalb von einem p anrufen. Ich blieb Anbieter, aber ich kann nicht einfach die get authenticated anrufen. Sehen Sie, das ist immer, dass ich den Authentifizierungsstatus manuell festlegen muss. Also erstelle ich ah, Funktionsaufruf eingeloggt oder lange in was auch immer Sie es nennen möchten. Aber diese Funktion wird das sein, was wir am Ende nennen, all dies ein p, das ich anrufe und Paris ing und so weiter. Dann änderte ich den Zustand. Also lasst es uns zusammen bauen. Wenn ich also eingeloggt sage, ist
das erste, was ich will, das gleiche Token. Also holen wir das aus dem lokalen Speicher, richtig? Alles klar, weil wir es einfach eingestellt haben, Ordnung. Wir setzen es nur in lokalen Speicher. Also was? Ich bin im Authentifizierungsstatus auf geändert. Ich meine, wohl hätte
ich das Token übergehen können, aber das ist in Ordnung. Ich meine, nur um sicherzustellen, dass wir konsistent sind, wenn wir es hier drüben setzen, werde
ich es aus dem lokalen Speicher holen. Ich werde auch den Anspruch analysieren wollen, also muss ich den Inhalt auf. Dann ging ich ziemlich genau das gleiche zu tun, was ich oben getan habe, wo ich die Ansprüche direkt analysieren werde. Sobald ich die Ansprüche
habe, werde ich meinen Benutzer bauen. Also, das wird erinnert. Das ist bekommen. Wenn ich also den Browser schließe, gehe ich zurück in die Anwendung. Was dies tut, ist, dass, wenn die Anwendung weiß, dass es verursacht wird,
der nach dem gleichen Token sucht und dann die Anwendung daran erinnert, wer in geliebt wird das passiert es. Hier drüben ist, wo ich Sehnsucht nach der Person in Süd-Fähigkeit Benutzer. Wenn Sie sich also anmelden, wird
dies aufgerufen und Ihren Benutzer zum ersten Mal erstellen. In Ordnung dann, nachdem ich den Benutzer so ziemlich gebaut habe, sehen alle diese Linien aus wie ein
Pop von Booten mit weniger Checks dazwischen aus. Danach werde
ich unseren Off-Zustand retten. Dann ging ich, um Aufgabe von Ergebnissen zu sagen. Neue Authentifizierungszustände sind so ziemlich der gleiche Funktionsaufruf. Aber ich überprüfe nur, was aus Authentifizierungen ist, nachdem ich diese Informationen
dann basierend auf dem, was ich von diesem Funktionsaufruf zurückerhalte, werde
ich wissen, die Anwendung von der Statusänderung
benachrichtigen. Also, wissen
Sie, wenn Sie die Aussagen setzen, wenn die Person geliebt ist, und dann zeigen Sie das sonst, so dass alle diese Aktionen ausgeführt werden, sobald wir in setzen, sobald Sie die Statusänderung benachrichtigen, alles klar? Nein, unsere nächste wäre Gesetz Ziege, und dann können wir nennen es wird nicht wirklich genannt Rafto im Repository implementiert auch Put Lagos, da wir hier sind So lange Notizen ist im Grunde nur die Änderung der Staatsspitze . Wenn da niemand so ziemlich richtig war, also baue ich im Grunde nur einen leeren Claims-Principal und ich werde das auf Call
it niemand tun . Dann ist niemand zu Hause. Diese letzten beiden Zeilen sind so ziemlich immer noch anwendbar Seite des Kopierens und Einfügen dieser. Aber anstatt Benutzer zu übergeben, der hier offensichtlich nicht existiert, gebe
ich niemanden weiter. Dann benachrichtigen wir das. Dann sind wir keine andere Anwendung des Staates. Das ändern? Nein. Es gibt ein leeres Prinzip auf keine Identität, keine Ansprüche zur Zeit verfügbar. So lange hält die Person. In Ordnung, also sind wir fertig mit dem Staatsanbieter. Gehen wir zurück zu unserer Positivität und beenden dann einfach diese Aktivität. Siehst du, es war ziemlich arbeitslos. Und dann, wenn wir zurück mit vor der Kreuzung auf der Schnittstelle, richtig, Also nach diesem und ich wollen den Zustand von oben ändern, das bedeutet, dass ich den Authentifizierungsstatus-Provider brauche. Also nein, wir müssen wieder weitermachen, diese Abhängigkeit
injizieren. Also werde ich dorthin gehen und dann sagen, dass ich ein neues Objekt möchte, nur den Authentifizierungsstatusanbieter
lesen und das natürlich in oder Konstruktor initialisiert habe. So haben wir Authentifizierungen, den Provider und unser Objekt auf. Was passiert dann, ist, dass wir Ah anrufen müssen, Authentifizierungszustände Provider toe tatsächlich das Login richtig machen? So Authentifizierungen, sie Provider Punkte. Aber wenn ich das tue, bemerkte
der Arzt, dass es mir nur gut geht. Ein Ereignis über den Zustand geändert, Aber ich bekomme auch nur den Get-Authentifizierungsstatus Sink richtig. Einige gingen nach Art aus, machen einen Überschreibungsschrägstrich Typecast waren daneben. Ich muss es wissen lassen, dass es wirklich der A P I Authentifizierungsaufenthalt Provider ist, meine Überschreibung ist, der
die benutzerdefinierten Optionen hat. Richtig. , Nun,
dann muss ich alles, was ich brauche, um diese in eine Brise zu wickeln, damit es sieht, tut ein großes Objekt. Also, das ist der Typ, der auf, dann. Ich sehe nur, dass dieser ganze Typ ein Objekt wirft. Alles klar, dann sehe ich Punkte an. Dann sehe ich eingeloggt,
41. Benutzeranmeldung – Teil 2: Hey, Leute, Willkommen zurück. Wir sind zum Teil dazu bereit, unsere Log-In-Funktionalität zu kompensieren. Und wir haben ziemlich viel Arbeit im vorherigen Video gemacht und wir haben einiges zu tun in diesem Video. Aber lassen Sie uns einfach in die Schule gehen. Lassen Sie uns am Anfang dieser CS-Datei beginnen. Also in dieser Datei muss
ich zur Schule in der Sinne eine für unseren Over at Provider hinzufügen. Also haben wir gerade den FBI-Authentifizierungsstatusanbieter erstellt. Also muss ich hinzufügen, dafür geschöpft auf dann. Danach
habe ich ein bisschen komplizierter Linie nach rechts, wo ich ging, um Dienstleistungen zu sehen, die in der Schule Zinn in den ursprünglichen Authentifizierungen sie Provider auf, Dann können wir amüsant p kurz Anbieter sein. Ich denke, Sie können sich Piers ansehen, für Anbieter
starten, und dann sehen wir den erforderlichen Service. Also fügen Sie einfach diese beiden Zeilen in der Schule ap i Authentifizierungen hinzu. Sie Provider Onda hatte sich abgehauen. Indikationen haben Anbieter auf. Dann gehen wir weiter und setzen die Option p ein, um den erforderlichen Service für diese benutzerdefinierte Klasse zu erhalten. In Ordnung. Niemand bekommt den Zeh ein bisschen mehr Spaß. In Ordnung. So kleine Schule war Zehe über Seiten und wir werden anfangen, über Protokollierungsseiten zu erstellen. Also werde ich die Zehe gehen. Add on. Ich werde ein neues Element hinzufügen, undsind Komponenten oder erhöhen Sie eine Komponente von Goto. Weber ist eine Komponente, und es wird Log in diesem Rasierer genannt werden. Also gehe ich voran und füge das hinzu, sobald es die erste Zeile aus Langeweile erstellt hat, wenn die Änderung die Seite ist, also werden wir es wissen lassen, seinen Pfad zu sein Schrägstrich Protokollierung. Ich bin auch voran,
gehen weiter auf injizieren um, das Authentifizierungs-Repository Onder,
der Nav-Luftfahrt-Manager auf Ich rufe das Objekt Navigation des Managers. Ich finde es leichter zu sehen. Richtig. Also, Manager, was wir hier sehen, wo ich die roten Linien bekomme, weil ich Literatur,
Freunde und das Register einschließen muss . Wir setzen tatsächlich die using-Anweisung manuell ein. In Ordnung, also lassen Sie mich einfach kopieren, dass der Süden sie später braucht. Sie sehen, wie Sie es tun können, ohne die using-Anweisungen jedes Mal setzen zu müssen. Aber jetzt lassen Sie uns einfach damit arbeiten. In Ordnung? Also nein, ich habe alles da auf, dann werde ich nur dieses Formular einrichten, um nur bei meinem Anmeldeformular. Also werde ich eigentlich nur hierher kommen, um alles zu kopieren, sogar die Schnur. Ich werde es nur kopieren, weil es ziemlich ähnlich sein wird. Also will ich keine Zeit damit verbringen, Sachen neu zu tippen, die schon irgendwie haben. Ich bin mit dem Tempo, und dann gehen wir einfach durch und stimmen die Unterschiede, richtig? Also, anstatt Register zu sehen, nein, es wird eine Anmeldung zu sehen. In Ordnung. Es ist etwas schief gelaufen mit dem Protokollierungsversuch. Ähm, dies wird behandelt Protokollierung statt Handle Registrierung auf. Dann ist die nächste Änderung, die ich vornehmen werde, dass ich das Feld „Passwort bestätigen“ nicht brauche. Dann wird die Schaltfläche nicht sagen,
einreichen, was eine Anmeldung über Register sehen wird. Es sollte wirklich sehen registrieren. Also ich, genau das, was ich nicht kann, dass ich wieder ändern. Ich diese Veränderung, wenn du willst. Sicher. In Ordnung, also dann auf der Hand zu bewegen Logging offensichtlich nicht existiert. Jemand, der sich über die Aufgabe zu ändern, melden Sie sich an. Mein Modell ist diesmal kein Registrierungsmodell, aber es ist Logging-Modell. Also werde ich nur das Modellreferenz-to-Logging-Modell ändern, das gleich einer neuen Instanz aus dem Protokollierungsmodell ist. Dann sollten alle wenigen Sessions nicht zurück, irgendwelche Probleme mit den Villagers und Passwort-Mapping zurück Andi beim Schreiben dieser Punktzahl , Ich erkannte, dass ich dieses Feld wirklich nicht brauchen und ich werde Ihnen zeigen, warum ich nicht brauche in diesem Feld. Also werden wir die Antwort verwenden, die in irgendeiner Weise ein Tyrann ist, um festzustellen, ob wir
zeigen sollten , dass die Ära nicht verfolgt werden. Also habe ich die Liebe und Modell Griff Griff. Loggen von Viren-Teichen ist gleich dem Ofri schlecht angedockten Login. Jetzt gehen wir über ein Modell. Also denken Sie daran, die Anmeldung ist nicht zu sagen, und lassen Sie mich einfach zurück zum Dienst gehen schnell, damit wir unsere Erinnerungen
auffrischen können , wenn wir anrufen. Die Protokollierungsfunktion wird die Daten abrufen, sie in der Anforderungsbewertung
senden. Wenn es richtig oder falsch war, dann werden wir all diese wunderbaren Dinge tun, um die Person danach einzuloggen, richtig? Also, weil ich wieder unsere Barren hier kann ich sagen, wenn Antwort dann liebe Manager. Das ist genug Manager, was bedeutet, dass, wenn ihre Reaktion so stürmt, wenn ich wahr werde, sie auf die gleiche Weise zum Haus navigieren. Im Register hatte ich wieder gegangen Boxer und setzen Schrägstrich Login rechts Also statt, weg nach Hause navigieren, Ich sagte. Jetzt können wir die Protokollierung nach Ihrem Register schrägen, was für mich logischer ist. Also, was ich hier sagen will, ist, dass, wenn die Antwort positiv ist, dann gehen Sie weiter auf Schulden. Navigiert nach Hause. Zu dieser Zeit würde
Sehnsucht jemals den Zustand auf alles ändern, was der Benutzer auf. Dann kann ich es sehen. Nun, dann brauche ich das eigentlich nicht. Also, wenn Antwort dann nie davonkommen, richtig? Aber dann, was ich ändern kann, scheint, dass ich sehen kann, wenn nicht Antwort. Lassen Sie mich sie einfach holen. Ich dachte schon. Stellen Sie sicher, dass ich nicht fehltrage oder so. Wenn nicht Antwort, Dann zeigen Sie dies an, was bedeutet, dass Antworten nach dem Fall für diese angezeigt werden. Aber es ist nirgendwo deklariert, also werde ich Privatpersonen erklären. Boolean aufgerufen Antwort auf es wird das sein, was die wahre anfänglich richtig dann. Also, wenn es wahr ist und die Seite geladen wird, dann wird das trousseau auf Siehe diese Fehlermeldung nicht auswerten? Wer sind dann? Ich sage, dass die Antwort, die anfänglich den Wert true hat, zu den Ergebnissen der Protokollierung geht. Also, wenn long und true zurückgibt, bedeutet
das, dass sich das nicht geändert hat. Und das gilt immer noch, wenn es hier ankommt und wir nie davonkommen. Wenn das Login-Feld dies nicht falsch ist, so dass dies bei diesem Zustand nicht passiert, wird sich ändern, richtig? Das ist also alles. Dynamic Blazer macht dieses Ding. Sobald sich der Status ändert, sobald sich der Wert an einer beliebigen Stelle ändert, die eine if-Anweisung oder etwas basierend auf dem Wert
hat, wird er automatisch reagieren. Alles klar, so dass gerade Inhalte ins Feuer geraten, weniger Zeilen vor Gericht auf. Ich kann einfach wieder rüber gehen, um sich zu registrieren und es auf die gleiche Weise neu zu faktorieren. In Ordnung, also bin ich hergekommen und habe die gleichen Änderungen vorgenommen. Ich habe Bulle Resonanz erklärt. Und denken Sie daran, wenn Sie das Gefühl haben, öffentlich oder privat auf das Objekt zu setzen, das Sie deklarieren, wird es automatisch privat, richtig? Also waren wir da weg, die Antwort aus dem Registrierungsversuch. Und wenn es erfolgreich ist, dass wir nie in Ondo einloggen, sonst wird es angezeigt oder Fehlermeldung. Sag,
sieh, dass ich es getan habe. Ich wiederholte diesen Brief auf Sie sehen, ganz wir können es machen Ah, etwas dynamischer. Also muss ich das nicht ständig wiederholen. Das ist also für unseren Protokollierungsversuch. Lassen Sie uns einige andere störende Änderungen vornehmen, während wir hier sind. Gehen wir rüber zu Punkt Razor. So bist du dran, wie der Rasierer aussehen sollte. Also wollen wir Rotor haben. Und wir hätten diesen Abschnitt geändert, um Autor zu sagen, da Road View on die lay-alte Ansicht in kaskadierende
Authentifizierungszustände eingewickelt hätte . Diese sind also dafür verantwortlich, dass es Autorisierungen für die verschiedenen
Rasierkomponenten erzwingen kann, die Sie erstellt haben. Also, nachdem Sie mit diesen Änderungen fertig sind, können
wir zu unserer Speisekarte gehen. Und wenn Sie sich erinnern, wir hatten einige Links eingerichtet, ähm, Protokollierung und Registrierung. Es ist unter beiden Draht, dorthin zu gehen, wo sie hingehen sollen. Aber die Realität ist, dass niemand wirklich sehen will Logging und registrieren. Andere Male, die du
liebst, willst du wahrscheinlich eine 16 sehen. Zu sehen, dass Sie geliebt werden, auf einem Logo-Knopf. Und wenn Sie nicht sind, dann wollen Sie die Anmeldung sehen und registrieren. Also werden wir unser Menü ändern, um die verschiedenen Elemente basierend auf der Person anzuzeigen, die den Status
der Anzeige ausgeschaltet ist . Alles klar, was ich anfangen werde, werde ich
damit beginnen, diese beiden zu entfernen, während ich schneide, nicht lösche, werde sie schneiden, weil ich sie wieder verwenden werde, dann an der Spitze glaubwürdige Form. Ich werde einen neuen Vortrag erstellen, und ich nenne ihn autorisiert. Autorisierte Ansicht. In Ordnung, also autorisierte Ansicht öffnen und schließen, dann. Innen aus. Autor, wie Sie ich sehen kann autorisiert. In Ordnung. So beobachtete eine autorisierte Person in diesem Abschnitt zu sehen, was nicht autorisierte Person in diesem Abschnitt sehen
sollte. Also bin ich nicht autorisiert. Person wäre diejenige, die über Protokollierung zu sehen und Links zu registrieren, oder? Aber
jemand, der autorisiert ist und ich einfach kopieren und von den gleichen Verbündeten verwendet, ist, wenn Sie erkennen, dass ich tatsächlich den gleichen Verbündeten mit einer Klasse beibehalte und es ist also das gleiche Design. Aber was mache ich in diesem amüsanten, warum Person? Andi,
ich zeige den Identitätsnamen an. Also denken Sie daran, dass, als wir den Anspruch analysierten und ich sagte, ich müsste eine spezielle Reinigung
für den Namen hinzufügen , der den Nahtwert als Betreff hätte, nämlich die E-Mail, das ist, was das ist, Richtig? Also sagen, Kontext sind Benutzer, dass Identität, dieser Name. Wir erhalten diesen Namen aus der Liste aus Reinigungen, die wir dem Benutzer hinzugefügt haben. In Ordnung, das ist
also, was das ist. Also, wenn jemand autorisiert ist, werden
sie sehen, dass sowie weitere sechs auf dieser einen für Logo-Versuch sein werden. Es ist eine andere L. Ich kopiere nur N P also denke ich, ich ändere mich hier ist, dass der treff Lagos ist. Dieser hat keine Reise, weil er nirgendwo hinkommen wird. Aber dieser wird auf das Liebesboot gehen. Wir haben unsere gesponnen. Ich habe gerade auf unserem Kreis links Indikator zurück Pfeil für Sehnsucht Haute verwendet. Das ist also unsere nächste Komponente für die Navigation auf dem Zehenlogo. Dann brauche ich eine Komponente, die Lagos unter den Benutzern genannt wird. Gehen Sie einfach voran und klicken Sie. Fügen Sie neue Artikel auf wir erstellen eine neuere ist eine Komponente namens Liebe Boote. Alles klar, auf dann,
liebe, was wirklich sehr einfaches Gericht haben wird? In der Tat, lassen Sie mich einfach nur Nun, lassen Sie mich die Industrie entfernen. Es gibt nichts, was angezeigt werden muss, würde es durch die Seite Route ersetzen, die Schrägstrich Liebe Stimmen ist. Na gut, dann. Ich werde zwei Dinge injizieren lassen, ohne meine Use-Aussage für meine Verträge. Ich wurde das Authentifizierungs-Repository im Navigationsmanager verletzt. Alles klar, und dann werden wir auf Überschreibung für ah,
Funktion, die ausgelöst wird, wenn eine Seite geladen wird. Also sehen wir geschützt bei einer synchronen Aufgabe auf einer initialisierten Senke direkt auf Dann sagen Sie der Seite, was sie tun soll, sobald sie initialisiert ist. Ich wollte sagen, sobald Sie initialisiert sind, dann möchte ich La Ziege in meinem Repository anrufen. Dann möchte ich unseren Weg auch auf dem Home-Bildschirm navigieren. Lagos, denken Sie daran, wird den Authentifizierungsstatus ändern, um niemanden zu Hause auf. Dann navigieren wir einfach nach Hause auf dann den Rest von den Autorisierungsansichten und alles wird an Ort und Stelle
treten, weil sich der Authentifizierungsstatus geändert hat. Aber ich war ziemlich viel und es war ein bisschen arbeitslos. Also lasst uns einfach voran gehen und einen Build machen, nur um sicherzustellen, dass nichts kaputt ist. Nachdem Sie zu erfolgreichen Builds gekommen sind. Werden die beiden Projekte erfolgreich aufgebaut? Lass uns gehen und sehen, was los ist. Also werde ich in meinem Authentifizierungsrip-Depository gehen. Ich werde einen Bruchpunkt hier am Ende setzen, bekommen die Antwort dann setzt, dass die erste Aussage waren die Antworten von kommen zurück und sie gingen in das
Boot festgemacht und stellen Sie sicher, dass Sie mehrere Projekte haben. Ich mache das ganze. Aus welchem Grund auch immer, ich habe es genommen. Außerdem ging
ich voran und setzte es wieder. Es tut mir leid, dass ich von vorne anfangen muss, aber ich werde dich einfach wieder durch die Stufen führen. Nur für den Fall, dass Sie in meinen Schuhen sind die Eigenschaften von der Lösung auf dann unter
Projektstart , Sie wählen mehrere auf Sie sehen, beginnen Sie auf, beginnen Sie unsere es ist ein P und Sie in dieser Reihenfolge klicken Sie auf OK auf, dann versuchen wir es noch einmal. Und so haben wir wunderbare Anwendungen. So sehen Sie, dass wir das Log in Schlepptau über das Haus bewegen, sind gut gerade. Lassen Sie uns versuchen, sich anzumelden. Also lassen Sie uns zuerst als Kunden anmelden, die Buchhandlung dot com, die versucht, die Anmeldung. Dann werden wir Arberg-Punkte schießen. Und wenn wir das tun, können
wir unsere Antwort bewerten. Wenn ich also den Mauszeiger über die Antwort führe, um zu sehen, dass ich einen Status in Ordnung bekomme, wenn ich in
den Inhalt gehe ,
gut , lassen Sie uns etwas Platz geben. Also lass mich runter zu der Linie gehen, wo es hingeht. Toe versucht, bekommt den Inhalt. Alles klar, wenn
ich Inhalte hineinschaue, dann sehe ich Token auf diesem Vortrag und String, richtig? Also, wie ich schon sagte, weil das Feld spricht und die Zeichenfolge ist, dass es d in
Token-Antwort serialisiert wurde , die ein Feld für das Token hat. Wenn ich also zur nächsten Zeile komme, ist
unsere Token-Variable niemand, der die Zeichenfolge hat. In Ordnung, also da reden wir reden, sind redende Objekte. Unser Wissen, wie ist diese Zeichenfolge namens Token. Gleich an dann speichern wir es im lokalen Speicher. Also werde ich einfach gehen und bis zur letzten Zeile hier gesprungen. Wurden wahr auf zurückgegeben. Ich werde Ihnen nur innerhalb des Browsers im lokalen Speicher zeigen. Also, wenn ich mit der rechten Maustaste klicke, gehen Sie zu inspizieren Element oder Entwicklertools, so dass Sie zerstreuen können, wenn ich, wenn Sie f 12 haben. Sorry, aber wenn Sie gehen, um Anwendung auf, dann in der Anwendung gehen Sie zum lokalen Speicher und dann die Website, die Sie sehen, dass Sie diese uns sprechen. Ordnung, das ist
also eine andere, die ich von anderen Experimenten hatte. Ich werde einfach löschen, dass besitzen nicht notwendig. Aber wir haben aus Token. So sehen Sie hier versucht, sich wieder mit Serverless zu verbinden, weil wir hier halten oder Fortschritt suchen alle für Handarbeit. Also lassen Sie mich einfach drücken, wenn ich weitermachen muss, dann denke ich, dass Stollen mehr als einmal protokollieren. Also, wenn es tatsächlich reingeht, weißt
du, was Nein ist. Der Authentifizierungsstatus hat sich geändert, da der Anzeigename schreibt. Denken Sie daran, wo das Thema als Name Anspruch auf das ist, was hier am
Tag angezeigt wird hinzugefügt . Wir haben die Logo-Schaltflächen, also nein, wir sind zuversichtlich, dass unsere langen Funktionalitäten funktionieren, die erfolgreich analysiert werden die Ansprüche aus dem Token auf Erhalten Sie die Informationen in der Art und Weise, wie wir es brauchen. Alles klar, wenn ich
also voran gehe und auf „Sperre los“ klicke, lass uns sehen, was passiert. Aber niemand ist zu Hause. Alles ist leer und wir sind wieder da. Aktivieren Sie den Authentifizierten Status. In Ordnung? Nein, ich möchte mehr aus Leuten herauskommen, als ich ein Experiment der Speisekarte durchführen werde, damit wir gemeinsam daran teilen können. Also im Knave-Menü werde
ich einen weiteren Abschnitt für den Autor hinzufügen, der nur für Experimente verwendet wird. E. Also möchte ich ein Loch anzeigen. Sie können etwas auf einer Rolle zeigen und nicht auf eine andere Regel. Richtig? Also werde ich eine andere Autorisierungsansicht erstellen. Aber dieses Mal wird es einen Parameter haben, sind ein Attribut namens Regeln gleich Administrator. Also dann, in diesem, habe ich nur etwas namens Zugegebenermaßen geweint. Dann möchte ich noch einen so machen. Und dann wird dieser die Regel für den Kunden haben. Dann werde ich früh Brauch sagen. Das heißt, wenn sich jemand, der ein Administrator ist, anmeldet und er den
Admin-Link sehen sollte , wenn ein Kunde ihn liebt, sollte
er sehen, wie er auf angepasst wird. Wenn du nicht liebst, solltest
du gesehen werden. Du solltest keines sehen. In Ordnung, also gehen wir weiter und gehen zurück auf die Tastatur. Versuchen wir es noch einmal. Also loggen Sie sich ein. Onda ging, um sich als Delia, die ein Kunde ist, und es in meinen Breakpoints einloggen. Ich werde einfach den Bruchpunkt entfernen und es auf Dwell weitermachen lassen. Wir sehen nicht, was wir erwartet haben, und ich vermute, es liegt daran, dass der Bereich keine Kundenregel an ihr gebunden ist. Aber ich werde nur voran gehen und die Token-Strings erhalten, um Elemente zu inspizieren, waren die Anwendung. Also werde ich nur dieses selbst entlarven, statt zu
versuchen, Leute Anwendung dieses Werfen Sie einen Blick auf den Schlüssel auf Art Deco Auditing noch Pad auf. Wenn wir schauen, sehen
wir das t das Token. So bekommen wir das Thema so erfolgreich. Aber dann merkt man, dass es keine Regel gibt, richtig? Also, wenn Sie sich die vorherige ansehen, die Sie jetzt sehen, haben wir die Rolle des Regel-Administrators dann hier hat sie nicht die Regel, weil ich denke, dass wir sie vielleicht erstellt haben, bevor wir den Regelabschnitt
einrichten . Also gibt es keine echte Verbindung zu ihr. Es gibt keinen Anspruch. Also wurde nichts über die Situation der Genehmigungen gefeuert, richtig? Also lassen Sie uns versuchen, einen anderen Benutzer, der wahrscheinlich einen Kunden angehängt hat, oder,
nun,
lassen Sie mich einfach versuchen, und fügen Sie meine,
zuerst,
also lassen Sie mich versuchen, den Admin anmelden,
und wir sehen, dass die Anzeige Mitte erscheint ,
nun, lassen Sie mich einfach versuchen, und fügen Sie meine ,
zuerst, also lassen Sie mich versuchen, den Admin anmelden, . Also wissen wir wenigstens, dass es funktioniert, egal wie weit, richtig, also taucht die Anzeigeneinmischung auf. Wenn Sie zugeben, dass Sie eine Abkürzung für Sie sind, dann können Sie vielleicht zurückverfolgen, um sicherzustellen, dass Sie den Administratorbenutzer eingerichtet hatten, wenn sich der Administrator nicht angemeldet hat. auch daran, Denken Sieauch daran,dass, wenn Sie den Admin verwenden, dass wir abtreten mussten ,
ähm das wäre ich, oder wir hätten den Benutzernamen festgelegt. Es sucht also tatsächlich im Infield, wenn Sie sich anmelden. Basierend auf dem Gericht der Straßen im AP I-Controller des Benutzers. Es meldet sich mit dem Benutzernamen und dem Passwort an, richtig? Also ich glaube, als wir die Seed-Benutzer
haben, sagten wir admin ist die Verwendung und menschliche und zugeben Buchhandlung dot com ist die E-Mail-Adresse, richtig? Stellen Sie sicher, dass das sein Wagen ist. Sie können immer in die Datenbank gehen. Andi setzt den Benutzernamen, um die E-Mail-Adresse zu sein, so setzen Sie es sowohl für die normalisierte Verwendung ihn auf den Benutzernamen und in Dragon, und Sie sollten in Ordnung sein. Andernfalls können
Sie wahrscheinlich einfach weitermachen und versuchen, einen neuen Administratorbenutzer auf zu erstellen. Dann versuchen Sie es noch einmal. In Ordnung, aber zumindest sehen wir, dass die Protokollierungsfunktion funktioniert? Wir sehen, wo die Regeln Autorisierung funktioniert, wie erwartet. Lassen Sie mich versuchen, einen anderen Benutzer, haben während einer Buchhandlung dot com. Wer ist Kunde? Da gehst du. Also, wenn wir versuchen, jemanden neu zu registrieren, lassen Sie mich versuchen, jemanden zu registrieren. Würden Sie Paris im Buch Steh up Comma me sehen, haben Karotten in die Irre geraten. Berühre das Buch-Startup. Com. Verwenden Sie dasselbe Kennwort. Andi. Nun, ein Satz scheint in der Taste, und es ändert sich Was? Nicht ganz, was ich mir gewünscht habe. Aber das ist der Zeitpunkt. Wenn wir also auf Registrieren klicken, wird
es die A P sein, die ich anrufe und uns dann auf den Anmeldebildschirm umleiten, richtig? Also, wenn ich sage, dass ich in einem Statut Buchhandlung einlogge, nicht kommen und dann einloggen, dann sehen wir Touch eingeloggt. Sie ist eine Kundin, also sieht sie ihre Kundin gehen. Ordnung, also sehen wir, dass wir gerade in der Registrierung auf Login-Zeug auf Ja getestet haben, da, sicherlich auf Dinge, die wir aufräumen müssen, auf dem Weg zu normalisieren. Aber der große Abschlag der Arbeit ist erledigt. Also eine Sache, die ich bereinigen möchte, ist der Register-Button, also sollte dies alles in Ordnung sein. Ich glaube nicht, dass es noch irgendetwas anderes großes Problem gibt. Das einzige andere Problem, wie ich bereits sagte, würde nur sicherstellen, dass sie den Namen in Ihrer Datenbank verwenden, tatsächlich die
E-Mail-Adresse ist . Okay, denn denken Sie daran, wir fragen die Person zusammen mit E-Mail und Passwort, und wir überprüfen dies standardmäßig. Überprüft das Gefühl des Benutzernamens im E-Mail-Adressfeld. Also, wenn die E-Mail-Adresse nicht in den Benutzernamen und Normalisierung Verwendung Indian fühlt, dann werden sie nicht funktionieren. Alles klar, das steuert die Benutzerverteilung. Andi, mit anfänglichen Absetzen vor, glaubt Anwendung Ursache wir alle von den Dateien einrichten, Wir richten das Login unter Registrierung. Und wenn wir zurückkommen, überprüfen
wir einfach alle diese Dinge auf Überprüfen Sie unsere Änderungen im Schlepptau. Unser Projekt auf Get up.
42. Änderungen in GitHub: Leute, Willkommen zurück. Dies ist über eine kleine Rezension und Hühner-Video, und wir werden nur durch einige der Änderungen gehen, die wir gemacht haben und in keiner bestimmten Reihenfolge. Also beginne ich gerade mit dem Benutzermodell. Denken Sie daran, dass wir das Gefühl, obwohl das Logging-Modell mit der E-Mail-Adresse und Passwort Sicherung, die wir brauchen. Wir gingen auch voran und haben das Token-Antwortmodell erstellt, mit dem wir die Daten
aus der Token-Antwort analysiert haben. Nach Logan haben wir die Log in Love Boot-Seiten hinzugefügt und einige Änderungen vorgenommen, um die Seite zu registrieren. Wir haben einen neuen Anbieter in der Form von Ikea Authentication State Provider auf diesem
Authentication State Provider hinzugefügt , einschließlich der lokalen Speicherbibliotheken sowie der Token 100-Bibliothek. Was für eine Last uns Zeh, Paris oder Token? Wissen Sie, ähm, machen Sie eine Bewertung, speichern Sie den Token auf manipuliert, reden Sie so, wie wir wollen. Wir haben auch Log-In-Logo Notizen und benutzerdefinierte Funktionen in dieser Datei hinzugefügt. In unserem Authentifizierungsdienst hat
Repository die Anmelde- und Logo-Funktionen in der Anmeldung hinzugefügt, die wir d serialisierten Token speichern den Wert mit lokalem Speicher. Also müssen wir auch das auf die Authentifizierungen, die sie in unser
Authentifizierungs-Repository bereitstellen, injizieren Andi-Logo, um es einfach aufzurufen und das gespeicherte Token in unserem Menü zu entfernen. Wir haben einige Anpassungen vorgenommen, wo wir erkennen, damit wir bestimmte Teile genehmigen können, damit wir etwas
genehmigen können , das von bestimmten Regeln gesehen werden kann, in denen Kunden sich befinden. Oder wir können es einfach auf der Grundlage des Authentifizierungsstatus zu der Zeit tun. Richtig, wir haben dafür gesorgt, den neuen Endpunkt für die Anmeldung hier für den Rasierer hinzuzufügen. Wir haben alle Standardwerte im Schlepptau geändert, die Straßenansicht
autorisieren und Authentifizierungsstatus kaskadieren, die die Layoutansicht abschließen. Einige der wichtigsten Änderungen jedoch in unserem Start
passiert, dass CS,
wo wir sicherstellen können, dass wir eine Darstellung von unserem Zustandsanbieter machen, so dass wir es in injizieren können ,
auch diese benutzerdefinierte Klasse mit der Zustandsanbieter innerhalb des Abhängigkeitsinjektions-Containers auf. Dann haben wir auch den Sicherheitshandler ins Innere injiziert, so dass wir nicht überall Objekte
von diesen beiden deklarieren müssen. Wir haben nur, wissen
Sie, nur verletzte Abhängigkeit und dann verwenden das entsprechend. Mit all diesen Änderungen gehen
wir einfach voran und überprüfen die Lösungen, die wir mit der rechten Maustaste klicken, gehen Sie zu Commit, setzen Sie unsere Nachricht auf Das ist meine Nachricht ein. Also, nachdem wir in das gesetzt haben, gehen
Sie einfach weiter auf Klicken Sie auf die IRA und verpflichten Sie alle und sinken auf. Sobald das erledigt ist, können
wir zu unserem nächsten Abschnitt übergehen, wo wir beginnen, einige Crowd-Operationen zu starten.
43. Einrichtung von Autor:in Repositorien: Ihr Jungs in dieser Lektion wird unser Autoren-Repository für unseren Blazer einrichten. Sie ich Anwendung auf Dime nur Oh, ich habe nur die Basis-Repository-Datei geöffnet, so dass wir uns aktualisieren können, was wir hier
einrichten . So haben die Basis Trip Glanz
, der erbt. Ah. Http. Clans auf so ziemlich es geht durch die Erstellung Löschung Update auf. Nun, nur die Menge operiert. Richtig? Also alle Crowd-Operationen, die Basisfunktionen sind hier alle Zeile. Die Idee ist also, dass
wir für jede Klasse und in diesem Fall Autor von diesem basierten Repository erben werden, wo t die Klasse oder die Entität ist. Also müssen wir auf Autor,
Entität oder Modell erstellen . Da sie das Keyword-Modell über unter verwenden oder Sie ich Seite auf, dann werden wir den Bericht rühren. Lassen Sie mich damit beginnen, die Autorenmodelle zu erstellen. Ich gehe einfach zu meiner Mutter Modelle folgen beide Klasse hinzufügen. Ich nenne es Autor, und dann gehe ich voran und Hit ad, und so ziemlich dieses Autorenmodell wird Zeh zu verkörpern, was immer es ist, dass wir beabsichtigen durch die A p passieren Ich erinnere mich, dass wir wissen, die Antwort, die wir bekommen, wenn wir schauen auf den Autor, ähm oder zumindest die Dokumentation, um uns zu zeigen, was uns das Gefühl hat, dass wir
repräsentieren müssen , um die vollständigen Daten unserer Jason-Antwort vom FBI zu erhalten. Im Wesentlichen mussten
wir wirklich aussehen und in das Projekt gehen. Ich bringe gerade die Autorenklasse auf. Oder vielleicht, um weniger Daten im Zusammenhang zu sein, die DT oh, Klasse. Richtig. Also
müsste zumindest das Autor-Detail, wenn Sie möchten, dass alle Daten zurückkommen, wenn Sie möchten, dass alle Daten zurückkommen,wie die Autor-Details aussehen, da das wirklich ist, was der Get-Autor zurückkehrt, so
ziemlich das es alle Felder hat, die alle anderen Einzelheiten, auch in seinem spezifischen Betrieb. Also, was ich hier tun werde, ist eigentlich einfach alles von der GTO an zu kopieren, und ich lebe nur so. Zweckmäßigkeit. Offensichtlich, wenn Sie sich auf ein Paar entwickeln, das Sie nicht gebaut haben, dann müssten Sie dasselbe tun, wo Sie eine Klasse erstellen, dann fühlt sich das Modell basierend
auf dem an, was in der Jason-Antwort in einem Jason erwartet wird Anfrage. Also habe ich nur dieses Modell, wie der Autor aussehen wird. gleich drauf Danngleich drauf. Nun, das hat eine Liste über Bücher. Ich, äh, lege das als Buch, weil wir ein Buchmodell haben werden, und dann kann ich das erschaffen. Generieren Sie das einfach in einer neuen Datei. Wir kommen später zu dem. Ich tue das nur, damit wir alle Felder abgedeckt haben. Aber was ich hier auch tun werde, ist einige Validierungen hinzuzufügen, denn dann, wenn wir
das Modell verwenden , besonders in der Ansicht, denn denken Sie daran, dass diese Luftbildmodelle, die
wir tun, müssen wir einige -Validierung. Ordnung, also ging ich weiter und fügte einige Validierung unserer Idee hinzu, und dann habe ich das Erforderliche über alles bis zur Bio gestellt. Setzen Sie auch die Anzeigenamen Vorname, Nachname auf die Bio ein. Setzen Sie auch eine String-Längenvalidierung auf den Käufer. Richtig. All diese Dinge erinnern sich daran, dass eine vier Authentifizierungsaktivitäten eine
Rolle spielen würden , lud sie in der Form ein, bevor wir tatsächlich die Daten über das FBI schicken. Also wissen Sie, dass ich meine Modellklasse habe, die ich verwenden werde, um die Daten von und
zur Anwendung zu taxi . Und zwischen der Anwendung und dem FBI kann
ich nicht weitermachen und mein Autoren-Repository in Gehör aus dem Basisrepository erstellen. Richtig? Also werde ich nur zu meinen Verträgen für die erste gehen und ich werde eine neue Klasse
hinzufügen stören Weg wissen, dass gesandt stört. Aminu stört sich auf. Ich werde es nennen, ich Autor Repository. Und dann fügen wir hinzu, dass dann, wenn es stört, ich muss immer daran denken, öffentlich zu machen. Sonst wird es dir eine Ära geben. Richtig? Also erstellen wir ein öffentliches Repository auf dann diesem öffentlichen Repository tut es leid. Diese wahrscheinlich Schnittstelle namens I author repository wird von unserem I basierten
Projektarchiv erben . Wir werden es im Kontext des Autors erben lassen. Also gehen wir einfach weiter und stellen sicher, dass wir Repräsentation von dieser Modellklasse namens
Autor haben ? Nein, nein, dass wir den Vertrag haben. Wir müssen den Rip Lester aufstellen. Also gehe
ich im Service-Ordner fort und klicke auf. Fügen Sie hinzu, und dann werde ich eine Klasse namens Autor-Repository hinzufügen Dieses Mal Andan-Autor posit Ori wird wieder aus dem Basisrepository im Kontext aus dem Autor erben. Beachten Sie also die Schnittstellen, die von den Interferen erben. Aber dann die konkreten Klassen, die vom konkreten basierten Repository innerhalb des
Autorenkontextes sowie dessen Vertrag erben . Also werde ich einfach weitermachen und das einschließen. Alles klar, dann, nach den Geräten. Nun, ich muss eigentlich nichts implementieren, weil alles bereits
innerhalb von der Basis implementiert ist . Absurd. Nur wenn ich
eine andere Operation hatte, , die ich im Autoren-Repository durchführen wollte. Dann würde ich die benutzerdefinierten Funktionen hier haben und sie hier implementieren. Aber da es sich auf die Basisfunktionen bezieht, muss
ich nichts mehr innerhalb des Repositorys implementieren, weil sie sich alle
im basierten Repository befinden, richtig? Wissen Sie, was das sagt, ist, dass ich CTT-Clients initialisieren muss oder ich den
Client wie gewohnt injizieren muss. Http Client Factory auf den Sporn Clients. Und dann füge ich hinzu, was fehlt, dann brauche ich meinen Konstruktor, und dieses Konstrukt wird ein bisschen anders aussehen, weil jetzt sagt es, dass, wenn ich Schlepptau
injiziere, das Autoren-Repository, das ich auch initialisieren muss, übergeben werden der injizierte Wert in die Basis. Richtig, das ist alles, was tut. Also, sobald wir Autor Repository aufrufen, wird
es Abhängigkeit, den http-Client in das Autoren-Repository sowie das
Basisrepository über das Autoren-Repository injizieren , wir können jede Operation durchführen, aber wir habe es relativ zum Klassenautor gemacht, so dass ich danach nicht den gleichen Berichtsrührer für
Bücher verwenden kann. Also muss ich das Buchmodell anders als das Motto des Autors erstellen. Andi muss ein anderes Repository für Buch haben. Auch. Nun, nachdem wir das alles erledigt haben, ist
der letzte Schritt, um sicherzustellen, dass ich es beim Start habe. Ähm, Bootstrap pro Seite wird Dienste konfigurieren und sicherstellen, dass ich eine Darstellung
von hohem Autoren-Repository auf der konkreten Klasse hinzufüge , und sie werden voran gehen und alles einschließen, was sein muss. Ich denke, wegen der Augenauthentifizierung müssen
wir nichts wieder aufnehmen. Und dann war's das. Wenn wir zurück sind, beginnen
wir mit der Einrichtung der Autorenseiten und der Einstellung des Abrufs von den Daten durch das FBI
44. Aufstellung von List: Hey, Leute, willkommen hier. Hören Sie, wir werden unsere Autoren-Index-Seite ablegen, also werde ich einfach schnell auf unter Seiten beginnen. So wie wir begannen, unsere Seiten in Abschleppordnern zu segmentieren, auf denen
ein neuer Ordner auf den Seiten erstellt wird . Und ich werde einen neuen Ordner hinzufügen, und ich werde ihn „Gut“ nennen, Sir, oder Autoren. In Ordnung. Auf dann, auf der Autorin werde ich eine neue Komponente hinzufügen, ist ah, Rasierkomponente namens Index. In Ordnung, also versuche ich nur, etwas Struktur zu behalten. Wir haben Index hier, Das ist
die Homepage, wie Sie wissen, Aber dann, wenn Sie auf den Autor Abschnitt bekommen, Ich möchte tohave eine Landing Page und die erste Seite, Natürlich, Sie würden sehen oder sehen möchten, wenn Sie auf andere klicken würden die Autoren in der Datenbank sein. Ziemlich mehr Trick. Deshalb habe ich das getan? Nein, oben. Ich werde sicherstellen, dass ich den PH-Pfad direkt auf angibt. Dann. Der Unterschied ist jetzt, dass ich sagen kann, dass es ein Teil ist nur Schrägstrich auf das, was Sie es sagen . Es sind Autoren, dann Schrägstrich. In Ordnung. Also durch diese Logik, um hierher zu kommen, müssten
Sie Autoren Schrägstrich eingeben Also das bedeutet zurück in mein Knave-Menü. Ich werde nur diese Änderung treffen, bevor ich vergesse, wo die letzten beiden Autoren
nur Autoren sind . Ich werde sehen Autoren Schrägstrich Sweet weiß, dass es Autoren auf gehen sollte, dann die Standardseite dort, die ist oder Index Tempo. Denken Sie daran, dass der Name der Datei nicht viel Einfluss auf den Pfad hat, es ist was auch immer wir als Seitenpfad
setzen, der wirklich wichtig ist. Nein, ich brauche ein paar Dinge auf dieser Seite, die ich injizieren muss, vielleicht den Navigationsmanager. Ich werde auch mein Repo injizieren müssen, um
dann den Bericht zu verwenden. Das sind alle drei Leute, die wir gerade erstellt haben, um zu verwenden, dass ich imp die Namensräume
unterstützt und so weiter. Also sehen wir, wenn wir die Authentifizierung machen, dass für alles, was ich in
die using-Anweisungen einfügen musste , die ich nicht möchte, nachdem ich jedes Mal, wenn ich eine Seite
mache, verwendet habe, verwendet habe, weil ich Modelle verwenden werde, und ich bin werden mit Verträgen viel. Also wissen Sie auf dann, wenn sich etwas ändert, würde
ich zu mir die Veränderung überall haben. Deshalb haben wir unsere Importe. Ich lasse mich sehen, ob ich es schnell finde. Unsere Importe Punktmesser oder unterstreichen Importe, die resultieren, wenn wir die Dinge hier einbeziehen. Es ist im Allgemeinen enthalten, also kann ich und ich gehe einfach zurück zur Anmeldeseite. Ich kann diese alten alles in Ordnung nehmen, und ich werde nur kämpfen und ich ging, um auf die ganze Ära zu warten. Stoppen Sie hier, genau da in der Ära Schule, weil die Verwendung Aussage nicht fehlt. Aber ich werde sie in die Importe bringen, die Rasiermesser. Dann, wenn ich zurück zu dieser Seite, sehen
Sie, dass die roten Linien nicht verschwinden, weil, na ja, es ist nicht sehen, die Referenz. Indem ich also die Referenzen in Importen setze und global auf
das gesamte nach oben mache, habe ich bereits importiert, was ich brauche, damit ich anfangen kann, mit zu arbeiten, obwohl es viel Angst ist. Wie gesagt, ich brauche eine Instanz von meinem
Autor, Autoren-Repositories . Ich rufe nur den einen Unterstrichbericht an, und dann kann ich mit dem Spaß anfangen. Okay, also mal sehen, was wir dort zu tun haben. Also möchte ich einen Tisch drucken, der, weißt
du, für jeden Autor, den ich zurückbekomme, die Regeln ausdrucken werde. Also, wenn Sie jemals NBC in der Vergangenheit verwendet haben oder irgendetwas Punkt gemeint ist, müssen
wir die Tabelle generieren. Dann sollte das aus dem Territorium kommen, denn wenn nicht ,
dann werden
wir sowieso zusammen machen, also werde ich mit einem Tisch anfangen. Andi, mit Bootstrap. Ich kann den stabilen Look ein bisschen vorzeigbarer treffen, als es standardmäßig wäre. So kann ich meinen Tisch Tisch Bindestrich einschließen, reaktionsschnell auf. Ich werde nur einen Tisch sehen. Nun, ja, lass uns einfach mit denen auf den Tisch gehen, bis wir darauf reagieren. Dann kann ich einen t Kopf Abschnitt direkt an haben. Dann in diesem Abschnitt werde
ich einen TR haben. Dann wird der TR einige TDs beherbergen. Huh? Also die TD's werden die Header oder die Überschriften für Nun haben, eigentlich wäre
es Th mein Hintern, also th, weil ihre Tabelle hitters. In Ordnung, also ein Tabellenschlag für verschiedene Spalten. Eine Spalte wäre also der Vorname. Der andere wäre dann der Nachname. Nun, ich bin mir nicht sicher, ob ich hier die gesamte Bio anzeigen möchte. Also, jetzt werde
ich nur drei von ihnen benutzen und ich werde diese eine Aktion nennen, richtig? Die Optionen werden nur einige Schaltflächen für uns hosten. Also, das ist in der Kopfabschnitt vom Tisch jetzt im Körper oder um mit dem Körper zu beginnen und ging zu sagen, t Körper auf, dann in T Körper. Ich werde eine Schleife haben, um die Sammlung von Autoren zu durchlaufen. Richtig. Also haben wir nichts erklärt. Das ist eine Sammlung von Autoren. Also werde ich etwas tun. Sie werden einige Fehler sehen, aber wir arbeiten sie über, also werden wir eine Vierer-Schleife haben, die unseren Autor retten wird. Einige wollten für jeden fernen Autor sagen, und ich werde es Modelle nennen. Also rufe ich meine jede Klasse auf, die den Datenkontext für ah Komponente darstellt,
für unsere Ansicht sind . Ich nenne es nur Modell. Es scheint nur klar, es. Richtig. Also für jeden Autor, der das Modell zurückkehrt, ist
das, was ich tun möchte, eine Regel zu generieren. Also für jeden Datensatz stellt
dies einen Datensatz dar, der aus der Liste von Datensätzen zurückgeht, die abgerufen hätten wir
wollen, dass unsere Rolle auf der Metro geht, um ah Spalte zu haben. Dann haben wir gleich drei. Also wird es nur sein, ich schickte Autor,
was bedeutet, ich möchte den Wert vom Autor drucken, und ich bin sicher, es wird Vorname sagen. Also Intelligenz hilft mir nicht, denn was das betrifft, weiß
sie nicht, was Autor ist, weil Büro von einem unbekannten namens Modell geht. Also, das ist in Ordnung. Ich lasse das einfach allein für Nome für bald angefangen Nachnamen gedacht auf, dann für den Ochsen kranken Sohn. Ich werde drei Knöpfe einlegen. In Ordnung, also die Knöpfe, die in den Actionbereich gehen, wären Barton auf, dann werde ich Klasse b t n. Also bekommen wir diesen schönen Woll-Shop Knopf am Strand in Bindestrich primär. Also ist man für den Blick, in Ordnung? Und ich habe einfach wie ein Hype als separate. Nun, sie werden schön genug aussehen. Ich brauche keine Pfeife, also lasse ich einfach die Gesamtsumme ohne drei Knöpfe, die etwas Ästhetik andeuten, richtig? Nein. Also,weißt
du, weißt
du, es sieht innen aus dem Knopf vorzeigbar aus. Dies wird also eine Ansichtsschaltfläche sein. Dies wird wie ein Editier-Button sein. Also würde ich wahrscheinlich sagen, Bt und Warnung. Also ist es orange. Dies wird ein Löschknopf sein, also würde es gelesen werden, Sie wissen schon, Gefahr. Entschuldigung. BT und Gefahr nicht löschen. gleich drauf Danngleich drauf. Von innen aus dem Knopf. Wissen Sie, Sie haben die Möglichkeit, auf das Wort Bearbeitungen zu schreiben. Schreiben über die Weltanschauung. Ich werde hier ein paar Symbole verwenden. Jemand zu sagen, gesponnen und dann Klasse auf dann hätte einige der Symbole gesehen,
die im nominierten oder so verwendet werden , um ein Symbol zu bekommen, waren nach. Ich denke, die Bibliothek nennt sich offene Symbole. Sie können immer auf ihre Website gehen und sich ansehen
, , was ich Optionen nenne. Es gibt, aber ich werde sagen, warum Dash Buch. Ordnung, also denke ich, das würde schön genug aussehen, als ein Hinweis darauf, dass das die Ansicht ist, richtig? Also noch einmal, wenn Sie das ganze Wort schreiben, dann erhalten Sie einen Knopf mit dem Symbol auf dem Wort, wenn Sie das wünschen. Also zur Warnung auf für so weiter. Entschuldigung für die Bearbeitung. Ich werde einen Bleistift setzen, um jemandem vorzuschlagen, dass das alles ist, was ihr Idioten seid. Dann denke ich, dass sie einen namens löschen haben, was mir geben würde, wie ein wenig extra vorschlagen, Nun, das ist zu entfernen. Alles klar, das ist nur etwas Ästhetik. Webvan hat es noch vorher gesehen. Also wissen Sie, ich kann die Luft schätzen, wahrscheinlich darauf bedacht zu sehen, wie das alles aussehen wird. Aber lassen Sie uns in ein paar Gerichtssachen und in Sartres Straßen, unser Pfeil hier. Also vor Gericht, das erste, was ich immer empfehlen würde, ist zu erklären, was immer es ist, was Sie gesagt haben,
das Modell wird erklärt werden, Also werden wir auf einer Liste von Autoren schreiben auf erklären. Ich werde es Modell nennen und dann schauen, wie die rote Linie einfach verschwindet, und dann fällt alles an seinen Platz. dann Intelligenz verwenden würde, dann Wenn ichdann Intelligenz verwenden würde, dannwürdest du in der Lage sein, alles für das Modell zu sehen, weil nein, es macht Sinn, richtig? Deshalb hatten wir die rote Linie. Davon abgesehen, müssen
Sie es nicht in dieser Reihenfolge tun. Sie müssen keine Strahlung von. Dann deklarieren Sie das Modell. Sie könnten dies zuerst tun, dann rechts zusätzlich. Und es wäre wahrscheinlich schneller für dich gewesen, wenn wir es so gemacht hätten. Aber ich habe nur versucht, etwas zu sagen. Also spielt die Ordnung in dieser Situation wirklich keine Rolle. Es ist nur, was auch immer Sie leichter zu tun finden. In Ordnung. Das nächste, was wir tun wollen, ist, der Komponente zu sagen, dass, wenn es Lords, es sollte die Daten herausholen oder zumindest diese Daten fühlen, denn im Moment ist das, was Sie Nein
nennen, es ist nichts
drin. Es ist nur da. Aber es ist nichts drin, was ich Ihnen sagen kann, würde zu einem Fehler führen, wenn die Rede Gesetze. Denn dann würde er Ihnen sagen, dass es eine andere Ausnahme gibt, weil es hier
nichts , um die Tabelle zu generieren. Alles klar, was ich hier tun möchte, ist zu sagen, überschreiben Sie das Standardformular, das angezeigt wird, wenn die Seite geladen wird, die äh aufgerufen wird, während wir zu seiner geschützten Funktion gehen. Erstens. Also werde ich zuerst alle Qualifikatoren für die Funktion abschreiben und es ist eine Aufgabe, eine Senke auf initialisiert. Dann schließen wir die Klammern oder Prentice öffnen die Klammern auf dann innen aus dieser Funktion
wollen wir sehen, Modell ist gleich auf. Dann können wir das Ergebnis aus unserem Bericht mildern. Denken Sie daran, Wiederholungen sind Objekt, das Autor Repository darstellt, oder? Also wieder ziehen angedockt. Ich will Sekunden bekommen, die sie bekommen und dann muss ich ein Mitglied bekommen, das wir definiert
haben, um eines zu bekommen , das alle zurückgibt und dann eines, das einen bestimmten Autor zurückgibt, richtig? Also Institution will alles bekommen und alles, was es als Endpunkt benötigt, ist unser als Parameter ist der Endpunkt oder das Mädchen richtig? Also haben wir alle vier Euro innerhalb von für statische Klasse in Punkten genannt gespeichert, so dass ich nur in Punkten
sehen kann , aber dann bemerkte das Nein Oh gut, es ist bereits enthalten. Warum ist es im Lieferumfang enthalten oder warum ist es verfügbar? Das liegt daran, dass es bereits importiert wurde, also wenn es nicht eingeschaltet ist, hast
du es nicht getan. Sie können voran gehen und es in die statische importieren, weil das etwas ist Nun, wir werden überall benutzen, oder? Also, Endpunkte, die Autoren in Punkten. Alles klar, auf dso Was ist passiert? Ist das eine die Seiten laden Es wird diesen Anruf erfüllen auf. Dann wird das Modell gefüllt. Nein. Das Problem ist, dass, weil jede synchrone Qualität, es ist nicht der Strand wird sich nicht hinsetzen und warten, bis diese geladen wurde. Das bedeutet, wenn die Seite Lords auf, wenn die Seite lädt Modell leer ist, werden
wir, dass keine Ära zu bekommen. Also, was ich hier tun werde und Sie es in einigen der Beispiele gesehen hätten, denke
ich, im Abruf braucht eine Seite. Was sie taten, war, dass sie eine if-Aussage mit dem Inhalt hatten. Also sagten sie etwas wie, Wenn ich sagen würde, Wenn das in meiner Situation Modell, das alle Daten enthält, wenn das nein ist, dann tun Sie etwas anderes meine Tabelle anzeigen. In Ordnung, also sage ich, wenn dieses Speech Lords Modell immer noch keine Daten hat, dann zeigen Sie etwas anderes. Weißt du, auf das, was ich schnell zeigen werde, ist nur diese Alarmbereitschaft. Ich werde es alarmiert nennen. Unzulässige Farbe dunkel oder lassen Sie mich bei Ehlert verwenden. Sekundär auf, dann werde ich nur sagen, lording Daten. Also, wenn die Seite Lords auf, wissen Sie, dass die U-Augen offen sichtbar sind. Aber das ist immer noch, es wartet immer noch auf eine Antwort vom FBI. Weil Sie nicht wissen, wie lange dieser FBI-Anruf dauern wird, bitte unsere Nasen zu sagen:
Nun, Nun, Sie können hier etwas anzeigen, damit der Benutzer weiß, dass es passiert, und wenn es passiert, dann kommen wir über den Tisch. In Ordnung? In Ordnung. Also, nein, ich will dir das zum Testlauf sagen. Ich möchte nur zurückgehen und sicherstellen, dass ich die richtigen Teile für habe und das Autoren auf. Ich werde nur voran gehen, schlagen, rennen und dann das. Sehen Sie? In Ordnung. Also, wenn unsere Bewerbung Lords, werde
ich mich einfach schnell als jemand anmelden, der in der Vergangenheit erstellt hätte. In Ordnung? Ich bin in geliebt. Dann werde ich über die Autoren Andi gehen. Ich habe hier einen Breakpoint auf dem get for basiertes Repository gesetzt. In Ordnung, also lasst uns einfach durchgehen. Ich werde nur gerade springen, wenn wir die Anfrage abgeschickt haben. Und das glaube ich nicht, dass das an sterben von Strom funktionieren wird, als ich erklären werde warum. Also haben wir einen 401 Akkord in unserer Antwort bekommen. Also für einen bedeutet auf autorisierten. Also, wenn Sie sich erinnern, wenn wir über eine P I Kontrolle von vier Autoren einrichten würde den gesamten
Controller autorisiert haben . Und auch wenn wir uns einloggen, schickt uns das FBI, die nicht autorisiert waren, und
wenn ich einfach hier drücke, die Symptome fortfahren, die wir nur sehen werden, um Daten zu laden. Also meine ich, richtig? Nein, ich komme zurück. Nein, nur Nein,
ähm, wir können es wahrscheinlich schaffen, dass wir etwas intuitiveres zurückgeben. Dann treffen Sie eine Entscheidung basierend auf dem, was wir zurückkehren. Richtig? Also, was ich hier tun werde, ist, dass ich aufhören werde, zu debuggen. Was passiert, ist, dass, wenn wir die Kunden erschaffen haben,
denken Sie daran, dass wir jedes Mal tatsächlich eine neue Anlage erstellen, also, ja, wir haben hier einen Kunden geschaffen. Aber jedes Mal, wenn wir im Begriff sind, eine Anfrage zu machen, erstellen wir einen Client auf. Was passiert dann, wenn sein Client erstellt wurde, sendet
er die Anfrage. Aber wir müssen in dieser Anfrage
den Autorisierungs-Header aufnehmen . Also, ja, wir haben es vielleicht in der Vergangenheit getan. Ich glaube, wir haben es in der P I vom staatlichen Anbieter war da? Nein. Wir haben es im Authentifizierungs-Repository getan, Onda. Wir haben einen Kunden auf die gleiche Weise geschaffen. Was also passiert ist, als wir den Wert hier zugewiesen haben, war, dass wir diesen Standard-Hitter
auch zugewiesen haben . Diese spezielle Instanz aus dem Client. Eigentlich hätten
wir ohne dieses Land auskommen können. Wirklich? Weil es es als Bearer-Token im Hitter für diesen Client nicht global eingeschlossen hat. Was ich also tun muss, um meine Basis-Repository-Datei zu ändern, ist, dass ich eine
Funktion erstellen kann , die nur sagt, Bera zum Reden
bringt, richtig? Also, wenn ich eine private traurige private Aufgabe eines privaten erstellt, um String zurückzugeben Alles in Ordnung, Private Jagdaufgabe, um eine Zeichenfolge zurückzugeben. Und ich werde nur nennen, es bekommt Bier zu Dose. Alles klar, stellen
Sie sicher, dass meine Schreibweise korrekt ist. auf. Dann wird das, was dies tun wird, einfach zurückgeben oder den Bier-Token im lokalen Speicher speichern lassen. Also, das geht wieder langweilig die Schule, wo ich komme, wo ist? Ich habe 1/4, wo ich den Träger Token bekomme. Oh, nein, es ist nicht in diesem. Es wäre im Authentifizierungsstatusanbieter, wo ich das Element abgerufene Token bekomme. Also werde ich mir das direkt ausleihen. Dann, was ich tun werde, ist, diese Funktion einfach zurückgeben zu lassen, dass Also eine Rückkehr auf, dann sehe ich lokalen Speicher bei der Rückkehr. All das,
was nicht bedeutet, nachdem die lokale Lagerung in Schlepptau injiziert. Mein basiertes Repository. Also beeile ich mich einfach und tue das, beginnend mit der Deklaration von der neuen Eigenschaft und einschließlich der Bibliotheken, die aufgenommen
werden müssen . Und dann habe ich das einfach von unserer Kontrolle genommen. Ruhiger Konstruktor. Tut mir leid, Andi, brechen
Sie einfach Kunden. Ich gehe nicht zu weit vom Bildschirm an. Dann machen wir einfach die Initialisierung eines Sean hier. Nein, da ich Loca-Speicher in das Basis-Repository aufgenommen habe. Ich muss auch sicherstellen, dass mein Authentifizierungs-Repository Nein, nicht Authentifizierung sicher. Mein Autoren-Repository, das von der Basis erbt, hat
auch eine Repräsentation. Also muss ich auch den lokalen Speicher hier drüben injizieren. Also kopiere ich diese Zeilen einfach und füge sie ein, damit ich mich etwas schneller bewegen kann. Ordnung, auf dann, ich in der Basis nur c Komma. Schreibvorgänge im lokalen Speicher Ich übergebe das nur in die Bestie. Das ist also nur eine kleine Operation, die wir machen mussten, aber letztendlich der Zweck der Operation, damit wir in die lokale Lagerung schauen können, wenn wir dabei sind, Ah zu machen, ich bitte um zu bekommen, was auch immer da ist, damit wir es in die -Client. Also erstelle ich hier am Tag ein Client-Objekt. Ich gehe einfach zurück zu meinem Authentifizierungs-Repository innerhalb der Funktion zur
Protokollierung, wo ich den Client sage, dass der Standard. Ich werde mir das nur leihen, also kopiere ich das Gericht, weil ich das vierteljährlich habe, aber es ist nur an einem anderen Ort, richtig? Also, gleich nachdem ich den Kunden erstellt
habe, werde ich diese Linie beschleunigen. Aber dann werde ich sagen, der Wert, der hier übergeben wird, ist der Wert, von unserer Funktion zurückgegeben wird. Hol Bier reden. Na gut, dann
weiter. Ich gehe einfach voran und schließe ein. Also, jede Anfrage, die wir brauchen, den Träger, der einige spricht, schwimmt buchstäblich eine Kopie an die Tür. Entschuldigung. Das sollte ein Gewicht sein. Okay, einige sind nur im Schlepptau. Kopieren Sie diese Zeile nach jedem Ort, wo wir ein Client-Objekt erstellen. Ich werde nur das Tempo dort, weil wir den Träger sprechen müssen, wenn wir anrufen, oder ein p I Alles klar. Also habe ich es gerade hinzugefügt,
um zu erstellen aktualisieren , zu
aktualisieren, um, und alle Funktionen im Basis-Repository ohne Sport zu bekommen, obwohl das Bier im Header enthalten ist. Also lasst uns das noch einmal versuchen. In Ordnung? Also lasst uns das noch mal versuchen. Ich bin bereits als Tür eingeloggt und reserviert. Komm schon, hol mich. Stellen Sie einfach sicher, dass Sie Inspect-Elemente nehmen. Gehen Sie zur Anwendung Onda und stellen Sie sicher, dass das Token ist, dass sie dann in Ordnung sind. Wenn ich auf Autoren klicke, sehen
Sie das Laden von Daten auf. Dann trifft es meine Breakpoints auf. Ich habe diesmal einen Bruchpunkt im Controller selbst gesetzt, richtig? auf get author. Wenn Sie also kein Wunder hatten, dann sind Sie wahrscheinlich schon die Autoren gesehen. Was? Ich hatte einen dort. Denn was passiert, ist, dass,
wenn es so ist, wenn eine nicht autorisierte Anfrage eintritt , dieser Controller
niemals heizen würde , was vorher passiert ist, richtig für diese Aktion. Entschuldigung. Also, weil das dort autorisiert und es mit dem Token autorisiert wurde, Nein, wir schlagen das auf, dann kann ich einfach voran gehen und auf Weiter klicken, was in meinen Ursprung auf Breakpoint bringt, der mir zeigt, dass ich wieder auf . Okay, Antwort auf. Dann. Ich fahre weiter auf DNO. Ich sehe, wie meine Autoren von meinem AP I zurückkommen. So funktioniert das Inhaber-Token praktisch. Also hatten wir ziemlich viel Arbeit, sind im Besitz es beide sitzen auf beiden, die den Kundenzehe absetzen. Benutze es. Also nein, Sie haben ein echtes Lebensbeispiel, wie es funktioniert. Und Sie können sehen, dass wir Vorname, Nachname auf Aktionen sind. Und dann haben wir unsere kleinen Knöpfe mit den Symbolen. Also kommt alles gut zusammen? Nein, wie ich schon sagte, es war nicht sehr intuitiv, dass es gerade zurückkam. Nein und wir haben nichts damit gemacht, nachdem wir gerade zurückgekehrt sind. Nein, denn dann würde es für immer auf ihren niedrigen Daten sitzen. Richtig? Was wir also tun könnten, ist wahrscheinlich ein anderes Feld, das einen anderen
Rückgabetyp oder komplexere Umdrehung sein wird oder sein kann . Rückgabezeit für diesen Rückgabetyp hätte wahrscheinlich etwas wie, ähm, was ist die erzielte Antwort sowie vielleicht die Handlung, ein paar für die tatsächlichen Daten, um wieder zu kommen. Dann können wir beurteilen, ob die erzielte Antwort in Ordnung
ist . Gut. Wenn es nicht in Ordnung ist, dann zeigen wir eine Nachricht entsprechend. Ich will das nicht tun. Nein, wir können das als eine kleine Aktivität belassen. Moment wissen
wir, dass wir die Liste abladen können. Autoren, die Direktor vom FBI kommen, sehen
wir, dass unsere Authentifizierung sowohl lokal in der U.
I.
Onda über das FBI funktioniert I. , weil wir aus guten Gründen ausgeworfen wurden. Und nein, wir werden akzeptiert, sobald Sie unser Gericht nach Allem Recht beheben, so dass schließt über sitzen, aus oder in Erfahrung für die Autoren. Wenn wir zurück sind, fangen
wir an, dass diese funktionieren beginnt mit unserer Ansicht
45. Einrichten: Hey, Leute, willkommen hier. Hören Sie, wir werden unsere View-Komponente für unsere Autoren einrichten. , Die Realität ist,dass wir nicht alle Details hier auf der Angebotsseite anzeigen. Es gibt andere Dinge, einschließlich vielleicht die Bio über das, was ist der Kommunist? Ein Profilbild. Also im Moment sind wir in ihrem Vornamen Nachnamen und wollen, dass, wenn wir auf die Schaltfläche klicken , das deutet darauf hin, dass wir es klicken, um den besonderen Datensatz anzuzeigen, dass es weg zu
einer anderen Komponente navigiert , zeigt uns, dass relevante Informationen. Also haben wir zwei Möglichkeiten und, na ja, ich werde sagen, ihre Zehenoptionen. Was? Ich werde einen benutzen, und ich werde mich auf einen konzentrieren, denn was? Das hier ist sehr einfach. Also zuerst müssen
wir unsere Tasten ändern. Also habe ich zunächst Tasten verwendet, aber was ich hätte verwenden sollen, wo Knöchel-Tags verwendet werden, um diese Methode aus der
Navigation zu erleichtern . Richtig? Also Knöchel-Tags sind die am häufigsten verwendeten Navigare Sohn, ähm, Tags in HTML, natürlich. Und dort, in der Nähe von der Stadt auf einer Reise auf dem Satz eine Adresse. Also die Adresse, die wir hier verwenden werden, wäre die Adresse Toe Schrägstrich Autoren weil wir eine Komponente in unseren Autoren erstellen werden, Waldo Ich werde es Ansicht aufrufen, dann muss ich einen Parameter übergeben, den Sie wissen , dass es muss diesen speziellen Datensatz darauf anzeigen. Dieser besondere Umfang wäre wie der I.
Richtige. Also zeige ich das i.
D.
hier nicht D. , weil ich glaube nicht, dass ich dir das Büro zeigen muss, das ich hinter den Kulissen gekauft habe. Du brauchst es. Also muss ich bei Zeichen Autor dot i d sagen und das wird das schaffen, um zu wissen, dass es zur Ansicht gehen
sollte oder welche Komponente diese Adresse hat. In Ordnung, also konzentrieren wir uns jetzt auf die Ansicht. Um dorthin zu gelangen, muss
ich in meinen Autorenordner
gehen, eine neue Komponente hinzufügen, und ich werde es Ansicht aufrufen. In Ordnung? Manche nennen es Details. Egal, was auch immer für Sie arbeitet, dann werde ich sicherstellen, dass es die Adresse hat. Schrägstrich der Schrägschrägungsansicht aktiviert. Dann mache ich Vorkehrungen für die Tatsache, dass auf I d Werte übergeben werden. In Ordnung? Also, wenn dies im Index-Link, wenn es Mops direkt nach einer Komponente sucht, die hat, na ja, dies als seine Seite Onda einen Abschnitt für einen bestimmten Wert. In Ordnung, dann drüben auf der Ansicht sagte, wir müssen sicherstellen, dass wir dafür Vorkehrungen getroffen haben. Nein, weil wir einen Parameter haben. Ich muss den pH-Wert wissen lassen, dass ich einen Parameter habe. Alles klar auf diesen Parameter wird eine Öffentlichkeit auf sein, weil wir buchstäblich über einen
Stöcke werden . Wir wissen, dass es eine Nummer ist, aber es wird ihre Stöcke sehen. Wir müssen eine Schnur sagen. Dann kommen wir auf den Tisch, okay? Oder vielleicht können wir einfach gesund werden, gehen
wir
einfach, fangen Sie an. Also jetzt, wenn Sie diese ganze Zahl machen, wissen
wir, dass sie hier begraben werden sollte, aber ich glaube, Sie würden in eine Compiler-Ära laufen. Ich denke nicht, dass Sie Dollar kompilieren, wenn Integer oder irgendetwas verwendet wird, das nicht indikativ ist von einem String-Wert, der so richtig kommt? Nein, nur für eine kurze Vorschau. Ich werde nur sehen, dass ich einen Abdruck gewinnt. Der Wert der Idee, wenn er richtig geklickt wird. Also, Autor, genau richtig. Autor. Ich d auf, dann werde ich Ihnen nur den Wert zeigen, der durch den Parameter kommt. Also lasst uns das einfach für einen Spin sagen. Lass mich nur sicherstellen, dass ich alles hier habe. In Ordnung, lassen Sie mich einfach klicken. Fangen Sie an In Ordnung. Also ist es uns geliebt, am Tag hier zu sein. Ich gehe voran und klicke auf Autoren. Dann werde ich versuchen und Ansichten. Also, wenn ich einfach über sie schwebe, werden
Sie tatsächlich in den Links in der unteren linken Ecke sehen. Wenn es sichtbar genug ist, entwertet ich
die verschiedenen, die am Ende des Links erscheinen, oder? Und dann, wenn ich auf einen klicke, geht
es vorbei und es zeigt dir. Die I. D drei, die ich gesucht habe, um drei möglich zu sein. Oder wenn ich zurückgehe, schaue
ich auf eine andere, die ich fünf und fünf. In Ordnung, also wissen wir, dass wir den Parameter erfolgreich übergeben. Also jetzt wollen wir tatsächlich zu dem lustigen Teil kommen, der
die Daten abruft, wenn sie auf der Seite angezeigt werden, weil das Sehen der Idee keinen Unterschied macht, was wir tun wollen. Wir sehen
alles über den Autor. Also werde ich hier einige Dienste injizieren müssen. Einer ist mein Autor, wir posten, ich gehe einfach rüber und bekomme die Leitung von meinem Autor Repo und injiziert dort auf. Ich werde wahrscheinlich auch meinen Navigationsmanager wollen. Und ich werde tatsächlich die Objekte nennen genug Manager dieses Mal statt nichts dagegen. Ich finde es einfach einfacher zu sagen, auf seiner, Sie wissen schon, mehr indikativ, was es, was das Objekt darstellt, oder? Also innen von der Schnur, ich werde auch eine weitere perverse Eigenschaft haben und diese hier kann privat sein, wird
vom Typ Autor sein , richtig? Und das wird mein Modell sein, auf dem ich es mit einem neuen Autorenobjekt initialisieren werde. Alles klar, was ich hier sagen werde,
ist
, , dass bei der Initialisierung von dieser Geschwindigkeit, also will ich oh, beim Laden von dieser Seite. Oder besser gesagt, wenn der pH-Wert geladen ist. Und wir wissen, dass dies unsere Funktion dafür ist, dass eine Senke initialisiert wird. Ich will den Autor mit dieser Idee abrufen. Also werde ich sagen, Autor ist gleich oder sorry Modell, das ich Objektmodell genannt habe. Also mein Modell für meine Seite ist gleich auf die Ergebnisse aus meinem Bericht zu warten, die von Autor Leute, die auf bekommen Dann denken Sie daran, wir müssen so dieses Mal, dass ich in den Endpunkt passieren müssen. Andi auf Integer i d Also habe ich meine in Punkte-Dateipunkt-Autoren und Punkt-Komma Aber dann brauche ich das i d Was eine ganze Zahl sein muss Also das bedeutet, dass ich int i d sagen muss und ich werde
nur Kleinbuchstaben Idee verwenden, weil dies Großbuchstaben Idee ist, Richtig? Also in Tidies gleich darauf, kann
ich einfach in diesen Parse von der I d Volley Kommunion aus dem Parameter drehen. Richtig? Also, jetzt bekehre ich es einfach um. Angenommen, Sie haben verschiedene Möglichkeiten, Induktionsteile zu konvertieren. Sie haben auch nicht in 32. Also, wissen
Sie, diese könnte ein bisschen häufiger in diesem Teil ist auf nur String beschränkt. Also meine ich diese Situation, entweder kann man arbeiten, aber ich möchte, dass ich devalue als Parameter übergeben wird. Alles klar auf, dann wird es Modell füllen. In Ordnung, also sehen wir uns das Gleiche hier oben vor, wo? Wenn das Modell leer ist, es möglicherweise nicht geladen, oder es werden Probleme auftreten. Also, was ich sehen werde, ist IFOR bei Scient. Wenn das Modell in allen äquivalent
ist, möchte ich eine nette Nachricht oder etwas anderes anzeigen. Dann wollen wir die aktuelle Seite mit den Daten anzeigen. In Ordnung, also solange es leer ist, benutze ich einfach diese Diff diese Warnung wiederverwende und ich sage, dass ich Autor-Details lade. Sie sehen also, dass ich hier das Gericht wiederhole und ein Prinzip der Programmierung. Wiederholen Sie sich nicht. Ich benutze die. Dave ist viel mit dem genauen Stil dran, eine Menge. Also schauen wir uns an, wie wir das in eine Komponente stecken und einfach eine Komponente kardieren können. Andi hat sogar die Nachricht übergeben, die wir jetzt im Inneren angezeigt haben wollen, dass
ich die Autorendetails anzeigen möchte, also werde ich einfach eine Tabelle wieder verwenden. Ich werde
ihm die Bootstrap-Klassen geben , und dann ist diese stabile gehen, um ein etwas anderes Format zu haben. Also, lassen Sie mich, ich werde nur auf einige Ästhetik hier achten, also werde ich diesen Stall in einem Div anbringen. Ich will, dass dieser Live-Zeh einen Klassenruf hat. So macht nd vielleicht vier, so dass es sich nicht über die gesamte Leinwand erstreckt. Es nimmt nur vier Leerzeichen oder vier Spalten von einer potenziellen 12 und dann innen ab, dass ich diesen Tisch direkt an
möchte. Dann wird dieser Tisch unsere Rolle Jemandes R t r haben und dann in diesem T werde ich zwei TDs
haben. Denken Sie daran
, Tees sind Säulen, also wird dieser Vorname auf sein. Dann werde ich bei Sion Model Docks einfügen und dann den Vornamen setzen. Alles klar, Onda, generell entmutigen Sie
immer,
ähm,
Sie wissen schon,
Text direkt im Fernsehschlepper zu platzieren ähm, Sie wissen schon, . Also, wissen
Sie, Sie wollen es wahrscheinlich wie in einem P-Schlepper oder so, aber nein, das ist in Ordnung. Wir wollen nur die Daten anzeigen lassen. So sind wir Vorname, dass wir Nachnamen haben. Einige wollen diese wirklich nur kopieren und einfügen und die Details entsprechend ändern. Und dann haben wir Nachnamen. Wir haben auch später haben wir. Wir werden uns wahrscheinlich verdoppeln. Und nach E-Mail-Adresse und anderen Details, wo ich weiß, haben wir sehr wenige Details der Biographie, so dass wir ein kleines Boot Biographie sehen können. Dann wäre das diese Bio. In Ordnung. Und dann sehen wir, dass wir Bücher haben, also würden wir wahrscheinlich eine Liste aus den Büchern in den Nachrichten anzeigen wollen. Also, nachdem sie die Details der Autoren gesehen haben, Ordnung. Also kann ich wahrscheinlich auf ein wenig schlagen hier setzen, um die Details Autor Details zu sehen. Dann werde ich einen weiteren Abschnitt unter diesen Tisch stellen, wo ich nur eine Zelle sehen werde, brechen Sie es
einfach ein wenig, damit es nicht auf einem Riesen aussieht. Und dann sage ich, unsere Bücher Autorenbücher direkt an. Dann, für die Bücher können wir für jede oder was? Ich brauche einen anderen Tisch,
jemanden, der die Bücher in einen anderen Tisch legen kann, oder weißt du was? Ich werde ein wenig kreativer, als nur einen anderen Tisch zu benutzen. Stattdessen, einem
Tisch, was ich tun werde, ist ah,
Karte auf der Listengruppe zu verwenden . ich mir eine Bootstrap-Dokumentation
anschaue, sehe
ich, dass sie eine spezielle Karte haben,
auf der Sie
einen kleinen Header haben können Wennichmir eine Bootstrap-Dokumentation
anschaue, sehe
ich,dass sie eine spezielle Karte haben,
auf der Sie
einen kleinen Header haben können. Dann haben Sie die Listengruppe, und dann wird es so aussehen. Das ist es, was ich will. Also werde ich nur diese Schnur kopieren, nachdem wir die Bücher des Autors gesehen haben, ich werde es einfach richtig einfügen. Ich weiß, dass wir es nur zusammen refraktieren. Anstatt das gleiche zu haben, werde
ich die Bücher des Autors sagen. Also nehme ich dieses Alter für Tug. Schneiden Sie es, legen Sie es in den sechs Sohn für die Überschrift für den Kartenhitter, richtig? Fix einfach meine Einrückung ein bisschen an, dann für die Listengruppe. Ich werde nur sagen, am Zeichen für jeden auf, der vier auf sein wird. Das ist ein Buch. Dann wird die Sammlung hier Modell angedockt werden. Dann haben wir Bücher. Also, wissen
Sie,
damit wissen
Sie, das funktioniert, werden
wir auf jeden Fall unser Buchmodell ausfischen müssen. Also, ähm, tragen
Sie einfach mit mir. Also für jedes Buch in der Liste, aus Büchern, die zurückkommen werden. Richtig? So sehen Sie, dass wir die geringsten Bücher haben, und wenn Sie nicht so sicher sind, worauf ich mich beziehe Remember, wenn
wir das Modell einrichten , haben wir alle Eigenschaften sowie eine Liste aus Büchern aufgenommen. Also in der Jason, Easy erkennt, dass Sie d serialisieren Zehe ah, Buch rechts. Jedes Buch wird die Bucheigenschaften übernehmen, und das alles ist Telefonanalysten Telefonbücher. Also müssen Sie sicherstellen, dass wir Repräsentation für die Eigenschaften von jedem Buch innerhalb des
Buchmodells haben. Also machen wir das genug oder beenden dieses Design. Also für jedes Buch, das abgerufen werden soll, was wir tun wollen, ist L. I. mit dem Klassenlistengruppenelement auf. Dann wird der Inhalt bei Zeichen sein Book on kann bei San Book Dot sein und, naja, es ist ein leeres Objekt, also gibt es noch nichts zu binden. Also lassen Sie mich einfach das ganze Fett führen, die Formatierung etwas aufbauen, dann richten wir unsere Aufmerksamkeit auf die Bücher. Ich mache alles nur einmal Soda nach dem Doppelten wieder. Nochmal damit umgehen, richtig? Was wir also wissen werden, ist zu unserem Buchmodell zu gehen. Also haben Sie das Buchmodell, und es ist leer, das nicht richtig funktionieren kann. Schnell zu beheben. Wir gehen einfach zurück auf das A P, an dem ich mich erinnere, dass wir wirklich nur Kartografieren oder lassen Sie mich das Detail betrachten oder wir tun wirklich nur die Eigenschaften abwischen, die vom FBI zurückkommen
würden. Richtig? Jeder FBI-Aufruf nach einem Buch wird all diese Datenpunkte abrufen. Gleich drauf. Ich werde nur all das nehmen, also werde ich nur all das kopieren,
kommen, um im Kontext von unserer U Y
Anwendung zu buchen . Richtig? Wir kriegen den Typ. Die Idee, das Jahr, die Sie wissen, all diese Details können der Preis sein, oder? Ähm, Autor ich habe dann haben wir nicht alle Details, aber wir haben Autor. Also für jedes Buch, das rekrutieren wird, wollen
wir, wenn überhaupt möglich, die Autorendetails zurückbekommen . Weißt du, wenn wir sind, wenn sie unsere Buchhandlung umsetzen, Fred ,
aber nein, das wird jedes Buch betrachten. Also arbeiten wir an dem Buch,
ey, ey, ich setze die Validierung ein und so weiter. Also überlasse ich das für nein, aber zurück auf unsere Liste hier. Wenn ich weiß, sagen Buch, das ist erinnern, dass Objekt. Also ist es ein Buch docks auf Nein, ich kann einige Details bekommen Also ein Detail, das ich wahrscheinlich wollen, ist der Titel Onda Vielleicht der
Titel auf der Let's Sehen Sie den Preis Also bei san Buch den Titel auf Down the Price Und dann, wenn Sie wollen, können Sie wahrscheinlich hinzufügen Ein auf Onkel eng hier, um Bino zu sehen. Unsere Ansicht später sind wir eingerichtet, dass Sie wollen Schauen Sie sich einen Autor auf die Bücher, die sie haben , Sie wissen geschrieben, die in diesem Abschnitt angezeigt werden würde sehen Sie den Titel, Sie sehen den Preis und dann können Sie klicken, um mehr später zu sehen Wir werden das reparieren. Also ich weiß, dass wir nur die Ansicht für den Autor Open zum Laufen bringen wollen,
richtig, also haben wir all diese Dinge, die wieder auf sich gebracht haben. Wir füllen alle Bücher aus. Eine weitere Sache, die ich denke, würde wahrscheinlich wollen, ist ein Knopf, der,
du weißt schon,
zurückgehen würde du weißt schon, Hope rechts sind ein Hunk-Angriff. Also, ich meine, Sie haben zwei Möglichkeiten. Wie ich schon sagte, eso, wenn wir den Knopf eine Art von auf einer Reise benutzen. Also müssen wir ein Creek Event einrichten, auf das uns ein navigieren würde. Also werde ich einen Knopf benutzen, nur damit du sehen kannst, wie das funktionieren würde. Also werde ich einen Knopf sehen, um, gehen Sie zurück, aber um rechts aufzulisten,
dann wäre das, was Sie ein kniffliges Ereignis nennen. Also müssen Sie das Schild auf sauber sehen. Dann das Zeichen auf klicken, geben
Sie an, welche Funktion beim Klicken aufgerufen werden soll. Also würde ich sagen, unterstützte eine Liste. In Ordnung, das ist der Name von der Funktion. Also I Red Line wird erscheinen, weil es keine solche Funktion gibt. Also, warum ist das Red Line erscheint? Ich werde nur voran gehen und die Funktion erstellen, jemand zu sagen, Privat, ich werde es einfach auf Call it back to least on. Dann werde ich dafür sorgen, dass Sie den Navigationsmanager verwenden sollten Andi navigiert zu. Und dann würde der Link, den ich hier setzen werde, nicht aufgeschlitzt werden. Aber du wirst geschlitzt werden. Autoren Schrägstrich Also das ist die Indexseite für unsere Autoren. Sexuelle Rechte. So wenig. Kleben Sie diese für einen Spin und sehen Sie, wie es funktioniert. Also bin ich hier und schaue mir die Liste der Autoren an. Ich gehe voran und klicke auf Ansicht, dann. In Ordnung, also gehe ich hier von Booten auf sie, die Model-Dot-Bücher sind leer. Also, das ist einer dieser Bereiche, die ich dir gesagt habe. Deshalb lassen sie uns in diese Aussagen sagen sagen, wenn es leer ist,
dann wissen Sie, dass es nicht zu ihr führen wird, also ist das in Ordnung. Wir können das mit einer if-Anweisung beheben. Also lasst uns mehr aus den Menschen raus. Und dann werde ich an der Wissenschaft sehen, ob auf dieser Schätzung nur bewerten wird, ob das Modell, das Bücher in Ordnung, also das bedeutet, dass der Autor
, den ich zu sehen versucht habe, keine Bücher
hat. Also, wenn Bücher modelliert richtig ist äquivalent zu wissen, dass es keine Bücher zurückgegeben. Dann, was ich tun werde, ist, diesen Abschnitt anzuzeigen. Sagen
wir mal, wir mal, ich benutze das Gericht gegen. Wenn ich jemals den Stil ändern wollte, dann hätte ich gehabt, dass ich mindestens vier Plätze durch Nein ändern müsste. Richtig. Also keine Bücher, um Bücher anzuzeigen. Nun, für diesen Autor dafür dort, sehen
wir sonst. Wir wollen all diesen schicken Akkord, den wir gerade geschrieben haben. Also muss ich keine Bücher des Autors zeigen und keine Listengruppe, um zu sagen, Oh, sind Bücher. Ich werde nur sagen, dass es keine Bücher für diesen Autor oder die Schulter gibt, also versuchen wir es noch einmal. Alles klar, wir sind wieder da, wo wir angefangen haben. Versuchen wir es nochmal. Also bin ich mir nicht sicher, welcher Autor irgendwelche Bücher hat, aber wir ziehen nur mit dem gleichen Autor mit einem A K R also sehen wir nicht Dieser Autor hat keine Bücher. Wir haben einen Blitz auf Blitz aus und off natürlich gesehen. Wir müssen Stil oder Tastenbretter. Ich glaube, der Grund, warum wir wenigstens nicht abstürzen. Das ist also gut. Also glaube ich, dass der Grund, warum süß wir es aufleuchten sahen, ist, dass, während das Modell nicht war, Bücher nein war. Aber dann glaube ich, dass, sobald das Modell geladen ist, die Sammlung von Büchern ist es nicht mehr Wissen hat Konto von Nullen. Es hat etwas anderes als die Grafschaft Null. Also, was ich tun werde, ist, dass ich sehen werde, ob es nicht oder wanderte nach oben. Bücher, die nicht wollen, sind weniger als eine richtige Bedeutung? Du hast keine Bücher, die du hast. Null sind weniger Bücher,
dann, wenn die Arten von negativen ein. Richtig. Sie haben also weniger als ein Buch, dann möchten wir dies anzeigen. Ich denke, das sollte sich darum kümmern. Dann. Ich werde hier nur einen Bremsklepper anlegen. Dann stelle sicher, dass ich meinen Knopf auf dso style. Das wäre Klasse auf Bt nbt n dash on. Sagen wir, Linie und ich werde es auf Linie sekundär sehen. Na gut, , dann weiter. Innen aus der. Aber ich werde auch eines dieser Symbole setzen, richtig? Etwas, das Sie wissen, ich konzentriere mich nicht zu sehr auf das Aussehen und Gefühl, aber es ist schön, einfach alles zu tun, um eine volle Wertschätzung aus für alles kommt zusammen. Also werde ich in eine Spanne setzen und ich werde meine offene Icon-Klasse anrufen, und dann wird es Oh, das tue
ich. Sie haben einen Buck Barrow. In Ordnung, also überspringen die Medien das Wort. Uh, lassen Sie uns das Wort überspringen. In Ordnung, also lasst uns das noch einmal versuchen, und wir wissen, dass dieser Autor keine Bücher hat. Ich bin mir nicht sicher, ob wir irgendwelche Autoren mit Büchern haben, also wenn Sie wollen, um die Macht zu mildern, das FBI Ursache und erstellen Sie einige Bücher mit einigen Autoren, die ihnen beigefügt sind. Aber zumindest wollen wir sicherstellen, dass unsere Ansicht eine ordnungsgemäße Ausgabe. Alles klar, so in hinten auf Ansicht der gleiche Autor. Und wir sehen Autor Details alle Details über DNO-Bücher für diesen Autor, und wir bekommen unsere schöne Zehe Kampf ist Taste sieht schön und schlank dort unter. Ich meine, es ist nicht die schönste Schnittstelle, aber zumindest können wir sehen, was zusammen kommt. Schlimmer noch, wir können es etwas
verfeinern. Sie können diese Ansicht auf sein. Haben Autorendetails ausgeprägter. Wir können diese den Text auf dieser Seitenwand statt treffen, aus nur so aussehen, dass auf dann natürlich, mit mehr Daten für die Biographie, es wäre mehr Details für die Anzeige und dann natürlich. Letztendlich haben
wir keine Bücher für diesen Autor, die zum Leben erweckt werden, wenn wir anfangen, Bücher anzulegen. Also, das ist es, um die Aussicht abzuschalten. Später werden
wir einige wesentliche Korrekturen machen und die Störungen ein bisschen mehr aufräumen, aber nein, das ist die ganze Woche 100. Der Boden zwischen den verschiedenen Komponenten. Also haben wir Daten zwischen Komponenten übergeben und wie wir mit dem Laden von Daten wieder umgehen, innerhalb von jeder Komponente.
46. Aktuellere Autor:in: Hey, Leute, in diesem Video werden
wir uns ansehen, es zu tun. Also haben wir gerade gesehen. Wir wissen bereits, wie man sie auf dem Index hat. So wird die Bearbeitung viel von den gleichen Schritten wie der Flur Satz der Ansicht folgen. Beginnen Sie mit unseren Links. Ich werde das nur kopieren,
eine Reise, die wir bereits für den Blick haben. Barton. Ich werde es jetzt in den Bearbeitungs-Button setzen und stattdessen den Autor ausschalten. Ich bin gegangen, um zu sehen, dass Pity in Ordnung ist. Dann gehen wir weiter und erstellen unsere neuen Komponenten. In Autoren fügen
wir also eine neue Komponente hinzu und wir werden diese noch einmal mit einem großen E nennen. Dann kleiden wir unsere neue Komponente mit der Seite geschrieben. Es soll die Meldeeinspritzung und unser Navigationsmanager Injektion haben. In Ordnung, ein Minimum. Wir brauchen diese Dinger. Wenn wir etwas anderes brauchen, werden
wir sie auf dem Weg hinzufügen,
aber nur stellt fest, dass dieser Schritt, diesmal fehlt Bearbeitung darauf, wartet immer noch zu wissen, welche Datensatz-Bearbeitung, richtig? Also müssen wir noch den Datensatz abrufen, dann haben wir Zehe sie an die Form binden. Also, tatsächlich ist ein Großteil des Codes, den wir innerhalb der View-Komponente geschrieben haben, sehr anwendbar, oder? Also werde ich eigentlich nur kopieren, Eigentlich, all das werde ich wirklich alles kopieren, weil wir immer noch den Parameter haben müssen, auf dem wir unser Modell haben müssen. Dann, wenn die Seiten initialisiert werden, müssen
wir gehen und holen, richtig? Also müssen wir den Datensatz holen, der bearbeitet werden soll, und ihn in das Modell einfügen,
und ich werde immer noch den Rück-zu-Mindesten-Button an haben. Ich werde auch noch einen Knopf haben. Das ist seine Absage. Ordnung, also werde ich einfach rüber gehen und sehen, was ich schon geschrieben habe, was ich nur nehmen werde. Also weiß ich, dass ich diesen Knopf brauche. In Ordnung, also werde ich das einfach kopieren. In Ordnung. Ich möchte nehmen, ich werde diesen Edit-Autor ändern. Alles klar, Andi, genauso wie wir hier drüben sehen sollen. Also rette dich einfach. Autor Details aus, die ihre Ansicht geschrieben, bieten Details. In Ordnung. Bringen Sie etwas Konsistenz. Tore Design Alles klar, jedes Loch. Die andere Sache, die ich wollen würde, ist die if-Anweisung. Also, während ich hier bin und in dieser Zeile bin, habe ich gerade die Aussage gemacht, einige kopieren und einfügen noch einmal. Also bewegen wir uns einfach schnell weiter, dann haben die if else in dieser if-Anweisung. Also, wenn es nicht in Ordnung ist, also jetzt werde ich Zehe wollen das wieder live? In Ordnung. Also werde ich eine gemeinsame Komponente erstellen, weil ich krank und müde bin, diese Kälte
jedes Mal zu nehmen und sie zu besteuern. Richtig? Also, was ich tun werde, ist zu teilen gehen und dann, naja, schauen wir uns eine, die bereits existiert. Wenn wir uns die Survey Prompt-Komponente ansehen, um hier zu sehen, dass es wirklich nur eine Warnung auf Git hat einen Bine doble Text namens Titel und es erhält wirklich einen Parameter namens title. Und wenn Sie auf der Indexseite schauen, wie es funktioniert, ruft
es nur
die Umfrageaufforderung auf, bei der es sich um den Namen aus der Komponente handelt, dann wird die Nachricht übergeben oder was auch immer Text innerhalb der
Umfrage sein sollte Probleme. In Ordnung, also werden wir dasselbe tun. Also gehe ich einfach zu Shared Click Add bei einer neuen Komponente. Ich nenne es Ladenachricht, richtig? Nichts zu schickes auf dann innen von dieser Komponente oder jemand zu tun ist, ist, dass ich
den Dave auf seine Standard-Takes nehmen werde , die immer angezeigt wurden. Also geh ich das hier richtig. Pace es innerhalb von der Komponente. In Ordnung? Also, nein, das haben
wir. Dave auf seiner lädt Autor-Details. Also diese, ich werde es dynamisch machen, weil ich diese gleiche Komponente mit seinem Autor
oder einem Buch oder Benutzerdetails verwenden werde . Was auch immer es ist, das ist die, die ich zu dir gehe. Stattdessen machen
Sie dies statisch. In Ordnung. Und noch einmal, wir ziehen nur das Beispiel von der Umfrage Eingabeaufforderung innen vom Platz, ich werde ihm einen Parmenter geben, wie das, was wir getan haben, also werde ich einfach voran gehen ihm einen Parameter
geben man wird eine Nachricht sein. Und dann, was wir tun werden, ist nur die Nachricht hier zu kaufen, also kann ich dies wahrscheinlich in ein H drei Tag setzen, anstatt es einfach so drucken lassen
und dann Nachricht zu sehen. Alles klar, jedes Mal, wenn wir diese Komponente anrufen, werden
wir ihr die Nachricht mitteilen und dann wird sie entsprechend drucken. Also offenzulegen, was ich nicht brauche, wenn ich Fuß gehe, wenn ich am Autor bearbeiten werde, kann
ich nicht sehen, rufen Sie die Komponente Ladenachricht an. Dann gibt es mir die Möglichkeit, die Nachricht anzugeben, und dann kann ich sagen, Autor für Bearbeitungen zu laden oder welche Nachricht Sie wollen. Ich
mache es nur, weißt
du , zum Beispiel krank. Ich weiß, dass ich diese Komponente habe, die ich nicht
jedes Mal kopieren und einfügen kann, dass Partikel leben , so dass ich den gleichen Komponentenaufruf innerhalb der Ansicht setzen kann, kann
ich sagen, Autor-Details laden, Ordnung. Und dann kann ich dasselbe innerhalb des Index machen, wo wir es ursprünglich erstellt haben, richtig. Und dann kann ich einfach sagen, dass der Ladeautor Autoren lädt. In Ordnung, das ist
also eine nette Art zu kreieren. Weißt du, wiederverwendbare Komponenten und Hotelparlament entstehen sie. Also, wenn ich diese Nachricht an übergebe, bekommt
es, dass es das nur auf H drei rendert. Tuck. In Ordnung, also weiß ich, dass das Miststück aus dem Weg ist. Das nächste, was ich will, ist Kunstform. Wenn wir also irgendetwas sind, bedeutet
das, dass wir ein Bearbeitungsformular brauchen. Also hättest du das Bearbeitungsformular gesehen, als wir über Benutzeranmeldung und
Benutzerregistrierung Zeug gemacht haben , richtig? Und das Bearbeitungsformular
haben wir ein Modell angegeben, das verwendet werden soll, dem wir wissen, dass wir dafür Modell haben, richtig? Wie auch immer Sie das Objekt nennen, das ist es, was Sie da anziehen. Dann würde ich so etwas wie auf gültiger Vorlage sagen. Dann ist es, was ich tun möchte. Also möchte ich Autor bearbeiten. In Ordnung, also natürlich, müssen
wir diese Funktion definieren. Also nein, ich muss diese Funktion definieren, die der Autor ist. Also werde ich nur diese Funktion auf erstellen. Ich werde es zu einem privaten vermeiden Onda. Teilen Sie es dort auf. Ich werde noch nichts tun, aber ich brauche das Formular. Alles klar, damit wir wissen, wie Formulare aussehen werden. Wir haben die geben diese Bootstrap-Formen und dann ermutigt sie, Zehe eine Klasse zu haben, die für
ndash Gruppe aufgerufen wird , Ordnung. Und dann drinnen, von diesem Formular haben wir ein Etikett auf. Dann ist es eine gute Idee, zu verkaufsfähigen vier. Und dann haben wir die Idee, was Sie vorher waren, also werde ich nur Vorname sagen, okay? Und dann ist der Etikettentext selbst Vorname. In Ordnung. Und dann haben wir eine Komponente. Eine eingebaute Komponente im Formular aus Eingabetext. Gut. Und dann wird Eingabetext Knochen sein, so dass wir sagen können, dass Scient Wert binden. In Ordnung, ich hatte den Kaufwert unterzeichnet. Entschuldigung. Intelligenz fehlt. So dass Sand kaufen Werte, Gleichheit. Und dann sagen wir bei Zeichen Modell Punkt auf dann die Eigenschaft, die es bindet, an die ich draußen
nicht brauche. Entschuldigung. Es wäre Modell dot Vorname. In Ordnung. Aan den Ich gebe die Klasse gleich Form. Strich-Steuerung. In Ordnung, dann kann ich ihm das i d geben, damit es bindet. Aber auf das Etikett, das Vorname ist. In Ordnung. Natürlich mit der Reform. Tut mir leid, dass ich diesen Schritt verpasst Ich sollte die Datenannotations-Validator haben,
weil Sie Ewigkeit in unserem Autorenmodell haben, dann sollten wir auch Validierung haben. Zusammenfassung. In Ordnung, also werde ich nicht die Validierungsnachricht unterlegen, dass sie bereits die
Zusammenfassung haben . Also lasse ich die Zusammenfassung dort. Andi,
ich ziehe einfach weiter. Also ich für den Vornamen, ich werde nur kopieren und einfügen, und das gleiche tun für den Nachnamen, weil sie
im Grunde die gleiche Sache in Bezug auf ihre Anforderungen sind . Es ist nur sicherzustellen, dass eine Änderung der Ideen und der Bindung. Das nächste, was ich hätte, ist das Bios, ähm, wenn die Zehe das auch haben. Aber dieses Mal werde ich einen Eingabetextbereich als meine Komponenten verwenden. Direkt beim Kauf dieses zurück zu Bio. In Ordnung. Stellen Sie sicher, dass alles so aussieht, wie es aussehen soll. Dann am Ende dieser Form, da ich nur drei Eigenschaften habe, die zu Recht neigen? Kein Vorname, Nachname, Biografie. Sehen Sie, Mr. Step hier. Überprüfen Sie einfach und stellen Sie sicher, dass Sie keine Änderungen verpassen. Das letzte, was wir brauchen, ist der Button, der Submit-Button. Also werde ich einfach den Knopf anlegen, dann wäre das, dass es Oh, ther ist. Na gut, , dann weiter. Ich gehe zu mir. Dies sind Button von Bootstraps Bt und Bt und dash on. Ich werde es primär machen, okay? Und dann habe ich meine aber freigegebenen Tasten. Also werde ich nur das zurück auf die Liste Button hier neben ihm setzen. Also entweder bearbeiten oder Sie gehen zurück zur Liste entweder. Senden Sie Editori, gehen Sie zurück zur Liste. Manche stellen das da hin. In Ordnung, Andi, wenn wir Beweise für den Eddie-Button mit einem Symbol oder zwei unserer Tafeln verwenden wollen. Eine andere Sache, die wir auf dieser Schaltfläche wollen, ist der Typ. Also type equals submit wollte eigentlich die Übermittlung aus dem Formular auslösen, das ,
wenn es bewertet
wird , an diese Funktion weitergegeben wird. Wenn es in den Validierungen nicht gültig ist, wird es daran gehindert, es zu übermitteln. Alles klar, in Ordnung. Also habe ich gerade den Submit-Button etwas geändert, den ich in die Spanne setze Onda ein Bleistift-Symbol auf, richtig? Und da steht „Bearbeiten“. Oder vielleicht sagte ich, sollte sagen, etwas ändert sich richtig? Das ist ein bisschen so plötzlich ändert sich, weil Sie gerade ein paar Änderungen vorgenommen haben. Eine sehr wesentliche Sache, die wir auf dieser Form brauchen, ist die I d.
Richtig. Also, ich meine, wir könnten wahrscheinlich das i d aus dem Parameter holen, weil wir es schon hier haben. Eso real irgendwann. Normalerweise, was Sie tun, ist das i d irgendwo in der Form zu verstecken. Aber dann verfolgen wir es wirklich durch diese Parameter. Ich muss es wirklich nicht wieder auf dem Formular verstecken. Nein, auf einer gültigen Einreichung wissen Sie, wenn Edit-Autor aufgerufen wird, was wir tun wollen? Er ist Ah, See ist Erfolg. Also wollen wir einen Barren Tut mir Leid. Sein Erfolg ist gleich zu warten und dann rufen wir einen Bericht und dann, was die Leute
für Opiat haben Also nennen wir es sein und dann will es, dass wir in den Endpunkten für die u R l übergeben Also werde
ich nur in Punkten Punkt sehen und dann Autoren in Punkte. In Ordnung? Und dann und dann können wir uns im Modell zerstreuen. Es sagte also, dass wir das i d durch den i-d-Parameter verfolgen könnten, aber was passiert wirklich? Ist das auf, uh oh. Nun, ich habe hier keinen Bereich, weil das sein muss. Es ist nicht zu vermeiden. Es sollte eine synchrone Stopps sein. Aber bevor ich dazu komme, so kann ich im Modell So Aufgabe versenden. Und dann, als ich gerade im Modell bestanden habe, ändern sich das, was mir entbeint wurde. Aber dann, was nicht entbeint und anfällig für Veränderungen war, blieb immer noch im Inneren des Modells . Also, wenn wir das Modell abgerufen haben, würde es jemals mit dem I D behandeln. Wie auch immer, wenn wir es zurückgeben, würde
es bereits wissen, was das I. D. ist und es für die zukünftige Verwendung haben, richtig? Nein, wir müssen überprüfen, ob es erfolgreich war. Also werde ich nur sehen, ob Erfolg ist. Dann möchte ich weg navigieren, damit ich einfach navigato sehen kann. Oder vielleicht kann ich einfach zurückrufen. Mal sehen, ob das funktioniert. Aber die Liste dort, wo wir gehen, da diese Zeile neu geschrieben wird, die sowieso die Liste herbeiführen wird, kann
ich nur sehen, ob ihr Erfolg ist, dann nenne diesen Stand, was auch immer er tun soll, es wird alles in Ordnung sonst. Wenn es nicht erfolgreich war, möchten wir
wahrscheinlich einige Fehler anzeigen. Also ich denke, wir haben das auf der Anmeldeseite gemacht, wo wir sagten, ob es irgendwelche Pfeile gab, um sie
anzuzeigen und anzuzeigen. Also, was ich tun werde, ist definieren und Mutter Variable hier. Onda, wir nennen es ist gescheitert. So würden Sie bemerken, dass manchmal privat. Manchmal tue ich es nicht. Wieder einmal ist
Konsistenz Schlüssel, aber standardmäßig, wenn Sie nicht privat oder öffentlich angeben, wird
es standardmäßig privat sein. Dann wird sein Feld wahr werden, wenn das nicht erfolgreich war. Also ist es gescheitert. Entspricht wahr. In Ordnung dann, was ich oben tun kann, ist zu sehen, dass, wenn das Zeichen Entschuldigung, also lass mich einfach ein bisschen zurückverfolgen. Ich sagte, er ist nicht in der Standardeinstellung fallen, so dass es nur wahr wird, wenn der Erfolg richtig anfühlt. Dann kann ich einfach sehen. Und ich gehe eigentlich einfach mit dem Eheschließungsladen, weil ich dort etwas sehr Ähnliches gemacht habe . Wo und dann ist es wieder hier. Ich wiederhole eine Gefahrenwarnung, damit ich das in eine wiederverwendbare Komponente bei Dosen
Lodeiro Nachricht verwandeln könnte . Richtig, also haben wir eine niedrige Nachricht für das Warten und ich kann es einfach in eine Komponente verwandeln. Aus irgendeinem Grund geht
dies manchmal zu lesen. Ich bin mir nicht ganz sicher, aber wenn ich baue, sollte
es sich selbst reparieren. Alles klar, so weit, wir haben alles. Lassen Sie uns voran gehen und testen, dass ich hier einen zusätzlichen Knopf habe. Lassen Sie mich das einfach entfernen, weil ich die Schaltfläche neben den Betreffänderungen verschiebe. Also habe ich plötzlich Änderungen auf. Dann habe ich den anderen, der darauf zurückgeht. Richtig? Also lassen Sie es uns testen. In Ordnung, dann sind wir wieder auf unserer Liste. Ich werde versuchen, einen Fall zu bearbeiten, wenn ich klicke. Bearbeiten. Da ist sie. In Ordnung. So kamen ihre Details schön und schnell auf, dann ist sie auf genial Autorin. Rechts auf, dann gehen, um Änderungen zu senden, damit wir zurück zur Liste gehen können. Und diese Gerechtigkeit, die zuerst. Okay, cool. Das funktioniert. Lassen Sie mich einfach nochmals tippen. Dann werde ich Änderungen einreichen. Und dann schauen wir mal. In Ordnung, also nein, etwas ist schief gelaufen. Also sehen Sie, ich habe gerade diese Ära Dave kopiert und eingefügt, ohne Änderungen in der Technik, so dass wir die
gesamte nutzbare Komponente machen können . Aber etwas ist schief gelaufen. Und lassen Sie uns sehen, ob wir darüber reden können, was schief gelaufen ist. Also gehe ich zurück zu meinem basierten Repository-Gericht und der Update-Methode auf Ich
überprüfe nur doppelt , um sicherzustellen, dass alles ganz ist. Wir sagten, es sollte so sein, dass wir die URL haben. Ich denke, dass wir uns nicht gebildet haben oder ich weiß nicht, ob ich das später ändere, aber ich vermute, dass die U. R L falsch geformt ist, weil sie auch die Idee berührt haben sollte. Wenn ich mich nicht irre, lassen Sie mich einfach zurück zu meiner Dokumentation für meine a p a Onda. Das ist es in der Tat. Es sollte Schrägstrich Autoren Schrägstrich i d sein und ich nahm das i d aus irgendeinem Grund ab. Also werde ich nur noch mehr aus dem Boot kommen, bevor ich weiter gehe. Ordnung, also werde ich 1/3 Parmenter für den I.
D.zurücklegen D. Ich werde auch das Gebräu machen. Acht auf die Schnur. Also haben wir die URL als Zeichenfolge an und lassen Sie mich nur sicherstellen, dass meine Endpunkte haben, dass die nachfolgende Schrägschrägsuche ein p i Schrägstrich Autor Schrägstrich sein sollte und dann verketten wir den i
d i d d d d d d d d d i d Wert direkt dort. Aber dann natürlich. Wenn ich das Basisrepository
ändere, muss ich meine Verträge ändern. Also bin ich mir nicht sicher. Ich glaube, ich habe es geändert, als ihr nicht nach irgendeinem Grund gesucht habt, aber lasst mich einfach zurückkehren. Also, wenn Sie Ihr Vertrag sind, sollte für das Update mit dem I.
D.aussehen D. Auf Ihrem basierten Repository sollte die drei Parameter auf Beacon haben, die die
Idee auf die Zeichenfolge koordinieren . In Ordnung, also lassen Sie uns das noch mal versuchen. Ich habe einen Fehler erhalten, weil ich meinen Methodenaufruf aktualisieren muss. Richtig? Also übergebe ich die Wichtigkeit, das Modell, und dann bin ich nur ein Modell Punkte, ich d. Alles klar, also lasst uns das noch einmal versuchen. In Ordnung, also sind wir über die Bearbeitungsseite bereits meine Anpassungen vorgenommen, wo ich sagte, sie ist auf genial Autor. Ich übertrage Änderungen und etwas ist wieder schief gelaufen. Ich glaube, ich weiß, was es diesmal ist. Es ist nicht so, dass wir den Earl missverstanden haben. Ich denke, es ist nur, weil wir nicht handeln. Also werde ich einen Bruchpunkt in meiner Basisberichte direkt beim Update-Aufruf festlegen, nachdem wir die Antwort erhalten haben. Und dann schauen wir uns noch mal an. Also ging ich, um Änderungen zu senden, es sendet die Anfrage an. Dann heißt es, verboten. In Ordnung, das bedeutet
also, dass unsere Validierung auf unseren Autorisierungs-Zeug funktioniert, zumindest auf der A-P-I-Ebene. Wir müssen es schaffen, dass kein Nicht-Admin in der Lage sein sollte, zu der Seite zu gelangen, um damit zu beginnen. Richtig? Also, genau hier in diesem Szenario, haben
wir Tür auf der Buchhandlung Dot com, die nur ein Kunde ist. Er ist in der Lage, zu den Autoren dieses auf zu gehen, tatsächlich klicken Sie darauf Autor. Also wollen wir ihn nicht in der Lage sein, diesen Link zu sehen, und selbst wenn er dorthin navigiert, nicht autorisiert sein, überhaupt auf die Seite zu gelangen. In Ordnung, aber dann, auf der A P,sagte
ich, sagte
ich, wir können uns sicher fühlen, dass es zumindest bestätigt, dass die Person, die versucht, die
Operation durchzuführen, die Befugnis hat, dies zu tun. Also lassen Sie mich lieben Boat als Benutzer auf Liebe zurück in als Admin. Ordnung, also nirgends wieder bei dieser Rede, benutzen
wir unseren Admin, um es noch einmal zu versuchen und mal sehen, was passiert. Also, wenn ich Änderungen einreiche und es trifft oder Bruchpunkt. Ich kann nicht sehen, dass wir keine Inhalte zurückbekommen. Also, nein, wir wissen, dass es erfolgreich war. Oder zumindest der Abzug ist, dass es erfolgreich war, so dass wir den Bruchpunkt f fünf entfernen können . Lass es weitermachen. Es geht zurück an den Anfang. Und wenn ich dann die Details am Tag
ansehe, habe ich immer noch einen Bruchpunkt. Befreien Sie das einfach. Wenn ich die Details ansehe, sehen
wir, dass es erfolgreich bearbeitet wurde. Da gehen wir. Also bekommen wir die Bearbeitung. Wir haben es an DWI arbeiten lassen. Sehen Sie, wo die AP Augen aktiv ablehnen, ähm, Sie wissen in der Themse, um es zu nennen, wenn die Person nicht beglaubigt oder autorisiert ist bestimmte Dinge
auszuführen. Das ist also, was die Forbidden Response School, die für alle drei ist und glaubt, dass eine 41 mit vier drei angeboten wird. Verboten. Andi. Das haben wir bekommen, als wir erkannten, dass wir einen minderwertigen Benutzer verwenden. So die Buchhandlung Benutzer sind Kundenregel sehen können, so dass sie zum Mietvertrag kommen können und ich kann auf die Details
klicken und die Bücher und alles anzeigen. Aber was sie nicht tun können, ist tatsächlich zu bearbeiten und zu löschen. In Ordnung, also müssen wir die Interferes ändern und das machen wir später. Aber wir werden die Störung so ändern, dass, wenn ein Kunde sich anmeldet, den Editor und die Löschtaste überhaupt nicht sehen wird. Und selbst wenn sie versuchen, direkt zu navigieren, wissen
Sie, jemand, der klug auf meinem harten ist, hat das Muster herausgefunden, das es versuchen könnte. Autoren Schrägstrich Ansicht r Schrägstrich Idiot Schrägstrich die i D. Wir wollen immer noch nicht, dass sie in der Lage sein, etwas auf dieser Seite auszuführen, also ist das eines der Dinge, die wir später tun werden. Aber im Moment sehen
wir das drüber. Es funktioniert gut, Andi. , Wenn es nicht funktioniert,stellen
Sie sicher, dass Sie auf dem Weg keine Rechtschreibfehler haben. Also habe ich einige Rechtschreibfehler gehabt und diese Fehler lösen, waren wirklich, weil ich die
Dinge nicht richtig in dem Projekt buchstabiert habe, wissen Sie, so dass Sie entgleisen und machen Sie denken, dass Sie eine große Ära haben, wenn es wirklich nur ein minderjähriges Mädchen. Stellen Sie also sicher, dass die Ausgaben konsistent sind. Stellen Sie sicher, dass Sie Benennungskonventionen konsistent sind, wenn wir zurückkommen. Wir werden auf die Fertigstellung des Abschnitts durch eine niedrige ID bedeuten Benutzer toe
47. Einrichtung von Löschen Autor: In Ordnung, also sind wir wieder da, verstehen Sie? Wir wollen das Löschen angehen. Also haben wir dich. Wir haben Update und wir müssen von den führenden sprechen wir bereits festgestellt, dass nur zugibt können die Bearbeitung und Löschen auf zu tun. Wir werden eine Sitzung mit unserem Admiral unterhalten. Ich gehe nur nach Lagos und lasse die Party beginnen. also auf unsere Indexseite zurückkommen, werden
wir diesen Link einfach kopieren, weil der Löschvorgang genau wie die
anderen beiden an statt jedes Mal aussehen wird, wenn er löscht. Nun, nachdem ich das getan
habe, werde ich eine Komponente erstellen, weil ich will, dass, wenn Sie aus der Tabelle löschen , es zu Fuß geht. Sind Sie übernahm die Führung von der Liste wird in Schlepptau zu bringen. Ah, Page. Das wird Ihnen die Details zeigen. Was du dabei bist, es zu tun und zu fragen, ob dein kurzer bestimmter Zug Also habe ich eine neue Komponente . Es nennt sich die Leads auf. Dann werde ich so ziemlich einfach viel von den Bearbeitungen kopieren und einfügen. Weil ein Großteil des Gerichts, wie wo das etablierte sieht ziemlich ähnlich aus. Also ist die Seite diesmal löschen. In Ordnung. Ich habe mein Repo bereits bei meinem Navigationsmanager Andre. Was? Ich kann die Überschrift später ändern. Was brauche ich dann noch von der Bearbeitungsseite? Ich werde hier im Grunde alles mitnehmen. Der Parameter, das Modell, die ISS scheiterte so ziemlich der gesamte Abschnitt schreibt, Der einzige Unterschied wird sein, was ich tatsächlich auf das Trick-Event gesetzt habe. Richtig? Also, stattdessen aus. Und es auch werden wir haben löschen Autor und lassen Sie mich einfach Nun, alles andere kann bleiben. Ich scheint nur Endpunkt von Updates zu berichten, um wirklich es beim Löschen der Löschendpunkt
nimmt die Zeichenfolge. Sie sind auf dem I. D. S. Ich brauche die Modellobjekte dort nicht. Alles klar, das ist es
also für das Layout des Deals. Nun, das Kabel Nun, das ist ein Anfang für den Kabelabschnitt aus der Löschdatei, die Ansicht. Aber dann werde ich Gericht aus dem Blickbereich Toe Display ausleihen, Was ist im Begriff, gelöscht zu werden, oder? Also, eigentlich kann
ich einfach alles über diese Rede von der Ladung nehmen. Wenn Aussagen die Details drucken, dann bringe ich das alles auch nicht in die Schlacht nach Osten. In Ordnung. Ich möchte alles auf diesem Platz mitnehmen. In Ordnung, aber dann werde ich eine zusätzliche Buchung für dieses Stück beilegen. Also lassen Sie mich einfach durchmachen, was hier passiert, im Falle eines Verlorenen. Also unser Löschen geht ziemlich viel mit dem gleichen i d Parameter zu navigieren, den wir in
der Ansicht auf der Bearbeitung verwendet haben , wenn es hier kommt und es geladen ist. Wenn die Seitenherren sollten diesen Datensatz von unserem A p abrufen I und es wird mit diesen Daten angezeigt werden. Also ich sage, dass die Anzeige hier genau so wird, wie sie unter Bearbeitung in der
Ansicht,
Pidge, hätte Ansicht, . Aber dann an der Spitze, werde
ich unsere Sie sehen, sicher, dass Sie wollen. Entschuldigung. Sie möchten diesen Datensatz löschen. Das ist also wie eine Bestätigungsseite, richtig? Sag mal, könnte führen wird hierher kommen und fragen. Möchten Sie diesen Datensatz wirklich löschen? Weil du der Person eine Chance gibst, zu überprüfen und zu sehen, Oh, das
ist die falsche Platte. Es tut mir leid. Lass mich zurück zur Liste gehen. In Ordnung. Aber dann, wenn sie unter Monaten sind, dass es direkten Ort und sie sind im Begriff zu löschen. Also werde ich nur diesen Kampf duplizieren diese Schaltfläche und dann werde ich sagen, Autor
löschen direkt auf. Dann werde ich das gesponnene Symbol zu sein oder ich Andi. Ich denke, es hat wie, na ja, einfach Wiederverwendung löschen. Also habe ich die Spur gestrichelt. Oder ist es nur löschen Spielzeug bereits Asche zu vermeiden. Dies ist ein national anziehen, so und dann wird die Klasse hier BT und dash Danger sein. Dies ist also ein roter Knopf, der sagt, dass Hey, Sie sind im Begriff zu löschen, so dass Sie fortfahren können, um den Autor zu löschen oder Sie können zurückgehen, damit der Klick hier nicht wieder zur Liste für die auf Klick sein wird. Löscht den Autor. Alles klar, so auf Klick, rufen
wir den Lead-Autor
, der dann über löscht Meth ungerade Übergabe in das Modell mit den Modellen I d. beim Aufruf der Autoren und Punkt, und wenn es erfolgreich ist, gehen wir zurück zur Liste auf. Wenn es nicht erfolgreich ist, dann sagen wir, es ist das Gefühl wahr auf dann ist das unterstützt. Zehe. Geben Sie uns einen kleinen Zeitabschnitt, also konzentrieren wir uns auf diesen Luftabschnitt. Also zurück in der Bearbeitung, haben
wir diesen Zeitabschnitt. Also werde ich das in eine Komponente verwandeln. Das Gleiche. Wir haben die Ladenachricht Gegensprechanlage zurückgegeben, ziehen Sie es nach rechts. Also werde ich nur Zehenschnitt gehen, die zu teilen seltsam weitergehen. Dann werde ich eine neue Komponente hinzufügen, die ich eine Fehlermeldung aufrufe. Gehen Sie voran. Und da und dann drinnen werde ich nur die gleichen Warnungen anstellen und dann eine Gefahr machen. Dann bin ich verbindlich. Das auch. Eine Variable namens message, die unsere Darstellung von einem Parameter ist. Das ist, dass wir eine Nachricht rufen werden, oder? So können wir keine möglichen oder benutzerdefinierten Fehlermeldungen auf. Sie werden auf den Schleim Veränderungen von einem Pete aus zu vielleicht ein H dreimal angezeigt. Also ist es stärker ausgeprägt auf, dann innen von überall, wo wir es manuell geladen hätten, so dass ich zu meinem
Editor-Grund auf seinem Feld zurückkehren kann . Jetzt werde ich eine Fehlermeldung sehen. Das sind meine Komponenten auf. Die Botschaft entspricht einer Predigt von Bar. Die vom Autor, die Registerseite Sergeant. Siehst
du, etwas ist schiefgelaufen mit der Operation etwas generischer. Na gut, dann
weiter. Ich kann wiederverwenden. Dies ist bei meinem Löschabschnitt fehlgeschlagen. Richtig? Also habe ich gerade zwischen zwei Komponenten kopiert und eingefügt. Andi hat eine ganz neue Komponente mit sehr minimalem Gericht gemacht, denn wieder wissen
wir, worin wir uns einlassen. Also ist es einfach, einfach zu navigieren, oder? Also, nein, wir können das testen auf, stellen Sie sicher, dass unser Löschen funktioniert. Also gehe ich nur auf die Zehe, geh weiter und werde mehr widmen. Alles klar, wo
sie freigegeben haben Autoren waren bereits bei mir, und ich werde klicken. Löscht. In Ordnung. Also möchte ich Anarchie nicht löschen. Das ist die falsche Person. Also klickte ich. Löschen, und ich sehe, dass ich nicht die falschen Aufzeichnungen bin. Gehe nur zurück zur Liste auf, wer ich löschen möchte, ist wirklich nur ein Bantam. Weil ich zwei Aufzeichnungen habe. Ich werde einen von der rechten Andi löschen. Ok, Jyoti. Nachname Biographie. Nichts. Keine Bücher. Das ist okay. Lassen Sie mich auf den Lead-Autor auf Boom klicken. Wir sind wieder bei der Indexrede mit einer weniger nur einer verbogenen Akte. Also oder löschen funktioniert einfach so, dass wir unsere Straßenoperationen eingewickelt haben und ich sage Straße und nicht Menge, weil, na ja, ich habe keine Möglichkeit, einen neuen Autor zu erstellen. Also das ist eine andere Sache, die wir umsetzen müssen, oder? So in der Regel von der zweckdienlichen haben Fülle ist schaffen. Auch auf. Daran arbeiten wir in unserem nächsten Video.
48. Ersteller Autor: Ihr Jungs, willkommen in diesem Video, wir werden die Create-Funktionalität für Autoren in Angriff nehmen. Also, um diese Operation zu beginnen, das erste, was ich für notwendig halte, wäre ein Knopf, der mir erlaubt, Fuß navigieren ihre Rechte. Also haben wir die Tasten für alle anderen im l Abschnitt gemacht. Also, wenn das Modell gleich zu wissen ist, dann passiert nichts. Richtig? Aber dann, wenn etwas tut, Herr, wollte
ich mit dem Knopf laden,
jemand, der Angkor anklickt. Dann ist es Riff. Und dann wird diese Reise ein bisschen einfacher sein als die anderen. Wo es Schrägstrich Autor Autoren Schrägstrich So Autoren Schrägstrich Kreta. Richtig? Also brauche ich keine Wohnung, weil ich etwas Neues erschaffen werde. Dann geben wir alles von den Rechnungen und Pfeifen, die Bootstrap gibt uns ein bt nbt und dash. Am Tag würde
ich dieses Primär treffen. Ordnung, dann InOrdnung,
dannwird
der Texas neue Autor erstellen und dann werde ich ihm ein kleines Symbol auf dem
Symbol der Wahl geben , ist ein Pluszeichen. Richtig? Also haben wir oben einen Knopf. Das wird sagen, erstellen. Du weißt es auch, während ich hier bin. Eine andere Sache, die mir auftritt, ist, dass dies angezeigt wird, während es nicht ist, wenn sie, wenn der Autor, na ja, es ist nicht, während der ein P, den ich rufe, gemacht wird. Nein, nachdem das FBI angerufen wurde,
ist das Modellmodell nicht mehr weiß, dass es ist, aber dann könnte es Konto nicht haben. Null. Was passiert also, wenn es das erste Mal ist, dass die Anwendung richtig geladen wird? Die FBI-Datenbanken, die die Autorentabelle auf DSO leeren? Diese Seite versucht, die Liste zu laden, aber dann ist es nicht bekannt, aber die aktuelle Null. Also sahen wir etwas, das in der Ansicht ist, wo wir nach Nein oder die Maiswesen, die weniger
als ein Recht sind, überprüft haben. Also in dieser Situation sagten
wir:
Nun, Nun, wenn es nein ist, können
sie das nur für die aktuelle einfacher anzeigen, als Sie dies anzeigen, das war, um
die Araber zu vermeiden . Aber die Realität ist, dass die Zapfen eine Null oder weniger als eins zurückkamen. Und deshalb sehen wir das konsequent mit dem Ozean. Ein Araber. Nein, der Punkt von diesem Monolog war, wenn das Modell nicht mehr bekannt ist. Aber die Zählung ist kleiner als Null. Wollen wir diese Tabelle wirklich mit nichts anzeigen? Richtig. Also werden wir nur eine Tabelle mit den Überschriften anzeigen und dann werden wir den Körper kennen. Also, was ich hier tun werde, ist eine andere if-Anweisung hinein zu setzen. Also setze ich den neuen Autor nicht in die Aussage ein, denn wenn es keine Autoren und ich will, aber unsichtbar, um dich auch zu sehen. Aber dann will ich es der Welt erzählen. Also werde ich das nehmen. Schneiden Sie es einfach an. Ich werde hier noch eine if-Aussage setzen. Ich möchte sagen, wenn Modell Punkte richtig, und dann denken Sie daran, Modell wird erwartet, dass eine Sammlung sein, so modellierte Anzahl weniger als eins ist. Richtig? Dann können wir etwas anderes zeigen, und dann werde ich das meinen Tisch sicher stellen. Es ist größer als oder wenn es nicht weniger als eins ist, dann gut, richtig. Aber dann, wenn es weniger als eins ist, dann kann ich vielleicht eine Ladenachricht setzen. In Ordnung, Seite, wenn Sie meine Komponente auf Stattdessen wiederverwenden, wird
die Nachricht sagen, dass es keine Autoren in den Datenspeichern gibt, bitte. Oder hat der Laden bitte Autor erstellt, um richtig zu beginnen? Also kann ich das einfach in Anführungszeichen setzen oder war nicht Firma nicht singen. Versuchen Sie einfache Anführungszeichen, damit die Person die Idee bekommt, dass sie klicken muss. Erstellt einen neuen Autor, um zu beginnen. Richtig? Das ist also nur eine kleine Vermittlung aus der Handhabung Halten Sie die Störungen sieht richtig aus. Also an diesem Punkt, wenn es der erste Herr ist, wenn Sie in die Datenbank gehen und alle Autoren löschen,
ähm, ähm, dann sollte diese Nachricht kommen, weil der Autor darauf zählt, dass das Modell Mais weniger als eins ist Richtig? Es ist also nicht mehr nein, aber es ist nicht weniger als einer. Es ist also Bio-Standard. Es ist immer noch nicht, aber ich bin sicher, dass Sie das zu schätzen wissen. Es behandelt nicht anders als wenn es einen Kegel abrufen und sehen kann, dass ein CoNed kleiner
als eins ist . In Ordnung. Nein. Lassen Sie uns mit unserer neuen Komponente für erstellen beginnen. Also lassen Sie mich in Autoren gehen, klicken Sie mit der
rechten Maustaste. Fügen Sie neue kommen neue Element, die eine neue Sorge sein wird, eine Komponente namens erstellt auf. Dann werde ich wirklich nur kopieren und einfügen Gericht. Ah, viele hier wieder, damit ich zu meiner Bearbeitung auf Die gehen kann wahrscheinlich alles ausleihen. Also alles auf der Bearbeitungsseite. Ähm, ich brauche das Perimeter-Zeug nicht, also kopiere das einfach, um damit zu beginnen. Lassen Sie mich. Ich brauche auch alle von den Using-Aussagen, die ich unter mir vernachlässigt habe Geh zurück, bekomme meine Verwendung auf dem Strandweg und alles. In Ordnung. Und dann wird der pH-Wert hier ohne Parameter erstellt. Alle Rechte erzeugt mehr Parameter. Ich habe genug Manager Mary Pull. , um Und dann bin ich gegangen, umeinen neuen Autor zu erstellen, als den Aufschlag oben. Alle Rechte, ich habe meine Augen versagt. Also werde ich das östliche Feld dann behalten. Ich habe ein Modell, also muss ich nicht überprüfen, ob das Modell keine Rechte hat. Ich wirklich nicht, weil ich ein leeres Formular jemanden lade, um diese gesamte Anweisung zu entfernen. Hier. Andi, lass mich sicherstellen, dass ich die hintere Klammer getötet habe, also will ich mich wirklich nur auf dem Aargh bilden. Aargh! Diese fehlgeschlagenen Abschnitt. Also lassen Sie mich einfach diese Stadt überprüfen. Also wirklich, eigentlich,
alles, was ich von der Bearbeitung brauchte, brauchte
ich die Aussagen nicht. Ich brauche nur das Bearbeitungsformular, das in ein Modell auf diesem kaufen wird, um immer noch
das ungültige Senden zu haben . Und dann stattdessen, aus Bearbeiten Autor erstellt unerbittlich Autor. Wir haben die gleichen Gefühle, weil am Ende des Tages, das schaffen geht, um uns in Vornamen setzen,
Nachnamen und Biographie Minimum können wir sehen schaffen Straftat, dass alle Änderungen einreichen. In Ordnung dort waren im Begriff, aufzulisten. Dann ist das in Ordnung. Ich glaube, dass das durch Unfälle blockierte Gericht das am Zeichengericht ist. Und dann fangen wir an, den Code zu schreiben, den wir brauchen. Also das erste, was ich erklären werde, ist etwas für das Modell. Richtig? Also habe ich meine privaten Objekte vom Typ Autorenmodell entfernt, und dann werden alle diese roten Linien auf dem Modell verschwinden. Andi,
ich habe ist Feld auch. In Ordnung, also ist das initialisiert. Zehe fällt anfänglich. Und dann müssen wir sicherstellen, dass wir die beiden Funktionen in Form von erstellen Autor und Kampf ist auf Die haben. Ich nahm einfach die Freiheit ab und
setzte sich zurück ins Gericht, um die Zehe zu navigieren. Verfasser. Also haben wir alles, was für diese Rede benötigt wird. Nehmen Sie Andi So Hunderte einige dumme Rechtschreibfehler. Überall auf dem Platz. Das nächste, was wir wissen müssen, ist der Griff. Was passiert bei einer gültigen Einreichung aus? Autor erstellen, richtig? Also, wenn ich nach unten gehe, um auch was will ich passieren? Ich muss nachsehen. Ähm, ich kann sehen, dass Var Erfolg ist. Es ist gleich weg es. Ein Aufruf zu meinem Bericht von Shun Dots erstellen dann, was wir erstellen erfordert die Endpunkte Docks. Autoren in Punkt-Komma undein Autorenobjekt im Formular aus Modell, weil real, schließlich was passiert, ist, dass, wenn Sie das Formular erstellen, Ihre Bindung, der Wert für das Feld im Modell. Also, wenn Sie das Gefühl, diese alt, klicken Sie auf eingereicht auf, weil das Modell automatisch die Daten
haben würde Sobald es so weit kommt, wissen
wir, dass es durch welche Validierungsstandards verstärkt Fahrten durch unsere
Validierung validiert Validierung validiert und es sind Anmerkungen auf. Dann,
wenn dieser Erfolg in Ordnung , wurde mir klar, dass ich wirklich keinen Erfolg auf East Field haben muss. Also, was ich tun kann, ist, dass ich das einfach tun werde. Nein, weil, weißt
du, manchmal tust du etwas, und doch öffnet es sich nur vor dir, so dass sein Erfolg anfänglich wahr wird, richtig? Onda oben. Ich werde sehen, ob kein Erfolg ist. Anstatt also zwei Variablen zu haben, die wirklich dasselbe tun, weil sie beide Milliarden auf ihren beiden hängen, wenn der Anruf erfolgreich ist oder nicht, richtig? Also sage ich, wenn nicht Erfolg, dann zeige die Fehlermeldung an, was bedeutet, dass, weil es wahr ist, wenn die Seite lädt, diese Fehlermeldung nicht nein zeigt . Dann werde ich sagen, sein Erfolg ist im Grunde, ähm, wird gleich Wasser sein vorausgesetzt, kommt vom Repo-Aufruf zurück. In Ordnung, dann kann ich sehen, ob Erfolg bedeutet, dass das Truell bleibt. Ich erinnere mich, dass wir überprüfen, ob es durch unser bedeutet, wenn wir das überprüfen, der einzige Weg wäre es nicht wahr. Gott fängt uns an. Wahr dann wird es wahr bleiben, wenn dies erfolgreich war, also können wir zurückrufen zur Liste. Wir haben einfach nie auf die Liste zurückgekehrt, die dann einfach alle Autoren vom FBI oder durch
die A P a zurückziehen wird. Aber wenn sich das richtig ändert, dann wird das nicht auf Dwell gefeuert. Das würde gefeuert werden oder dieser Zustand oder sich ändern. Dann enden wir mit dieser Pfeilmeldung. In Ordnung, also lassen Sie uns das für einen Spin angeben. Also lasst uns anfangen. In Ordnung, also sind wir wieder in unserer Sicht und wir sehen Ihren Knopf auf Dwell. Wir werden in den Kleinen Königen über,wissen
Sie,
den Abstand und so weiter später beheben wissen
Sie, . Aber wichtig ist, dass wir, wenn wir auf unsere Schaltfläche klicken, zu unserer neuen Seite navigieren und dann werde ich weitergehen und einen neuen Autor einlegen, okay? Und dann gehe ich weiter und klicke auf die Schaltfläche. Was mich zurück auf meine erste Seite bringt und ich sehe meine neuen Ergänzungen. Also die Schöpfung funktioniert, Ordnung, also würde der einzige Weg nicht funktionieren, ist, wenn vielleicht das A P, das ich nicht ausgeführt habe, oder es gab einige Ausgaben Luft auf dem Weg oder ein Problem mit Berechtigungen. Denken Sie daran, dass der Administrator auf diesen Link klicken und in der Lage sein sollte, alles zu tun. Also, Makesem, wir werden uns auf einige wesentliche Korrekturen konzentrieren. Einige von den Lasten. Ähm, weißt
du, Könige hier und da werden auch einige Autorisierungen auf den Links anlegen, um
sicherzustellen , dass sie nicht zeigen oder ablehnen, dass sie nicht autorisierte Personen auf
sie zugreifen .
49. Wesentliche Layout und Ergänzungen: Hey, Leute, willkommen in diesem Video. Wir werden nur durch unsere Seiten gehen und etwas tun, was ich für wichtig halte behebt eine Minute verschiedener Ideen von mir, und das ist in Ordnung. Aber ich möchte nur die Schnittstelle ein wenig bereinigen, und ich werde mit meinen benutzerdefinierten Komponenten beginnen. Also in der Hitze aus Kampf mit wahrscheinlich einige Entscheidungen getroffen, dass, na ja, ich meine einige Entscheidungen, die ich im Begriff bin zu ändern, beginnend mit meiner Ladenachrichtenkomponente. Nein, ich will nicht auf jeden drei Tuck und will wahrscheinlich einen H 5 Schlepper an. Ich möchte, dass dies eine Alert-Info ist und nicht sekundär ist, oder? Es ist also nicht so aggressiv in seiner Präsentation. Das ist also die lording Nachricht auf. Ich werde etwas wiederholen. Wiederholen Sie eine Menge davon. Ich will, dass die Warnung nicht auch eine Ville für Alarmbereitschaft ist, ähm, für Zeitalarme, andere gefährliche, instabile einmal gegen die jeweils fünf und nicht ein H drei. Also bin ich mit diesen beiden laufenden Modifikationen an meinen Haupttrikots fertig. Ordnung, also in geteilten, kannst
du zu mir gehen und Leo auf das, was ich in dieser speziellen Datei tun werde, ist, den
Inhalt auf eine Karte zu setzen . Ordnung, also habe ich meine Anpassung, um den gesamten Abschnitt innerhalb des Haupt-Dave
durch die Karte zu ersetzen , äh, Informationen aus Bootstrap zu
geben. Ich glaube, ich habe eine zu viele Tiefen hier oder einmal in Sewa. Alles klar, da gehen wir. Also, was ich hier mache, ist, dass ich den Inhalt von innen sehe. Das ist das Problem. Inside off der Inhalt Luft, die wir gerade Körper unter 60 Millionen Station gemacht haben. Ich werde eine Leiche in eine Karte stecken. Dips hätte die Karte gemacht, wenn mit registrieren und einloggen. Deswegen habe ich sie auch offen. Also hier sage ich, dass ich ein Auto will, dass ich will, dass ein Kartenkörper den Körper darin hat. In Ordnung, also mache ich das dort. Also, für die Registrierung, wo wir die Karte erstellt haben, werde
ich nicht mehr mit der Karte hier auf Ich gebe das nicht mehr. Nun, ich kann das mit dem Autotitel,
ähm,
der Auto-Titelklasse hinterlassen ähm, . Also lege ich die Karte nicht mehr nur im Register, aber es wird nicht jede einzelne Seite. Schau, wir werden diese kleine Grenze haben. Wie das, was das Anmelden und Registrieren p gerade wissen musste. Richtig? Also, das ist Register. Ich werde dasselbe für Le Guin tun. Nehmen Sie die ganze Karte,
Diego, die geben. Und ich bin nur so, dass ich nur hervorhebt und benutze Shift und Wanne Zeh, ziehe es zurück nach links. In Ordnung. Und dann kann ich hier als meine Fehlermeldungen Standard sein. Sag
mal, mal, ich benutze die, die wir zuerst geschrieben haben, dass etwas schief gelaufen ist. Etwas ist schief gegangen. Stattdessen werde
ich nur meine Pfeilnachrichtenkomponenten verwenden, damit ich hier einfach ändern kann. Pfeilmeldung an. Die coole Sache ist, ich will mich ändern. Öffnung wird auch die Kleidung wechseln, und ich kann das einfach entfernen, also werde ich es tun. Oh, tut mir leid. Und dann Nachricht. Richtig. Das müssen wir als Botschaft weitergeben. Also bist du so nah dran? Ordnung, also gibt es eine Nachricht, die diesen abschließenden Teil eigentlich nicht benötigt. Es ist ein selbstschließender Anruf. Alles klar, das sieht besser aus. Gibt es eine Nachricht? Und dann übergeben wir die Nachricht, dass ich das kopieren würde, so dass ich nicht
die Metzgerei beim Loggen so viel haben muss . Andi,
ich habe gerade mit dem Protokollierungsversuch zu sehen und dann diesen entfernt. In Ordnung, das ist es
also für die Hauptlasten auf dem Register und die Protokollierung, damit ich diese
Fenster schließen kann . In Ordnung, also gebe ich zu, was ich nicht brauche, und dann verrückter Autor. Ich werde nur die Klasse hinzufügen, die Kartentitel sagt. Das ist, dass wir an allen Punkten wissen, wo wir sind, und es schaut nach oben. Es ist organischer. Ich könnte in genau auf den aktuellen Fall passen in die Ausgaben Rechtschreibfehler der
Ladenachricht . Die Fehlermeldung. Ich glaube nicht, dass ich hier noch mehr ästhetische Veränderungen vornehmen muss. Aber denken Sie daran, dass unsere Bearbeitungen, Löschen und Erstellen von Seiten für unsere,
ähm,
für unsere Ich war in Straßenkleidung rechts reserviert sind ähm, , was bedeutet, dass ich nicht möchte, dass ein Kunde direkt zu irgendwelchen von diesen navigiert. Es gibt also zwei Dinge. Eins werde ich es in der Speisekarte verstecken. Das ist, wenn ich zum Index komme. Ich werde diese Schaltflächen im Menü ausblenden, aber ich möchte auch der Seite mitteilen, dass nur diese besondere Regel sogar erlaubt ist. Sieh dir das Bett an. Selbst wenn sie manuell dazu navigieren, indem sie auf die URL tippen, sollte
diese Geschwindigkeit immer noch ihre Versuche ablehnen, weiter zu kommen, weil sie nicht gehören. Alles klar, was
ich hier schreiben werde, ist auf Attributen. Das ist richtig, eine weitere Seite, die wir bei San Attributen auf sehen. Dann füge ich ein Attribut hinzu, das die res abruft. Ordnung, also erinnere dich an das gleiche Autorisierungsattribut, das wir in der A P I gebaut haben. Es ist anwendbar hier, direkt in der Reserve-Komponente, richtig? Also kann ich dann Regeln gleich sagen. Und dann kann ich sagen, fügen Sie Ministerium Tour. In Ordnung. Auch wenn die a p I die Versuche ablehnt, wie wir gesehen haben, bevor Zehe unseren Editor erstellen oder etwas tun, was Kunden und tun sollen, obwohl der AP es ablehnt, können
wir unsere Kunden aufbauen, die sich auch an diese Regeln halten . Das erspart uns den A. P. ich richtig anrufe, denn jedes Mal, wenn du vielleicht einen Dienst benutzt, den er für FBI-Anrufe kostet. So wollen Sie den Client zu minimieren, die ein Paar, weil so viel wie möglich, so in der Löschen wir das gleiche tun auf Ich werde auch setzen diese Zehe haben die Karte. Entschuldigung. Classique Waas Karte Dash Titel. Alles klar, also lasst uns löschen, ich glaube nicht, dass ich etwas anderes ändern muss, was Andan erstellt hat. Wir tun das gleiche, wo wir dieses Attribut nur für Administratoren hinzufügen. Lassen Sie die, dass der Titel Karte Bindestrich Titel haben. Und wenn Sie das Gefühl haben, dass Sie wissen, ein kleines Fackel, das Sie wahrscheinlich auf jeder horizontalen Regel setzen können darunter, so dass Sie , wie, eine kleine Linie zu zeigen. In Ordnung, also werde ich einen Br-Schlepper setzen. Weißt du, ich denke nur viel nach. Ich weiß nicht, wie das aussehen wird. Ich mache nur diese Dinger. Sie können mir folgen, wenn du willst. Du musst es nicht tun, aber ich setze nur wie ein Leerzeichen zwischen den Titel und richte dann aus und in einem anderen Leerzeichen vor dem nächsten Bit off Inhalt aus. Alles sieht nicht so nah aus, wie wir gesehen haben, wie es richtig aussieht. Und dann in der Indexerhöhung oder ich werde dasselbe tun, in diese Zeilen
setzen, in die Klasse setzen, aber dann im Index sollte
jeder Zugriff haben. Ich autorisiere bereits den Zugriff auf die Indexrede über die internen Anwendungen. Ich muss kein spezielles Autorisierungsmodell dazu noch einmal machen. Richtig? Also werde ich nur einen anderen Weg krank und autorisieren Sie sehen, dass wir die
Autorisierungsansicht haben , die sich so gut ansehen werden, wir sind unautorisiert, wenn Index, nein, auf das, was wir tun werden, ist eingerichtet, dass nur kann der Administrator diese Schaltfläche sehen. Also, wenn ich möchte, dass nur Administratoren diese Schaltfläche sehen, sagen wir Administratoren nicht allein sollen es sehen. Der Geist wird die Sichtbarkeit dieser Schaltfläche einschränken wollen, damit ich sagen kann, Ansicht autorisieren. So sehen wir einen Autor wie Sie aus einem vorherigen Beispiel. Mit dem Menü können wir sehen, Regeln ist gleich Ministerium ter hinzufügen. In Ordnung, was auch immer Emily in dieser autorisierten Ansicht steckt, Todd wird nur dann auftauchen, wenn das Attribut für die Regeln erfüllt ist. Und so können wir das auch für unsere Buttons tun. Also haben wir die Ansicht-Schaltfläche die Bearbeiten-Schaltfläche und oder Löschpunkte. Ich möchte nur, dass Administratoren in der Lage sein, diese Schaltflächen zu sehen ,
verstehen die gekocht auf ,
dann sehen, autorisieren Kraftstoffregeln gleich hinzufügen Ministerium Tour auf dann und dann innen aus diesem autorisierten Ansichtsbereich. Ich werde nur sagen, das sind zwei Knöpfe. In Ordnung, also schauen wir uns kurz an, was wir bekommen, wenn wir uns unter einloggen. Die beiden verschiedenen Benutzer sind. Also liebe ich hier, als Delia über die Autoren gehen wird. Und dann sehe ich hier so gut, ich sehe diese Grenze. Ich sehe meine Indexrede ein wenig Tageslicht. Nun, vielleicht kann ich das zuerst entfernen, sei unser, weil die Hunde im Alter ein bisschen absetzen, also ist das in Ordnung. Wir haben diese Linie und dann sehe ich nur die Optionen, die für einen Kunden anwendbar sind , die zu sehen sind. Und wenn ich dann auf Ansicht klicke, geht
er in Okay, ich komme zurück die Liste, aber ich kann nichts anderes tun, weil ich nur ein Kunde bin. Das ist, dass wir Autorisierungen von der U I-Seite erzwingen können. So weiter. Dann siehst du das, indem du das Auto dem Mich Layout hinzufügst. Jedes andere Stück, das ich gehen würde, wird auch, dass Karte Art off aussehen und fühlen , um es. In Ordnung. Es gibt eine Sache. Ich werde hier ändern, wenn es um meine Autoren geht, und das ist von der A P I Seite. Also sagt Randall keine Bücher für diesen Autor, aber ich bin wund. Mindestens ein Buch ist da.
50. Beheizung von Author-Book JSON: Hey, Leute, willkommen in diesem Video. Wir werden dieses Problem lösen, bei dem die Autoren nicht sehen, dass die Bücher sind. Wenn wir uns den Autor ansehen, sehen
wir das Buch nicht. Der eigentliche Grund ist, dass wir Zeh brauchen. Fügen Sie diese Zeile außerhalb des Gerichtshofs über Repository hinzu. Wo wir sehen, schließen die Bücher ein, oder? Also Autoren für einen Autor hat eine Liste von Büchern, so dass wir sehen, wenn Sie die Autoren abrufen, um die Liste der Bücher, die an sie angehängt
sind in den Daten enthalten zu behandeln . Das ist also, was diese Linie wirklich sieht. Also fügen wir das dem Fund alles auf hinzu. Dann an einem Refraktor, das Gericht ein bisschen mehr vorne durch die Idee, wo ich dieselbe Linie hinzugefügt habe. Aber ich änderte mich von finden durch unsere Suche ein A denken, ich denke, es war zuerst unser Standard ein Sing, und dann verwenden wir einen Lambda-Ausdruck, um die i.
D in der Autorenaufnahme mit der Idee zu vergleichen , die wir suchen. Also ist es der gleiche Effekt nur auf dem anderen Gericht auf dann das nächste, was wir tun müssen, ist von Ihnen eine Bibliothek namens SB Net Core dot NBC dot Newtons weichen Jason. Es gibt also einen hier. Niemand selbst Jason auf. Ich meine, es funktioniert, aber weil Kern 3.1 induziert wurden, wollen
wir diejenige, die speziell für richtig ausgelegt ist, also werden wir das bekommen. Laden Sie es nicht in unser Projekt. Dann wird unsere nächste Aktion haben. Lassen Sie uns zu unserem Start dieser Serie gehen, wo wir die Akt-Controller eine
spezielle Option mit freundlicher Genehmigung aus der Bibliothek hinzufügen werden . Wir installieren nur jemanden, um zu sagen, Docked Odd neue Wendungen weich J Sohn. In Ordnung, weiter, dann öffnen wir uns. Einige Optionen werden sagen, Opie für Diagramme sind kurz. Andi,
ich werde hier nur die Grenze brechen. Jemand zu sagen, Opie, lass mich einfach die Klammer schließen, bevor ich es vergesse. Also Opie oder Optionen angedockt? Ich möchte etwas Müsli serialisieren oder sitzen. Isar-Sitzungen haben unsere Freunde angedockt. Und dann, wenn Sie schauen, sehen
Sie die Referenzschleifenbehandlung entfernt. Die meisten Nachschlagebuch Übergabe. Ein Nachschlagewerk bedeutet also, dass jede Entität sich gegenseitig kennt. Das ist ein Problem, nicht wahr? Also Referenzschleifenbehandlung ist gleich Newtown Soft Dots J son dots on. Lassen Sie mich hier noch mal die Grenze brechen, damit wir nicht zu weit vom Bildschirm gehen. Newton ist von der Jason-Punkt-Referenzgruppe, die sich mit der Handhabung beschäftigt. In Ordnung, also sagen wir
O.R. Controller, dass wir wollen, dass Newton die Schleifenreferenzierung erledigen lässt, und ich werde sagen, dass Ignorieren etwas Sehen die Aufmerksamkeit außer Kraft setzt, auf die Sie in
Ihrer Aufmerksamkeit sein würden . Sie zahlen, um das Problem auf diesem Newton weichen Griff es und niemand Soft wird nur zu sehen. Ignorieren Sie diese Referenz. In Ordnung, also lassen Sie uns versuchen, unser Projekt zu starten. In Ordnung, also lass uns wieder gehen. Also von innen aus für die Anwendung, richtig? Wir wollten Autoren sagen, und dann bringen wir die Liste der Autoren auf. Es kann ein bisschen länger dauern, weil nein, es gibt ein zusätzliches Bein aus, einschließlich der Bücher. Aber sobald du diese Liste siehst, ist
das gut, denn ich habe es vorher getan. Ich füge nicht das ganze Jason-Referenz-Zeug hinzu, also wenn Sie es gerade in Ruhe schrecklich in den Newton Soft-Saft beim Ignorieren des Teils hinzugefügt
haben, dann würde dies nie schneller laden Nachricht direkt auf. Dann, wenn ich es wie ein Evans ansehe, weiß
ich, dass sie ein Buch hat, und da gehen wir. Das ist also der Titel des Buches. Das Buch hat keinen Preis, daher sind die Daten möglicherweise kein Bildschirm, aber der Punkt ist, dass dies nicht mehr sagt, dass es keine Bücher gibt. Also dieser Autor, wir bekommen durch den Autor auf Wir sehen die Bücher hier für den Autor, also können wir zuerst versichern, dass das in Ordnung ist. Alles klar, auf, das ist es für diese Aktivität. Als nächstes werden
wir einfach alle Änderungen überprüfen, die vorgenommen wurden und dann unsere Änderungen überprüfen.
51. Änderungen in GitHub: Hey, Jungs, willkommen zurück in diesem Video, nur um einige der Änderungen zu überprüfen, die wir in diesem Abschnitt auf diff dort alle anderen Größen, die wir brauchen, um uns zu überprüfen, dann triffst du sie einfach. Also werde ich mit dem Wort beginnen, das wir in dem basierten Repository gemacht haben, oder der Tatsache , dass wir das Auge-Autoren-Repository erstellt haben, um es
wieder aus dem basierten Repository zu erben . Die Begründung dafür ist die Tatsache, dass derzeitige Operationen immer durch die
Bestien gehen werden . Und das meiste, was wir mit den Funktionen des Autors, des
Repositorys oder des Autors machen, wäre grob. Es implementiert also nur das Baster Poster, auf dem wir in der Autorenklasse despotieren. Dann wird er Maßnahmen gegen die Autorenklasse zu dem relevanten Punkt ergreifen, wie wir angegeben haben, richtig? Also im basierten Repository habe ich auch modifiziert. Das ist also die Schnittstelle oder der Vertrag wurden auch modifiziert, ähm toe enthalten das lokale Speicherrecht, so dass wir von der lokalen Geschichte abrufen können sprechen und in den
Autorisierungs-Hitter für jede Anfrage enthalten , denn dann müssen wir sicherstellen, dass die Person berechtigt ist, alle Optionen zu tragen. Vielleicht möchten Sie diese in Streckenfänge einwickeln, oder? Also, was? Was kann manchmal passieren, dass basierend auf der Art und Weise, wie die Anwendung,
diejenigen, die es von Herrn und Authentifizierung gesehen haben, der Zugriff aus dem lokalen Speicher könnte versuchen, zu passieren, bevor einige andere Dinge Luft an Ort und Stelle, so dass Sie diese stören können kompliziert ist es, die Zerkleinerung, die in Ihrer Anwendung passieren könnte, zu minimieren. Also gingen wir voran und taten das mit all den Anfragen, bekamen
nur den Inhaber-Token und nahmen es in den Header von den Kunden ein. Wir gingen auch voran und modifizierten unseren Autor. Nun, wir haben Autorenseiten erstellt, also haben wir ein neues Foto erstellt, auf dem wir die Komponenten einfügen und wir haben uns den Unterschied zwischen jeder Komponente und was wir halten können, wenn Anweisungen uns helfen, noch sichtbare
Probleme zu geben die Benutzer zu dem, was passiert, wie wir benutzerdefinierte Komponenten erstellen können. Also habe ich nicht immer das gleiche Gericht neu zu schreiben, aber du weißt schon, eine
Fehlermeldung gegen das Laden von Nachrichten über solche Dinge. Wir haben uns alle Wochenend-Limits,
autorisierte Personen oder beglaubigte Personen auf der Grundlage ihrer Genehmigungen angesehen . Also begannen wir mit unserem Menü sind, na ja, nicht gut, wir haben es mit dem Menü bereits getan, aber wir haben dies mehr in der Indexsprache, wo wir sagten, dass nur Administratoren in der
Lage sein werden , die erstellen -Taste ein. Nur Administratoren können unsere Ansicht,
die Bearbeitungs- und Löschoptionen bearbeiten. Also haben wir uns auch das ganze Wochenende tatsächlich diese Autorisierung auf der Seite angesehen, indem wir
diese Attribute hinzufügen , um anzugeben, welche Regel was tun kann. Also haben wir einiges getan. Ich weiß, dass wir gut einchecken werden, bevor wir weitermachen. Eine sehr wichtige Sache, die wir taten, war, in das Startup des FBI aufzunehmen, dass esdie zirkulären Referenzen,
Kunst- oder Schleifenreferenzen auf DSO
ignorierensollte die zirkulären Referenzen,
Kunst- oder Schleifenreferenzen auf DSO
ignorieren . Wenn Sie ein größeres Projekt mit mehr Beziehungen als nur einem Autor und einem Buch wie ich es hier mache, dann wird dies nützlich sein, wenn Sie versuchen, diese Nutzlasten mit dem Autor zu bekommen und die Liste von Büchern sind oder die eine Entität mit der Liste aus der zugehörigen Entität oder Entitäten. Dies wird also weit weg gehen, um viele Probleme in größeren Anwendungen zu lösen. Lassen Sie uns also voran gehen und überprüfen Sie alle unsere Änderungen. Ich habe die Lösung abgelenkt. Geh zu begehen, Andi. Ich habe meine Nachricht
eingefügt, Autoren-Rohoperationen hinzugefügt und einige A p I-Probleme behoben. Ich gehe voran und begehen alle Onda Waschbecken.
52. Create Teil 1: Hey, Jungs, willkommen zurück in dieser Liste, wir werden einrichten oder schaffen Funktionalität für unsere Bücher auf diesem geht zu Ich war ziemlich ein paar Aktivitäten, also bleiben Sie einfach herum und haben Spaß mit mir. Also fangen wir an, indem wir in die Büchermappe gehen. Add on. Creating Over Newer ist eine Komponente, die vorbei sein wird, erstellt Und wenn die Komponente erstellt
wird, haben wir alle mit ihrem Pfad an der Spitze das Attribut für die Autorisierung ausgestattet und wir autorisieren
nur Administratoren auf wir injizieren das Buch-Repository als auch der Autor Repository machte auch eine Straße Taxi erstellen Buch Nein in oder erstellen ehemalige gehen zu haben ah, neue Todd. Nun, es ist nicht neu. Wir haben es vorher getan, aber die Zeit ist Bearbeitungsform, die ein spezialisierter italienischer Blazer auf ist. Wir werden es wissen lassen, dass das Modell, das Aufmerksamkeit auf Zehe sein sollte, Modell ist dann auf gültige Vorlage Wir wollten erstellen Operation behandeln. Okay, also offensichtlich haben wir noch kein Modell,
also muss ich ein Modellobjekt innerhalb der Schnur deklarieren, und ich ging zu sehen, dass ein privates Buchmodell dem neuen Buch entspricht. Ordnung, jetzt gibt es eine Reihe von Dingen, die wir erreichen müssen. Und ich versuche mein
Bestes, nichtüberall zu Bestes, nicht sein und es strukturiert zu verfolgen. Also werde ich anfangen, die Felder für das Formular auszufüllen. Ordnung, also die ersten 2 Dinge, die wir in unserer Form haben, sind unsere Datenannotationen Validator auf unserer Validierungszusammenfassung. Alles klar, das ist nur so, dass wir auch Anmerkungen zu unserem Buchmodell hinzufügen müssen. Aber noch einmal, es ist einfach schlecht gehen sie eins nach dem anderen. Also möchte ich auf Eingabebereich für den Buchtitel. In Ordnung, also dann, wenn ich Bootstrap Smith seltsam für Form verwende, werde
ich nur sagen, lass die Klasse von niederländischer Gruppe auf. Dann habe ich das Etikett für die Idee oder für was auch immer Eigentum. Sorry Element hat den i d Titel auf. Dann haben wir unseren Text auf. Dann waren Eingabetechniker bindend. Wert, um dunklen Titel auf Kurs zu modellieren, um ihm die Formularsteuerung auf dem I D off
Titel zu geben , sind das nächste Gefühl, dass wir uns vorbereiten werden, ist die ISBN. Es ist also im Grunde dasselbe, außer wir ändern das gesamte Etikett für den Text auf der Bindung. Das ist also der Abschnitt für das I s bien. Wir wollen auch die Eingabe eines Preises einrichten, so dass alles gleich ist. Außer, dass die Eingabe keine Eingabenummer ist. In Ordnung, also ist der Preis keine Zeichenfolge, sondern ein numerischer Wert. Also müssen wir die Eingabenummer verwenden, weil wir eine Form aus der Ära bekommen. Eigentlich gemacht, dass Fehler bereits beginnen, nur zeigen. Ihnen gesagt, dass Sie, wenn es numerisch ist, eine Eingangsnummer speziell aus diesem Grund haben? Nein, der nächste, den ich betreten möchte, wäre der Autor. In Ordnung, also möchte ich angeben, wer dieses Buch über sie verfasst hat. mich wäre
eine angemessene Kontrolle dafür eine Dropdown-Liste. Jetzt kommt unsere erste Art aus erregbar, aus der normalen Operation heraus. Also, um eine Dropdown-Liste in Blazer gut
zu bekommen, um eine Dropdown-Liste von Autoren zu bekommen,
das bedeutet, dass wir die Liste der Autoren vom Autor N p r a p i n
Punkt holen müssen . Deshalb, falls Sie sich fragen, warum ich das injiziert habe. Deshalb habe ich das injiziert. Also werde ich Zehe in der Schnur haben, einen Anruf an den Autor
machen. Also, was ich vor Gericht tun werde, sagen
Sie es. Ich habe bereits die Formulargruppe und das Label aufgestellt. Also werde ich das also verlassen. Nein, aber ich werde hier vom Platz nehmen. Also ging ich Zehe haben geschützt auf dann überschreiben Sie eine Senke Aufgabe auf initialisiert die Senke auf dann diese Funktion auf. Wir alle wissen, dass das ist, was Lourdes, wenn die Komponenten-Lords, das wird in diesem Inneren gefeuert werden, müssen
wir ein paar Fässer füllen. Ich brauche eine Variable, die die Liste nicht hat. Autor. Also werde ich nur privat sagen. Ah, ich habe Typ Autor gepachtet, Autor bur Modell richtig? Und dann sind der Name der Autoren, richtig? Das wird also zunächst keinen Wert haben, Aber dann auf die Initialisierung,
aus oder Formular, werde ich sehen, dass
ich will, dass Autoren gleich Zehe sein und dann warten wir auf das Ergebnis aus unserem Autorenbericht, die sie bekommen Wir sehen uns. Obwohl ich es mit Büchern zu tun habe. Ich kann jedes Repository aufrufen, das ich möchte, an dem Punkt, an dem ich es brauche. Holen Sie die Daten auf. Dann. Sobald ich Autoren habe, kann
ich nichts nützen. Es sind die Filets, eine Dropdown-Liste Autoren. In Ordnung, also muss ich tatsächlich diese Dropdown-Liste erstellen. Also, wenn Sie nur eine andere Form von NBC sind, die tatsächlich nur über Kontrolle oder eine andere Verwendung aus, die Siehe in Frage stellen könnte, würden
sie ein Steuerelement haben. Wir haben keine Kontrolle, zumindest vielleicht noch nicht. Also lasst uns einfach mit was arbeiten? Wir haben jemanden, der nur eine Auswahlliste erstellt. In Ordnung, auf. Dann werde ich sagen, ich möchte den Wert von dieser Auswahlliste zu binden, die dem zugewiesenen Modell angedockten Autor I lI. Das bedeutet also, dass jeder Autor, der aus dieser Dropdown-Liste ausgewählt ist, ich verfolge diesen Wert . Wie in der ehemaligen eingereicht? Das ist der Wert, den ich verwenden möchte, um ein wenig Leichtigkeit einzureichen. Alles klar, und andere Attribute für die Schlaflosen wäre die Tatsache, dass ein Formular-Steuerelement auf der Idee ist Büro A C oder kopieren und einfügen Sie es mir. So beschriften vier Autor auf Ideen. Autor. Es gab Leute. In Ordnung? Das hat dich wahrscheinlich nicht erwischt. Also, das ist in Ordnung. Nein, ich möchte die erste Option haben, dass der generische Selektor oder die Beobachtungen vom at-Zeichen . In Ordnung, also wird die 1. 1 die generische Option sein, um zu sagen, wählen Sie
einfach auf Autor Onda. Ich bin so, Oh, das sollte blind sein oder nicht blind uns Wert. Ich entschuldige mich. Das sollte also bei signiertem Binden auf . Modell dot Autor I d rechts. Also haben wir die erste Option ist eine generische, Kein Wert wählen Autor sind nicht. Aber dann jede andere Option, die ich sagen möchte, ob jetzt diese Aussagen überprüft wurden, ob etwas weiß
ist, wie wir sagen können, ich hoffe, wir können es sagen, aber ich weiß, dass sie sehr wichtig sind. Also sollte dies das at Zeichen haben, wenn alles in Ordnung, wir überprüfen, ob Autoren nicht gleich ewig sind, dann führen Sie die Operation aus. Denn wenn Sie versuchen, die Operation auszuführen, während sie null ist, und wir wissen, dass es auf den Seiten, die auf einem Plan für den AP initialisiert
wurden, und Antwort, wie lange dies
dauern könnte, nicht wollen
wir,dass dauern könnte, nicht wollen
wir, die Komponente abstürzt. In Ordnung, also wo sie das alte trugen, wenn es nicht mehr weiß. Also, wenn Autoren nicht wissen, als für jeden und ich bin ich nur für jeden geschrieben und zweimal gedrückt und es erzeugt, dass für mich. Und ich werde sagen, Autor in Autoren, die ich auf Optionen möchte, sind eigentlich nur gehen, um dies zu kopieren. Also für jeden Autor, Ich möchte eine Option erstellen, die den Wert von Autor dunkelt Heidi Coming zurück aus der
Liste der Autoren, die aus der Datenbank auf, was angezeigt werden soll, wird der
erste Neil Onda Nachname des Autors sein . Alles klar, was das tun wird, ist eine Dropdown-Liste für mich für jeden Autor zu generieren, der in der
Datenbank ist, wenn dieser AP, den ich anrufe, gemacht wird, wird sie zurück hierher bringen. Also, ich meine, wenn Sie Lust auf Auto Complete bekommen wollen, weil vielleicht diese Liste meine ich, mit 100 Autoren, die ich auf, Das ist vielleicht nicht die praktischste, aber für nein, Lassen Sie uns einfach mit seinem nächsten Abschnitt in meiner Form von Wasser arbeiten bereits erstellt. Der Deal für die Formulargruppe wäre für unseren Upload, also hatte ich gerade ein Label auf Ich rufe das am Tag vor Andi an. Ich sollte nicht profiliert werden. Tut mir leid, ich wurde mitreißen. Das sollte Buchcover sein. Alles klar, also Buchfoto, unser Buchumschlagfoto, egal wo du es nennen willst, das ist unser Etikett. Dann brauche ich hier einen spezialisierten Input
, den ich zu neuen bekommen und davor eine Lüge bekommen muss. Also lasst uns das zusammen machen. Also ging ich zu neuen Gets und Justin gibt dir für bekommen. Das ist zur Lösung gehen, richtig? Klicken Sie auf das Projekt auf, dann gehen Sie zu verwalten, um Pakete zu erhalten. Wir suchen nach Blazer-Eingabedatei. In Ordnung, also Blazer-Eingabedatei an. Stellen Sie sicher, dass Sie die Include Pre wirklich Stick haben, weil ,
gut , noch
einmal ,
dies ist blutende Kanten-Technologie so gibt es ein Ergebnis gibt, aber man wird gearbeitet. Wenn Sie also Pre-Release einschließen, erhalten
Sie dieses. Das ist seine Blazer-Eingabedatei. Das wollen wir einfach nicht in unser Projekt wissen. Und wenn das erledigt ist, müssen
wir sicherstellen, dass wir für dieses Gericht im Tore-Projekt konisch sind. Unsere erste Änderung wird also auf unsere Hosts-Datei Seite der Partitur zu
Lösungs-Explorer sein . Finden Sie Gastgeber sind da. Es ist auf den Seiten auf der Score-Hostdatei auf, dann unter dem Blazer, nicht Server dot gs. Ich werde dieses Skript hinzufügen, wo ich auf den Score-Inhalt Slash Blazer
Eingabedatei Schrägstrich Eingabedatei Punkt Js auf unserer nächsten Änderung verweise , ist in unseren Importen, also finde ich einfach Importe schnell. Auf dort werden wir eine using-Anweisung für Blazer Eingabedateirechte hinzufügen. Also wissen Sie, dass wir diese Installation oder Eingabe in unsere Anwendungsverzeichnisse haben. Ich gebe alles offen, was ich nicht brauche. Nein, ich kann auf eine spezielle Komponente zugreifen, die als Eingabedatei bezeichnet wird. Also öffnete ich meinen Zeh und ich sage Eingabedatei direkt an. Dann muss ich etwas reinlegen, um unverändert zu sagen. Dann geben wir ihm Funktionen. Ich habe nur eine Griffdateiauswahl, Ordnung, und dann ist das ein selbstschließender Tuck auf. Dann am Ende. Nun, um das Formular zu beenden, Ich füge nur einen Button Beat hinzu und primäre hat ein Bleistift-Symbol und das wird sagen, erstellen Sie Buch auf. Dann habe ich einen, der dazu zurücksagt, das heißt, zurückzugehen. Diese Originalität wurde also unrein geweint, also meine ich, wie gesagt, es spielt keine Rolle. Also, was würdest du tun? Alot ist alle Funktionen definiert, also muss ich Handle erstellen Handle-Auswahl definieren. Andi, zurück zur Liste. In Ordnung. Jemand, der mit dem einfachsten zu erreichen beginnt. Und dieser Kampf ist so in. Orderto verwendet Eine Liste gesichert. Ich werde meinen Navigationsmanager haben. Alles klar, so leid. Das sollte das Zeichen sein. Injizieren Sie Navigationsmonitor auf die Partitur, nav Manager. Und dann werde ich erst die Kampffunktionsstörung angehen. Also bin ich nur im Schlepptau. Haben Sie private vermeiden hintere Zehenliste auf dann. Dies wird nur genug Manager Onda se genannt, das navigiert zu auf. Dann ist der Pfad, zu dem wir navigieren, Schrägstrich Bücher Schrägstrich. Also geht es zurück zur Indexrede für unsere Bücher Semi Doppelpunkt, und das ist es für diese Funktion. Nun lassen Sie uns in ernstere Angelegenheiten, um die Datei, die nicht eingereicht oder
zumindest ausgewählt ist,
Truck zumindest ausgewählt ist, . Also denken Sie daran, wir haben auf Unchain, also sammeln wir diese Datei und halten sie vorübergehend. Nun, was ich brauche, ist eine Variable, die tatsächlich diese Datei haben wird. Also werde ich eine private ah haben, Eigentum vom Typ I feuern Liste in Eintrag auf. Es wird die Namensdatei haben. Na gut, , dann weiter. Offensichtlich werden
wir ein P. machen ich anrufe. Also werde ich auch mein Anbarren für seinen Erfolg tun. Aber ich möchte das global machen, weil ich es auf eine bestimmte Weise verwenden werde, die ich nicht
glaube, dass ich es vorher benutzt habe, also werden wir einfach ein bisschen kreativ mit dem Gericht, richtig? Also, nein, ich werde mein Telefon schreiben gezeigt Zehe Griff die Feuerauswahl. Ich bin immer noch nicht ganz an dem Ort, wo ich die Akte bekommen oder die Einreichung bekommen werde. Also wollen wir zuerst mit dem Feuer umgehen, also werde ich es tun. Verzeihen Sie meine grausame Schreibweise. Privat Ein Handle für die Senke. Kopieren Sie das einfach, also denke ich, ich werde es schneller eingeben, die Dateiauswahl
bearbeiten, dann wird es den Parameter abnehmen, sind ein Umfang aus Typ-I-Datei in Trickery. Also kopiere ich das nur, aber es ist wirklich eine Arie. Alles klar, das
heißt, Sie wissen schon, wenn wir mehrere Lüfter laden, die ausgewählt werden sollen. Nun, so würden sie viel vorbei kommen. Aber da wir wissen, dass wir nur eine Datei wollen, auch wenn mehrere oder ausgewählt sind oder wir mehrere Ecken
erleichtern, wissen
wir, dass wir nur eine wollen. Und so gehen wir davon aus, dass die 1. 1 im potentiellen Ari das Feuer ist, das wir wollen. In Ordnung, also bekommen wir die erste unsere Standardeinstellung aus dem Bereich, der ankam. Wir speichern das in unserer Variablen unsere Eigenschaftendatei, die wir früher deklariert haben. Dann werde ich sagen, ob Dateien nicht gleich wissen, was möchte ich tun? In Ordnung. Also, wenn die Datei ist nicht gleich zu wissen und dies ist ein Buchcover, das ist nicht Ah, Buch Sommer. Es ist kein Dokument. Also weiß ich, dass ich nur Bilder will, oder? Also werde ich sicherstellen wollen, dass der Dateiname eine bestimmte Nun, es ist eine bestimmte Erweiterung. Ich möchte nur auf Es gibt viele Möglichkeiten, Erweiterungen zu überprüfen, aber ich werde es einfach halten. Etwas Distanz. Er ist eine einfache Aussage, nur um sicherzustellen, dass diese Datei unsere Lisa endlich, ähm. Streitig JPEG PNG, Far Jeff sind und das sind gut, lassen Sie uns es auf Jim Pick beschränken. Also, Sie kennen Jay Peak und B J P g oder J E P g auf PNG. Das sind die drei, auf die wir achten. Also werde ich zuerst den Namen
holen. In Ordnung. Es tut mir so leid. Dieses Sperma sollte Dateien genannt werden. Beachten Sie einfach die rote Linie dort. In Ordnung. Ja, das funktioniert. Nein. Also, zuerst bekomme ich den Namen von der schnell eingereichten. Also Vier Name ist gleich der Datei, die diesen Namen. Dann habe ich eine einfache if-Anweisung, um zu überprüfen, ob der Name Punkt die Buchstaben J p
genthält g oder sollte ich die Zeichenfolge PNG oder die Zeichenfolge J.
Paige sagen . Alles klar, das ist im Wesentlichen das, was wir dort überprüfen. Ich glaube, ich habe eine Brise aufgehört. Alles klar, wenn wir das überprüfen und wenn es
so ist, dann möchte ich das Bild auf dem Bildschirm anzeigen, also, nein, ich muss eine andere Variable haben, richtig? Also werde ich ein anderes privates verbal auf diesem oder Grundstück haben, und dieses wird String-Bilddaten sein. Du bist also, wir werden das Bild im Schlepptau analysieren. Was, um in unseren Gedächtnisstrom zu rufen und es in der Grube anzuzeigen. Also das ist ganz oder dies ist eine Art von ganzen Menschen erreicht Anzeigen von Vorschauen hochgeladenen Bildern für jemanden, um zu deklarieren, um, variabler off-Typ Speicherstrom überleben m s ist Gleichheit neuer Mitgliederstream und das geht e haben einige Bibliotheksanforderungen. So kann ich die using-Anweisung in diese Datei oder diese Komponente einfügen. Also brauche ich System, das ich alle dafür. In Ordnung, also habe ich es nicht weltweit in die gesamten Importe gesteckt. Du kannst, wenn du willst. Wie gesagt, es liegt an dir. Richtig. Aber dann, nachdem wir deklarieren, erinnern Sie sich an Stream, ich werde die Datei warten, auf die Daten, dann die Daten in der Datei. Ich werde zwei kopieren. Also gibt es tatsächlich eine Kopie zu einem Sing und wir kopieren die Dateien Daten in die
Speicherstraße . Alles klar, das ist es, was diese Linie tut. Dann haben wir unsere entweder und ich will Eisen zu speichern gibt es gleich einem neuen Stream Reader auf dieser Straße. Leser lesen die Daten aus der Datei. Dann gehen wir auf die Zehe. So sehen Sie, dass es einige Schritte, um dies zu erledigen, dass ich die enthaltene Zeichenfolge jemanden bekommen muss, um unser Bild zu speichern. Bucht 64 Daten. In Ordnung, also werden wir es in eine Basis umwandeln. 64 String ist gleich der angedockten Toe Bay 64 Zeichenfolge zu konvertieren. Dann. Dies erfordert einen Bissbereich
, den wir nur, ähm, wir müssen diesen Bissbereich mit dem füllen, was im Speicherstrom ist. Also werden wir sehen, M s angedockt. Dann hat es eine Funktion Desisto ari, die das in ein Bite-Array umwandelt. Na gut, dann
weiter. Ich denke, ich muss etwas mehr in Ordnung sein. Ja. Ich dachte, ich müsste explizit mit der Vire statt sechs sein. Nun, Schnur statt Feuer zu
sehen. Aber es ist immer noch macht einen Bass Saiten. Das ist in Ordnung. Dann kann ich Nein. Das bedeutet, dass ich eine andere Variable brauche. Also habe ich die Variable bereits. Sie haben Daten verpasst. Sonst bist du es. Ich werde Bilddaten sehen. Ihr Earl ist gleich auf. Dann bin ich mit den vier Monaten A spezielle Strings, das String-Punkt-Format auf. Dann gehen wir an Theater vorbei. Holan, Bild Schrägstrich p und G Alles rechts auf dann definiert die in Cord, das ist die Basis 64. Alles klar, Koma. Also brauche ich wirklich eine Schnur. Vier Monate. Ich hätte Verkettung oder Verschmutzung verwenden können, aber das ist in Ordnung. Ich sage also, dass ich mein Format richtig ausgeben möchte. Ich baue eine spezielle Zeichenfolge, die Daten kühl auf Bild Schrägstrich PNG hat, dann wird es diese Basis 64 sehen, dann wird es den Wert von den Grundlagen vorher bereitstellen, was wir hier haben. Bild-basierte 64 Daten. Also denke ich, dass setzen Sie ein Komma auf, setzen Sie das da. In Ordnung. Und dann, was all das tun wird, ist vorübergehend Herr, was auch immer Bilder in den
Speicher hochgeladen werden , so dass wir zur Vorschau anzeigen können, richtig? All diese Mühe, eine kleine Vorschau zu bekommen. Also möchte ich den Vorschauabschnitt irgendwo in der Nähe des Datei-Upload-Abschnitts platzieren. Also, genau da, werde
ich auf If-Aussagen, die überprüfen, ob unser Bild später, Earl, weil es leer ist. Nein, aber sobald eine Datei weitergeht, sie in Erinnerungen geladen. Wenn tohave Daten jemand zu sagen,, wenn es nicht leer ist, richtig, Wenn es nicht Knoller ruhigen Raum, dann möchte ich ein Bild Schlepper, das die Bilddaten haben wird. Du bist die Quelle. Und denken Sie daran, dass dies die Bilddaten sind. Du bist genau hier. In Ordnung, ich sehe, dass ich ein paar Stree-Zahnspangen dazu habe. Ordnung, also wird dies unser SRC sein, der unser Vorschaubild rendert, sobald die Datei hochgeladen wurde. In Ordnung, damit Sie den Stil anpassen können. Ich lege es nur raus. $100 kleine Miniaturansicht. Damit, wenn Sie, wissen
Sie, wir an diesem Leben sehen können, Nr. Eine Sache, die ich überprüfen möchte, ,
ob ist,
obdie Datei eingeladen wird, weil ich sehe, ob sie das enthält, dann in Ordnung. Aber wenn jemand ein PDF hochlädt, was genau möchte ich tun? Nun, ich möchte ihnen zumindest eine bizarre Aufforderung geben zu sagen, dass ein pdf ist keine Last sind Es sind die eingeladenen Dateitypen. Ich werde hier eine andere Variable vorstellen. Ich lege es einfach unter den Erfolg privat. Und dann habe ich Bull, seinen ungültigen Dateityp. Und ich initialisiere nur die Farce, denn während es keine Datei gibt, wenn die Seiten gestartet wurden, gibt
es keine Ungültigkeit vom Dateityp, richtig? Aber dann will ich sitzen. Was ich also wissen möchte, ist zu sagen, wenn die Datei nicht gleich ist, um zu wissen, dann sehen, ob sie das enthält, dann in Ordnung. Aber dann möchte ich ein anderes hier, was sonst sagen wird, ist der ungültige Typ gleich wahr. Wenn es also keine dieser Erweiterungen oder Erweiterungen enthält, die Sie für gültig halten, also sind dies die Bilder. Aber das ist irgendwie global. Wenn es das Bild nicht enthält, handelt es sich um den Beta-Typ, den Sie für gültig halten. Dann werden Sie sagen, dass der Werttyp wahr ist. Ist ist ungültig. Typ ist wahr. Auf der anderen Seite, wenn ich einen ungültigen Typ bei der Nacht Jubel der Datei hochgeladen habe, wird
es diese Überprüfung erneut durchlaufen, weil jedes Mal, wenn es eine Änderung direkt bei
Änderung gibt . Das wird gefeuert. Also, wenn ich dieses Mal mit einem gültigen öffne, dann möchte ich ändern. Er ist ungültig, also fällt der Zeh richtig. Gut. Wenn ich also einen gültigen bekomme, dann ist es falsch. Also, selbst wenn wir für uns anfangen und einen gültigen hochgeladen haben, dann bleibt das Wasif. Ich lade zuerst eine Schlacht hoch. Dies verändert das Wahre und sie brauchen die Strömung selbst danach. Also wechseln Sie zurück auf den vierten. Und das ist wirklich das, was wir wollen. Nun, und ich sagte, wir wollen ihnen einen visuellen Hinweis als Zehe,
ähm Loch geben, wenn die Akte gültig ist oder nicht. Also gehe ich zurück zum sechsten Sohn. Ich werde sehen, wo es ist? Ich werde hier sehen, dass, wenn der Volume vier ungültige Typ wahr ist oder wenn es ist, dann zeige ich eine Fehlermeldung an, um zu sagen, Bitte entfernen Sie den ungültigen Dateityp und wählen Sie ein neues Bild Anfang dieses Jahres. Schwarz. In Ordnung, also lassen wir sie wissen und ich benutze einfach meine Pfeilnachrichtenkomponente, die dort meine besondere
Nachricht übergibt . Das führt mich dazu, einen weiteren Scheck zu machen, und ich werde vielleicht weiter und weiter darüber reden. Aber verstehen Sie, um sicherzustellen, dass alle unsere Kontrollen abgeschlossen sind. Also überprüfen wir. Wenn die Datei nicht gleich ist zu wissen auf, dann suchen wir nach dem gültigen Zustand, richtig? Was ist, wenn die Person das Feuer entfernt hat? Weil ich gesagt habe, dass es ungültig ist. Sie können den Feldblock verlassen. Wenn sie also eine ungültige hatten, dann werden sie diese Nachricht sehen. Aber wenn sie es ganz entfernen, will
ich nicht, dass sie die Nachricht sehen. Also, wenn sie die Eingabe ändern und die Handle-Auswahl-Events ausgelöst werden, dann werde ich sagen, wenn es nicht anders weiß, richtig? Also, wenn es in der Tat nein ist, dann gut, wenn es nicht ist, kann
es ein ungültiger Typ sein. Also, sobald Sie das Bild ganz entfernen, als dies ändert sich der Fall auf Blazer so aus , awesome wird wissen, dass diese Änderung auf entfernen Sie diese Aufforderung aus dem Abschnitt. In Ordnung, also kommen wir gut runter und wissen, dass der letzte, den wir angehen müssen, auf gültiger
Einreichung ist . Also, nein, ich brauche eine Funktion für eine gültige Einreichung auf. Ich werde das hier in den Gerichtsabteilungen setzen oder privat eine Senke Aufgabe erstellen. Alles klar, dann, was wir zuerst tun
werden, sind diese, was ich für eine notwendige erste Überprüfung halte. Es ist immer noch sicherzustellen, dass wir keinen ungültigen Dateityp haben, der mit arbeitet, denn was passieren kann, ist, dass, wenn die Person das ganze Formular fühlt und sie auf ungültige
Dateizeit setzen , dann Nun, lassen Sie uns einfach sagen, dass Dies wird angezeigt, aber sie können immer noch klicken. Einreichen am. Es wird es nicht stoppen, weil wir keine Validierung gegen diese haben. diese Einreichung also unsere Akte, Wenndiese Einreichung also unsere Akte,die dieser Präsident hochlädt, wird
er die Akte über diesen Kerl speichern, und das will ich nicht. Also werde ich anfangen, indem ich es überprüfe. Ist dies nicht der Fall, ist die Datei fünfmal ungültig, Rechts. Also, wenn wir es nicht mit einer eingeladenen, fetten Zeit zu tun haben, dann können wir fortfahren. Oh, es tut mir leid. Dies tauchte mir gerade in den Kopf, dass, wenn die Person einen gültigen Dateityp hatte, sie
ihn auf eingeladenen geändert hat. Dann will ich meine Bilddaten nicht. Ihr Earl Zeh habt alles. Also, wenn ich sitze, dass der ungültige Dateityp wahr ist. Ich werde auch meine aufgezeichnete Zeichenfolge Toby gleich String-Punkt leer setzen. In Ordnung. Ich will nichts drin haben,
also hat
es anfangs nichts an. Die einzige Zeit, die Sie etwas bekommen sollten, ist, wenn eine gültige Dateizeit hochgeladen wird. Richtig? Oh, tut mir leid. Es ist während der Zeit. Leer ist keine Funktion. Mein Rücken. Alles klar, das
war in meinem Kopf gezündet. Ich weiß es nur. Gehen wir also zurück zu der vorliegenden Aufgabe, die das Speichern oder Aufzeichnen ist. Andi nachträglich hochladen oder Datei? Nein. Ich werde mit dem einfachsten Teil beginnen, dass auf das Speichern der erforderlichen ist. Wir wissen also, dass
wir, um den Rekord zu retten, den Erfolgszehen gehorchen müssen. Was auch immer von unserem Aufruf an unseren Bericht zurückkommt, der unsere Übergabe in den Büchern und Punkt
schafft, erstellen Sie das neue Buch, das im Modell weitergibt. Dann werden wir ah haben, Ihre Aussage zu sagen, wenn wir erfolgreich in unserer Einreichung sind, dann tun wir über die Liste. In Ordnung, jetzt habe ich gesagt, dass ich den Erfolg nutzen würde, um eine Fehlermeldung anzuzeigen. Also werde ich an der Spitze sagen, wenn nicht ein Erfolg. In Ordnung. Das bedeutet also, dass Ihr Erfolg als unser Marker verwendet wird, um zu sagen, ob etwas
gut gelaufen ist , um zu sehen, ob etwas mit der Operation schief gelaufen ist. Alles klar, drücken
Sie den Abstand ein wenig aus. Ordnung. So wird sein Erfolg zu machen oder basierend auf dem Wert seines Erfolgs, wir geben unsere Botschaft. Deshalb habe ich es zunächst wahr gesagt,
weil ich nicht möchte, dass dies angezeigt wird, wenn die Seite geladen wird. es sich jedoch Wennes sich jedochdanach ändert, wird es angezeigt. Andernfalls, wenn es erfolgreich war, wenn es wahr ist, dann rufen wir einfach zurück zur Liste. Seit etwa zwei, dies dient zwei Zwecken direkt dort, weil Sie einfach weg navigieren und es ist auch beigefügt Zehe der Schaltfläche klicken für zurück zur Liste. Jetzt haben wir den leichten Teil gemacht. Nach meiner Einschätzung ist
das der leichte Teil. Aber lassen Sie es mich einfach auf diese Reise bringen. Also im Moment, obwohl wir diesen Datei-Upload haben und wenn Sie es jetzt ausführen, sehen
Sie eine Bildvorschau auf alles. Wenn Sie auf Absenden klicken. jedoch Wir sendenjedochnur das Senden an die Datenbank für das Modell, Ordnung, für ein Buch. Aber
darüber hinaus liefern
wir keine Daten für die hochgeladene Datei. So würden Sie tatsächlich wissen, dass hier eine Datei gleichmäßig hochgeladen wurde. Es würde wissen, hier über den Draht
gehen. Und das ist, weil, Oh, müssen wir eigentlich, Sie werden einige Verarbeitung, um,
wie,
den Dateinamen zu bekommen wie, . Ich werde die Datei übrigens umbenennen. Dann, nachdem all das an, werde
ich die Datei zuerst hochladen, dann Upload verhindert das Bildfeld im Buchmodell auf, dann senden Sie es an die Datenbank. Also die Orner verschiedene Leute tun es in verschiedenen Ordnungen. Aber das ist alles, was ich tun werde, okay? Also mache ich nur etwas Platz für meine Dateioperationen, und was ich zuerst tun werde, ist, die Erweiterung von der Tatsache zu bekommen, dass jemand sagt, dass virale Txt gleich towpath Punkte
ist, dann, weil unser System nicht io Ich habe X Zugriff auf diesen Pfad haben, diese Erweiterung und dann kann ich die Datei Darts Namen übergeben. Als ich Ihnen sagte, dass es viele Möglichkeiten gibt, Erweiterungen zu überprüfen, hier ist eine Möglichkeit, nur die Erweiterung zu erhalten, so dass ich das auf gerade die
Erweiterung mit diesen Werten verglichen haben könnte . Ich meine,
egal, was auch immer für Sie arbeitet, das ist in Ordnung. Na gut, dann
weiter. Ich werde unsere Auswahl retten. Ich d ist gleich Zehe auf. Ich werde meine eigenen benutzerdefinierten Werte generieren. Also will ich etwas Einzigartiges, das sich nie wiederholen wird. Also werde ich unser Gut nutzen und ich will gut sagen. ist das neue Gut. Ich wollte auch ein String Andi sein, damit Waren immer Striche haben. Ich möchte alle Bindestrich Insider vermeiden wollen, dass die zusammenhängenden Zeichen keine Bindestriche zwischen Apfelwein Haben Sie einen Arzt Platz auf Dr. Place alos mich, um den Artikel Ich möchte er Platz oder das Kartell auf zu ersetzen, was ich es ersetzen möchte, mit dem in diesem Fall ist nichts so buchstäblich nur fallen alle Striche und setzen keine Unterscheidung er dazwischen, richtig. Also dann am Ende, abseits des Tages, meine Bilder neuen Namen wäre gleich und ich habe gerade meine Dolla Zeichen Anführungszeichen auf gehen zu erobern, um das I D zu treffen oder wählen Sie I d Your other Was? In Ordnung. Also, dass es das ist, was du nennst, richtig? Also wähle ich auf. Kann Katyn es auf der Erweiterung? In Ordnung. Also, was auch immer Erweiterung es ursprünglich danach, Ian, dass Tickets A, p und G. Ich kann es nicht einfach zu j Schwein ändern. So funktioniert es nicht. Also, was auch immer Erweiterung es ich werde es behalten, aber ich werde es umbenennen, um ich zu wählen. Dann bin ich das, was ich auf den Fuß gehen werde. Möchten Sie den Upload, da das Bild ein Modell nennt. Das Bild rechts ist gleich Zehe Pick Name. Okay, also habe ich einiges arbeitslos gemacht, aber wir sind noch nicht ganz da. Wir müssen den Datei-Upload noch erledigen. Also werde ich es hier für Nein lassen, du kannst es testen. Owt. , Was passieren wird,ist, dass Sie das Formular absenden können. Sie werden das neue Pickney sehen,
ähm, ähm, gehen Sie rüber, wenn Sie eine Datei für den Upload auswählen, aber offensichtlich passiert kein Upload. Wenn wir also zurückkommen, werden
wir fertig machen, wie wir diese Upload-Funktionalität beenden
53. Create Teil 2: Hey, Leute, willkommen zurück. Das letzte Mal, als wir hier waren, saßen
wir auf oder erstellten einen Blick für unsere Bücher auf einem der wichtigsten Teile. Dies war der Aktivieren Datei Applaus für ein Buch über Bilder. Also müssen wir das beenden. Das erste, was wir tun werden, ist, zu unserer
Lösung zu gehen . Was ist mit Verträgen, die eine neue Schnittstelle oder einen neuen Vertrag für einen
neuen Dienst auf diesem einen erstellen würden , wird Akte von Lord genannt werden. Alles klar, also ich Datei-Upload, wir gehen weiter und fügen das hinzu. Denken Sie daran, die Schnittstelle auf dieser Schnittstelle ändern wird, um Fett zu behandeln. Nun, es wird eine Funktion haben, die Task Public Task Upload-Datei genannt wird, und es wird einen Parameter in der Form aus I Datei Liste Eintrag vier Datei auf,
na ja,
eine andere Wohnung oder für die Auswahlnamen haben na ja, . Denken Sie daran, dass wir den großen Namen innerhalb über Blazer-Komponente generiert. Und wenn wir Dysfunktion nennen, müssen
wir diesen Namen übergeben. Also, jetzt müssen wir dies implementieren, so dass wir gehen voran und erstellen Sie die konkrete oder die Implementierungsklasse über im Service,
Vater, Vater, Ich klicke auf Upload-Klasse. Ich sagte, applaudieren, aber es hätte wirklich sein sollen, aber die Klasse ist Datei-Upload auf. Dann gehen wir weiter und übernehmen auf Datei-Upload wird von i Datei-Upload erben. Von hier aus werden wir einen neuen Eigenschaftstyp einführen, und dieser wird als I Web Host Environment bezeichnet werden. Also werde ich nur unterstreichen und kurz,
krank und gehen Sie voran und fügen Sie das ein und fügen Sie alle fehlenden Binärdateien ein, dann sind das unsere neuen Abhängigkeiten. Natürlich müssen
wir den endgültigen Konstruktor entsprechend initialisiert haben, nachdem wir dieses Wochenende getan haben, weitermachen und die Funktion implementieren. Nun, du kannst es tun. Ich mache es. Ich habe es noch nicht getan. Wenn Sie es verdrahtet haben, dann können Sie weitermachen, was wir tun werden, und ich mag es, komplexe
Operationen in Handelsfängen zu korrumpieren . Und dann schreiben wir ein paar Zeilen vor Gericht. In der Tat, ein paar Zeilen außerhalb des Platzes, sehen
wir ziemlich ähnlich wie bei dem, was wir tun mussten, als wir es in den
Speicherstrom hochladen wollten . Da fangen wir an. Also unsere ersten 2 Lanza Ebenen deklarieren ein Member-Stream-Objekt auf Ben, ähm, kopieren diese Zehe, das Kopieren, die abgelegten Daten in den Speicherstrom. Und ich muss das hier eine Spüle treffen. In Ordnung, also die ersten 2 Zeilen, wir sehen die, bevor ich die gleiche Variable wiederverwende. Es scheint also nicht so weit hergeholt zu sein, dann werde ich meinen Weg bauen. Also der Pfad, auf dem ich möchte, dass diese Datei gespeichert wird, wie gesagt, wir werden innerhalb unseres www-Stammordners verwenden. Uploads sind so, dass der Weg ist, den ich anvisiere. Sie haben Leute, die unterschiedliche Meinungen haben, aber wenn es wieder einmal ist, halten wir das einfach. Also habe ich meine Interpretation, mein Dollarzeichen und meine Anführungszeichen auf. Dann bin ich am Score-Ende bereitgestellt,
was meine Abhängigkeit für die Web-Host-Umgebung ist, auf der ich den Web-Stammpfad verwende, richtig? Und dann werde ich den Upload-Ordner anvisieren. Dies wird also sagen, wo immer die Lösung gehostet wird, von wo aus die Website gehostet wird, was ist der Pfad zu ihrer rechten, und dann ist es auf der Suche nach Uploads Ordner auf, dann werden wir in dicken Namen übergeben. Das ist also der tatsächliche Name aus der Datei, um sichere Rechte zu sein oder der tatsächliche Name aus. Was? Wir möchten, dass diese Datei wie in diesem gesamten Pfad auf gesehen wird. Dann danach werden
wir sehen, mit Datei-Stream auf. Ich habe das gerade bekommen. FS ist gleich einem neuen Dateistrom. Schrecklich. Das ist richtig. Wir werden den Weg passieren, Onda. Ich werde sehen, wie das Feuer festgemacht wird. Sie sehen, Dateiboard Punkt erstellt tatsächlich bedeutet, dass, wenn die Datei bereits vorhanden ist, wird es überschreiben. Aber letztendlich wird es eine Datei erstellen. Und da wir Waren verwenden, die den Namen des Vaters generieren, sollten
die Chancen, eine Klasse zu haben, sehr gering sein. Also, dann möchte ich m s sagen, wie in Speicher Straße und Variable angedockt rechten Zeh. Also, nein, wir werden sagen, was immer im Mitgliederstream war, ich möchte, dass Sie genau die Dateistraße auf dem Feuerstromobjekt wissen, wie wir gerade gesehen haben, wird es in die Badewanne legen und seine erstellen und dann das ist es. Also, wenn Sie eine Ausnahme bekommen, können
Sie durch können wir ein Programm zerquetschen. Oder wie auch immer Sie mit dem außergewöhnlichen Urlaub umgehen wollen, denn ich wollte wirklich das Programm in der Veranstaltung aus Felddatei-Upload
abstürzen. Wissen Sie, sie sind wahrscheinlich anmutiger mit dem Griff es, aber für nicht lustlos, dass so zurück in unserer Create-Komponente, ich brauche einen Anruf. Bevor ich also auf den Dienst zugreifen kann, muss
ich ihn zum Anfang über CS hinzufügen. Richtig? Das ist also ein Schritt, den ich immer zugeben muss, ich immer vergessen habe. Es ist also eine gute Praxis, die Zehe haben. Richtig? Also haben wir gerade einen neuen Service hinzugefügt. Also müssen wir die gesamte Anwendung wissen lassen, dass dieser Service für
Injektion unleserlich ist . Und so Datei-Upload. ich zum Schöpfer zurückgehe, muss
ich es einführen. Also ging ich raus, um zu sehen, ich Akte. Was habe ich mich qualifiziert? Hochladen direkt am. Dann nenne ich diesen Unterstrich. Datei aus Lord Rights meiner Abhängigkeit für Datei Upload auf, dann nicht hier oder so erstellen Sie Buch. Es ist zwischen dem Buch. Es sollte gehandhabt werden. Erstellen. Ich ließ mir diese Karte, Sohn von Nein. In Ordnung. Raster eins nach dem anderen loswerden. Alles klar, dann wird diese Zeile unterstrichen dunkel sagen,Datei
hochladen, Datei
hochladen, unterstrichen Datei-Upload-Punkte. Ein Profil beim Hochladen der Datei wartet auf die Datei. Richtig. Also, nachdem die ganze Aufregung das Feuer bekam, es in den Speicherstrom
geladen haben, haben wir hier abgelegt, richtig? Das ist also alles, was wir verraten, sowie der Name für das Bild, auf
dem wir gerade aufgebaut haben. Es heißt „Peak Name“. Alles klar, lassen Sie mich nur auf Dies ist eine synchrone Ich brauche unser Gewicht. In Ordnung. Vielleicht, wie Sie das etwas anders machen könnten, ist toe, wenn die Datei-Upload-Funktion fehlgeschlagen . Das heißt, du hättest es als Boolean tun können, ein Task Bulle. Und wenn er das Feuer bekam, dann war alles in Ordnung. Dann kehrte er zurück. Wahr, wenn er eine außergewöhnlich zurückgekehrt fällt und dann auf der Grundlage der oh, kommen aus, dass Sie eine Entscheidung, was für zu treffen? Über Sie geben
Sie Ihrem Benutzer oder starten Sie einen visuellen Cue geben, um an diesem Punkt zu verwenden. In Ordnung, also denke ich, wir haben einiges arbeitslos gemacht. Ich werde nur weitermachen und bauen und sicherstellen, dass alles noch tickt. Und wir haben Erfolg. Also lasst uns das für einen Spin nehmen, in Ordnung? Also, weil Sie die Einschränkungen aufgehoben und ging nach der Anmeldung als Zulassung, und wenn ich zu Büchern gehe, sehe
ich alle aus den Brötchen, die täglich nicht richtig jemand zu sehen bekommen, um voran zu gehen und klicken, Buch
erstellen. Also hier sind unsere Formulare, also werde ich nur einige Werte eingeben. Also dieses Buch, das ich erfahre, erinnere mich, dass wir keine Validierung ausgeführt haben, also müssen wir zurückgehen und einige Validierung einlegen. Aber jetzt
wollen wir einfach mit dem arbeiten, was wir haben. Es ist ein CR-Drop-down. Dies funktioniert für unsere Autoren, die den Autor bekommen, und dann wähle ich eine Datei aus, und ich habe gerade eine von meinem Desktop ausgewählt. Da gehen wir. Sagen
Sie, sehen Sie sich die kleine Vorschau an und lassen Sie uns sehen, was passiert, wenn wir Buch erstellen. Er geht direkt zurück zur Liste auf sie zeigt das Buch. In Ordnung, lassen Sie mich sehen, was aus meiner Sicht passiert. In Ordnung, also sehen wir das Buch, wir sehen den Preis an. Okay, Wir müssen einige Dinge hier und da auf formatieren Wenn ich auf Autor klicke, geht
es über Shows mit den Details des Autors und der Tatsache, dass das sein Buch ist. Also kommt alles gut zusammen. In Ordnung, also lassen wir unsere Bücher erschaffen. Und so das letzte, was ich tun möchte Nein, nur bei einigen Validierungen, obwohl Justin bemerkt, dass Sie einige Probleme mit dem Schreiben von Dateien haben können,
abhängig davon, wo Sie Zehe schreiben und die basierend auf der Erlaubnis, die Sie haben. In Ordnung. Also habe ich es auf einer Maschine ausprobiert, die ich nicht admin war oder keinen Lesezugriff oder keinen rechten Zugriff auf Zehe hatte. Es wurde also leere Dateien erstellt. Also, wenn Sie leere Feuer bekommen, können
es Ihre Berechtigungen sein, aber Sie können immer noch ihre Zeile fallen, wenn Sie Schwierigkeiten damit haben. Aber wenn du in diesem Stadium bist, dann können wir weitermachen. Dann ist das letzte, was wir wissen müssen, unsere Validierung Orbiter Notationen
für unser Modell zu überprüfen . Ordnung, InOrdnung,
also fügte das Buchmodell diese Datenpolitiker und mich hinzu, der Titel erforderte ich meine, das Eis wird benötigt. Ich meine, die Zusammenfassung beschränkt sich auf nicht mehr als eine von 10 50 Wörtern auf, Ich meine,
der Autor, den ich d benötigt. Der Grund, warum ich den Autor gemacht habe, den ich benötigt habe, ist, dass, obwohl ich
es habe, es nicht weiß. Aber in schier, wollte
ich. Also, während das FBI sagt, dass es keinen Autor braucht, werde
ich den Autor zwingen, denn dann will ich keine Probleme auf meiner Seite haben. Denken Sie also daran, dass wir die Lücke als weinender Entwickler im Vergleich zu einem Paar Entwickler überbrücken. Auf der Kundenseite können
wir unsere eigenen Regeln aufstellen, um unsere eigenen strengen Qualitäten durchzusetzen, bevor wir überhaupt zu den Regeln des
FBI über ihre Qualitäten kommen . Also hatte ich das Fragezeichen hier auf dem in den Median leichtgläubig,
was bedeutet, dass ich keinen Autor auswählen musste. Nun, ich habe es gerade abgenommen, und ich sehe, dass du am meisten einen Autor auswählst, wenn du meinen aufbrauchst. In Ordnung, das war's
also für die Theaternotizen auf dem Buch. Ich habe auch wieder zu meiner Create-Komponente verdoppelt und stellen Sie sicher, dass Sie einen Abschnitt für den Sommer hinzufügen. So sieht alles gleich aus, außer nirgendwo mit einem Eingabetextbereich. Also wissen wir, dass drei sogar Puts, die Sie kennen die für. Sie haben eine Eingangsnummer. Haben Sie Eingabetext, die ein Textfeld ist. Kein haben im politischen Bereich, das ist die große Box. Das ist beinahe eine Fahrt. Das Problem. Das wäre dann unsere Zusammenfassung. Wir haben die benutzerdefinierte Komponenteneingabedatei, die unseren Datei-Upload handhaben. Nein, wir dachten, das geht an. - Nicht. Sie können voran gehen und testen andere Szenarien, Sie wissen, Hochladen und vor Gericht unquote eingeladene Datei testen die verschiedenen Permutationen Sie können. Ich weiß, dass es Lücken in der Logik sind, oder? No eso Wenn Sie einige wenige frei erkennen können, um sie mit mir zu teilen und wir können durch sie
zusammen gehen .
54. Setup: Hey, Leute, willkommen in dieser Lektion. Wir werden die Bearbeitungsoperationen für unsere Bücher durchlaufen. Also war ich so aufgeregt, dass ich ohne dich losging. Zweite Pause und zieh es aus. Aber was ich bereits getan habe, war meine Bearbeitung zu erstellen. Stories sind konkurrierende Komponente innerhalb des Bücherordners. In Ordnung, auf. Dann ging ich voran und gab ihm seinen Weg, die Schrägstrich Bücher Schrägstrich bearbeiten Schrägstrich. Unter I d Parameter setze ich die Autorisierung nur für Administratorregeln auf. Dann habe ich das Buch-Repository importiert. Ich biete Repository- oder Datei-Upload aus dem Repository im Navigationsmanager an. Andi. Ich habe meinen Titel bearbeiten Buch, und ich setze in dieser horizontalen Regel auf Breakpoint und ich bin bereit zu gehen suchen. Und Paul nimmt das ab, und wenn du aufholst, kannst
du jetzt weitermachen. Ich möchte die Reden in einer Kombination off-court von unserer View-Seite auf unserem Create-Pitch erstellen. Richtig. Also fügte ich hinzu, löschen Sie Autoren, die es offenlegen. So haben wir leider bearbeiten, Web- oder Bearbeitungsseite aus der Seite Erstellen sowie die Ansicht genommen, Pete. Also gehe ich nur Stück für Stück. Nimm, was ich will. Das erste, was ich möchte, wäre dies, wenn Aussagen sich erinnern, dass wir in der Ansicht überprüft haben, ob der Wert außerhalb des Umfangs eingeladen wurde und wir eine Nachricht zeigen. In Ordnung, also will ich das. Also gehe ich eigentlich nur zum Zusammenbruch dieses Zusammenbruchs und ich werde alles
zwischen der if-Anweisung zu dieser ersten offenen Umarmung nehmen . Kopieren. Bringen Sie es über, um Einfügen darauf zu bearbeiten. Ich werde nur die geschweifte Klammer schließen. Beendet mit meiner Aufregung. Ich denke, ich habe meine Gerichtsblöcke gelöscht und wir haben hier nur meinen Kernblock eingefügt. In Ordnung, also haben wir unsere Überprüfung für den Parameter, und wir prüfen, ob das Modell sonst leer ist. Wenn keiner von ihnen wahr ist, dann wollen wir das Formular auf rendern. Diese Form wird so ziemlich aussehen wie Oh, es sah auf unserer Kreation, Pete. Also werde ich eigentlich nur da rüber gehen und du siehst, dass schon zusammengebrochen ist. Die erstellende Form, einige Anpassung, um alle aus diesem Akkord zu leihen, bringen Sie es über, und dann machen wir ein paar kleine Tweets, einige beginnen von oben und ich werde systematisch nach unten gehen. Einige Änderungen, die ich vornehmen möchte, wären, dass ich Hand-Update verwenden möchte oder nicht beim Erstellen . Also Griff Bit. Wir haben alle unsere Felder sind Autoren Knochen. Diese roten Linien bedeuten also, dass wir Repräsentation für sie auf das Formular setzen müssen. Richtig? Also in Bezug auf unser Bild, wir haben eine kleine Modifikation, die wir für mich hier brauchen. kommen wir zurück. Dies wird statt Buch erstellen,wird
es sagen, wird
es sagen, Änderungen aktuelle
senden und es wurden wieder gebucht, um Liste auf. Dann gehen wir weiter zu unseren Gerichten sind Cornel wird uns helfen, einige dieser roten Linien auf das erste, was wir wollen, in unserem Code ist über Parameter, richtig? So wie wir es im Ansichtsabschnitt oder in der Ansichtsseite getan haben, haben wir oder Parameter public I d string, wir werden String I d. Sorry, wir haben auch das Modell, und wir haben das auf initialisiert jagen jemanden zu leihen Sie alle von der Ansichtsseite auf Bringen Sie sie zu unseren Bearbeitungen. Ordnung, wir werden etwas Extra innerhalb der UNO initialisiert machen. Wir bekommen das Modell, ähm, den Modellrekord. Aber wir brauchen auch die Liste der Autoren, die ich nicht erstellt habe, oder? Also in der un initialize haben Sie den Autor etwas disportiert. Also, wie Sie sagen können, Ich bin nicht in der Stimmung sind aus, um Typ Anruf wieder, dass ich überall schon schreibt ich spreche nur das Beste von überall und bringen Sie es in, wie ich brauchte. Sehen Sie, hier in der Bar, diesem Land vor Gericht, haben
wir keine Autoren und offensichtlich muss ich die Variable klar sein. Aber wenn ich zurückgehe, um auf Blick innerhalb des Gerichtsblocks zu erstellen, dann würde ich sehen, dass ich eine Reihe von Variablen habe, die wie Variablen aussehen, die ich wirklich jedem Fall im Self-Editor
brauche, Alle Autoren, ich immer noch müssen meine Datei verfolgen und den Erfolg , verfolgen,usw. Ich habe eine zusätzliche, die ich einpacken werde. Aber ich kopiere diese einfach ab sofort. Und da ich wieder Buch habe, werde
ich einfach weitermachen und sauer, dann. Lose angebotene Zeilen verschwinden, da keine Variablen vorhanden sind. In Ordnung, also haben wir die Funktion Handle Updates. Also muss ich das auf der Hand implementieren, wenn auch der Art von erstellen sehr ähnlich aussehen wird. Wirklich? Also werde ich einfach wieder rüber gehen, um das zu erstellen, also habe ich es nur zusammengebrochen, also möchte ich das leihen, und ich werde es über und die Bearbeitung beschleunigen. Und dann ging ich, um den Namen zu ändern Griff das Es ist in Ordnung. Also ein wenig ändern Sie die Zeit, die innerhalb des Create on gemacht wurde. Mit der Erweiterung wäre
die Bearbeitung in Form dieser if-Anweisung. Also, wenn Sie versuchen, die Datei basierend auf dem Quartal, das Sie hatten, hochzuladen würden
Sie wahrscheinlich bekommen haben oder, na ja, wenn Sie versuchen, I record ohne Upload zu senden, würde
unser Wert wahrscheinlich haben einige Nein Ausnahmen. Und das liegt daran, dass wir hier eine Reihe von Dateioperationen haben, dass Randers nicht mehr ausgeführt wird ohne dass eine Datei vorhanden ist. Damit du den Namen nicht runterkriegen kannst. Ein Vater existiert nicht, also muss ich vor der Unterwerfung nachsehen. Wenn die Datei nicht auf bekannt ist, dann gehen wir vor und Teile aus den Details, dann laden Sie sie hoch, dann haben Sie die Änderung in das Feld auf. Dann drücken wir auf die Datenbank. Und wenn es keine Datei gibt, nun, wir drücken einfach auf die Datenbank. Wir müssen keine Dateioperationen durchführen, also meine ich diese Änderung an der Erstellungsoperation. Andi, wenn ich das einfach in den Bearbeitungsvorgang kopiere, richtig. Also handle update wird überprüfen, ob es eine Datei gibt, die entsprechend handelt. Wir brauchen eine Zurück zur Liste, also werde ich nur die Rückkehr zur Liste bekommen. Auch auf werde ich mit der Dateierweiterung umgehen müssen, weil Feuer Auswahl, Sir. Weil ich es Ihnen erlaube, das Buchbild in der Bearbeitung zu ändern. Also werde ich damit umgehen müssen, das scheint zu verstehen. Nehmen Sie beide diese auch an Ort und Stelle innerhalb des Gerichtsblocks auf der Bearbeitungsseite ab. Wenn ich wieder nach oben scrolle, sehe
ich das,
okay? Wenn ich wieder nach oben scrolle, sehe ich das, Es gibt keine roten Linien, also lasst uns wieder an der Spitze beginnen und eine Adresse runter gehen. Kleine Probleme sind Nuancen. Wissen Sie, dass wir es mit der Bearbeitung zu tun haben. Onda weder erstellt noch Ansicht. Also das erste Problem, dass ich, die auf mich springt. Und wieder einmal bedeutet
der Landwirt, dass wir die gleichen Felder für die verschiedenen Gegenstände haben, richtig? Also das Bild den ganzen Weg hier unten wurden Eingabedatei geboren. Und in unserem Abschnitt, wo wir überprüfen, ob es ein ungültiger Typ auf dem Display ist, eine Fehlermeldung, wenn es ist. Und dann sagen wir, wenn es etwas in den Daten, die Sie, Earl, oder denken Sie daran, dass der Beetle Euro gebildet wurde, weil was auch immer Datei ausgewählt wurde Parson Tau Bay 64 dann in Bild Data Girl. Also bekommen wir das Thumbnail. Das Problem hier in der Bearbeitung ist, dass dieses Gericht nur eine Datei anzeigt, die ausgewählt wurde . Wenn ich irgendetwas existiere, das bereits eine Datei hat und ich die Datei nicht ändere, okay? Ich habe nichts getan, um die Handle-Dateiauswahl auszulösen. Dann Bilddaten, die Sie sind, würden nie von Nein ändern, was es anfänglich ist. Richtig. Also, was ich tun möchte, ist das angezeigte Bild, das bereits in der Datenbank ist, das Modell Punktbild finanziert wird. Also werde ich nur diese if-Anweisung kopieren Nun, ich werde nur sagen, wenn in Ordnung, lassen Sie mich in die nächste Spur gehen, dann wird es eine ähnliche Überprüfung haben, um das zu sehen. Also möchte ich, dass eine Priorität auf dem Stil ist, der neu nach rechts ausgewählt wird. Aber wenn es keine neu ausgewählte Datei gibt
, möchte ich überprüfen, ob sich in den Datenbankberichten des Modells dieses Bildes eine Datei befindet. Also, wenn wollen eine Menge Bilder, nicht Schnee, sind Leerraum. Dann will ich die gleiche Art von den Dienstmädchen. Aber dieses Mal wird der Wert auf dem Weg aus sein. Uploads Schrägstrich auf, das Modell Startbild sein wird. In Ordnung, also haben wir ein Modell, nicht das Bild angezeigt wird. Wenn es kein neues Bild, nein, Wenn es ein neues Bild, wir brauchen einen Weg Zehe behandelt, dass auf. Was ich tun möchte, ist der LKW, wenn es eine Änderung in der Auswahl gegeben hat. Als ich also eine Änderung in dieser Wahl sagte, meine
ich nicht unbedingt, dass Sie in diesem Winter ein neues Bild ausgewählt haben. Ich bin weniger besorgt darüber, ob Sie ein neues Bild von dem, das bereits vorhanden ist,
oder irgendetwas anderes auswählen . Aber selbst wenn Sie gegangen sind, klicken
Sie auf die Datei wählen Sie das gleiche Bild ausgewählt. mich betrifft, war
das eine Veränderung im Bild. Also muss sich das Verhalten ändern, wo das bedeutet, dass, wenn du einreichst,
wenn es eine Änderung gab ich brauche alle, die vorher da war, und das neue einzufügen. Oder wenn Sie diese Änderung vorgenommen haben, wo Sie das Bild entfernen, um alle zusammen zu bekommen, muss
ich sicherstellen, dass ich das Bild aus der Aufzeichnung auf auch aus dem Feuersystem entfernt. Also werde ich hier eine neue Flagge einführen, die ich anrufen werde Ist Datei geändert? Ich werde diesen Zeh anfänglich initialisieren. Wenn Sie also eine Änderung an der Datei vornehmen oder die Ereignisse auslösen, die die
Dateiauswahl des Handles sagen , möchte
ich die Wahrheit senden, denn soweit es mich betrifft, habe ich eine Änderung passiert. Also innerhalb der Handle-Auswahl werde ich nur sagen, dass Dateiänderung gleich wahr ist. In Ordnung, also wissen Sie, dass wir den Zustand außerhalb der Auswahl verfolgen, zumindest wenn er geändert wird,
ist es nicht, wenn es am Tag hier kommt, etwas passiert. Mir noch einmal ist es egal, ob es Nein ist
, nicht. Nein, etwas hat sich geändert. Also ja, etwas hat sich geändert. Also zum Zeitpunkt der Abwicklung des Updates brauchen wir Zehe. Mach etwas anders mit einem. Wenn die Datei nicht gleich Nolan ist der einzige Weg, wenn ich nicht gleich Wissen wäre, wenn eine neue Datei ausgewählt wurde. Richtig. Also an dieser Stelle brauche
ich Kälte, die zu entfernen wird und ich werde nur einen Kommentar hier setzen. Entfernen Sie das alte Bild Onda laden Sie das neue schreibt. Ich werde auch eine weitere Überprüfung einführen, um zu sehen, ob unsere andere, ob diese Datei geändert wurde, wahr ist. Also ändern Sie die Datei. Eine Änderung des Zustands des Kämpfers hat etwas getan, um mit den Dateien Auswahl Boote zu interagieren. Es gibt keine Datei auf Feuer ist äquivalent zu wissen, richtig? Das bedeutet, dass deine Kette etwas ist, aber es gibt kein Feuer im System. Dann muss ich einfach das alte Bild entfernen. Ich werde auch das Modellpunktbild so einstellen müssen, dass es nichts String so leer weil es keinen Sinn ergibt. Ich verweise auf ein Bild, das nicht irgendwo existiert, um es zu aktualisieren, um zu sagen, dass es kein Bild als Referenz gibt. Wenn der Dateistatus auf dem Feuer geändert wurde, ist Äquivalenz und Nein. Diese beiden Blöcke haben also dasselbe gemeinsam. Wir müssen die alten Bilder entfernen. Also werden wir in unseren Datei-Upload gehen, Vertrag und Implementierung, und Sie können 3. und ich nenne diese Methode public void. Datei entfernen. Ich mache es als Vorstand, weil wir nichts tun werden, ist synchron da drin. Also muss ich keine Aufgabe sein. Ich werde nur die Datei entfernen und alles, was ich brauche, ist String, Pick Name. Wie lautet der Name aus dem Bild, den ich entfernen sollte? Also in der konkreten Klasse werde
ich nur die Schnittstelle implementieren und die neuen Methoden stoppen
lassen. Das wird wirklich unsere andere einfache Operation sein. Ich werde einen Teil bauen, damit Sie vielleicht einen statischen Parklike
mit dem FBI überlegen wollen. Wir können einen statischen Pfad für mehr als fünf Bührle suchen. So oder so, wir bauen unseren Pfad, wo wir den gleichen Pfad bekommen, wo wir wissen, dass alle Dateien
gespeichert werden . Alles klar, und wir bekommen den Namen „ Toe la Chon“. Dann werde ich sagen, ob die angedockte Datei existiert, weil ich nicht versuchen werde,
etwas zu löschen , das nicht existiert. Also bin ich nur daran interessiert, wenn es existiert, dann möchte ich nur eine Datei sagen, die aus diesem Pfad gelöscht wird. In Ordnung, also ist die Datei da, dann löschen Sie sie. Also, das ist alles entfernen Datei wird für uns tun. Also zurück in unserer Bearbeitung, was ich sagen werde, sind die Bilder der Virenentfernung. Also wurde eine Akte eingegeben, und ich bin nicht wieder, ich kenne unser Heilmittel nicht. Wenn es das gleiche Bild, das sie wollten und wieder ausgewählt, Ich bekomme die Erweiterung, Generierung eines neuen I d. Beobachten sie zusammen für einen Bildnamen auf, dass ich auf der Partiturdatei sehen werde, Upload Docks auf, dann wird es sagen, Datei entfernen auf. Ich bin vorbei, Modell angedockt emittiert. Ich entferne die Datei, die bereits da ist, die in der Datenbank gespeichert ist. Und dann, nachdem ich das erfolgreich entfernt habe, können wir voran gehen und das neue hochladen. Ebenso, wenn der Feuerstatus geändert wurde und keine Datei vorhanden ist, dann werde ich voran gehen und einfach die Datei entfernen und den Wert auf nichts aktualisieren. Dann gehen Sie voran und nicht erstellen, sondern aus Biggs und dann, wenn auch unsere Bücher Endpunkte das Modell sowie das Modell Darts. Ich d. in Ordnung. In Ordnung. Also, kleines Steak, dieses Gericht für einen Spins, verstehen Sie den Klickstart. Alles klar
, in unserer Buchliste gehe
ich einfach weiter und klicke auf „Bearbeiten“. Wir sehen, dass unsere Broschüre unsere Daten erfolgreich vorgeladen hat. Ich werde es einen Preis auf durch eine Zusammenfassung auch Buch geben. Alles klar, und dann sehen wir hier haben wir unsere Vorschau. Also lassen Sie uns testen, diese Bildrechte zu ändern, verstehen? Gehen Sie voran und wählen Sie Datei. In Ordnung, auf. Ich werde auch den Namen von diesem Buch ändern. Jemand zum Anrufen, es ist vielleicht s b f S B A p I, def. In Ordnung. Etwas, das etwas eingängiges ist. Blockieren Sie vor Gericht als das Bild auf. Ich werde die Änderungen einreichen. Also werde ich auch die ändern, so dass wir so viele Änderungen sehen können, wie wir brauchen. Und dann ändert sich etwas und wir sehen, wo wir zurückkommen oder ein neues Buch mit unserem Titel ändern den neuen Preis. Der Autor hat alle wunderbaren Änderungen geändert, die wir vorgenommen haben. Wenn ich sehe, sehen
wir, dass alles auftaucht. Nun, wenn Sie alles verfolgt haben, was ich bis zu diesem Punkt getan habe, könnte
es in einen Fehler geraten sein, denn als ich bis zu diesem Punkt aufstand und ich es
zunächst versuchte , hatte
ich das Zitat unquotiert rufen Sie das FBI Team auf. Lassen Sie sie wissen, dass ich alle Regeln befolgt habe, die die Daten über die Daten des Autors übermittelt haben. Hat nicht richtig über auf der SB in der Tat gehen, und nicht über richtig. So vorgab, das Team zu sein, zumindest ging ich in I D Board und schaute zurück auf mein Buch bto für meinen Job Es auf. Ich erkannte, dass in Ordnung, mein I S b und Field tatsächlich fehlte, sowie mein Autor fühlt Autorenideen. Also, wenn du die beiden nicht reingesteckt hast, dann steckst du sie rein. Also der Punkt ist, dass, wenn Sie die Regeln auf der Client-Seite zu entwickeln, selbst das FBI ist nicht bereit, zu kratzen. Sie müssen sich wenden, um zu unterstützen. Oder wenn Sie beide Seiten tun, dann wissen Sie, dass Sie aufmerksam auf diese sein müssen, dass die Dinge, die kleinen Fehler wie diese werden Sie zu glauben, dass Ihr Kunde das Problem hat wenn es tatsächlich so ist Das FBI wurde eingerichtet. Also zeige ich nur, dass alle,
auch, auch, weil es eine Lernerfahrung für uns alle ist und wollen, um daraus kommen, vorbereitet für jede kleine Situation. Ungeachtet dieser Herausforderungen stellen
wir fest, dass unser Aktualisierungsvorgang erwartungsgemäß funktioniert hat. Es entfernte die alten Dateien für jeden Upload und legte in der neuen Datei auf Abated den
Datenbank-Datensatz auf Wenn wir zurückkommen, werden
wir uns tun Löschungen
55. Entwerfen des Buches: Hey, Leute, wir sind wieder da. Und heute haben wir es mit dem Löschen eines Buchdatensatzes zu tun. Es tut mir leid, dass ich so aufgeregt war, dass ich nicht zu Jungs gegangen bin. Aber ich werde dich durch alles führen, weil du dann merkst, dass genau wie ich es
für einige der anderen Komponenten getan habe ,
alles, was es wirklich war, die besten Teile aus Gold von anderswo kopieren und einfügen und
sie dann zusammen drücken , wie ich brauche Sie hier. Also beginnen wir, indem wir der Seite einen Pfad geben. Bücher Schrägstrich löschen Ideen sind Parameter oder Autor als Attribute. Und dann sind wir in Jake. Unsere Dienstleistungen sind aus dem Buchbericht. Der Navigations-Manager, Andy s das Datei-Upload-Repository. Denn wenn wir einen Datensatz aus der Datenbank löschen, möchte
ich auch die Datei vom Server löschen. Ich möchte den Datensatz nicht entfernen und die Datei in Ordnung halten. Nur im schlimmsten wird Trägheit, die je passiert ist. Aber das sollte nicht die normale Operation sein. Also, wenn du auf meiner Straße unterwegs
bist, sagt: Bist du sicher, dass du diesen Datensatz löschen willst? Andi,
Ich habe, dass H r und B sind nur für das Styling, aber wenn wir auf die wesentlichen Fixes gehen. Wir stellen sicher, dass es jedes Stück mit denen normalisiert ist, die ich meine East Erfolg Check auf, die von Well
kommt , es auf auch erstellen. Na gut, dann. Ich habe die Überprüfung für den Parameter die Modelldaten. Andi, die Aussicht. So ziemlich ich ging rüber, um den Rasierer zu sehen, und ich nahm diesen ganzen Kernblock, richtig. Dieser gesamte Gerichtsblock ist, was ich innerhalb dieser Löschseite verwendet habe, weil wir
alle Details aus dem Datensatz teilen , dass die Person ein Boto ist zu löschen. Wir warten gleich auf ihre Bestätigung. Dann am Ende all das,
ich habe zwei Tasten, eine, die sagt löschen Nun,
eine, die ein unclipped, das sagt Löschen Buch und das Texas the Lead Buch, sowie eine, um zurück zu der Liste im Gerichtsblock zu gehen. Wir haben eine Kontrolle über den Umkreis des Krieges. Wir initialisieren unser Modell auf Wir sind geboren eine Erfolgsflagge auf, dann un initialisiert. Wir bekommen die indigente Version vom Perimeter-Wert auf, dann analysieren wir sie im Schlepptau. Das Modell, das später unsere Seite füllt, wie wir wissen, habe ich meinen Leet Book-Operator
, der so ziemlich nur den Datei-Zyklus-Datei-Upload verursacht haben, entfernen Sie die Datei Vergangenheit im Modell Punkt Bild auf, dass das Bild von der höheren Entdeckung sah in unserem es es auf. Dann haben wir unseren Erfolg, die Ergebnisse des Berichts warten wird, der glaubt, dass der Endpunkt der Bücher auf dem I d off the record on on. Dann, wenn sein Erfolg, dann gehen wir gleich zurück zur Liste. Und dann habe ich meine Schlacht ist operieren Funktion hier wird durch die Taste
sowie diesen Erfolgsstick aufgerufen . Also weiß ich, dass dieser ziemlich schnell vorbeigegangen ist. Aber wie Sie sehen können, ist
es nicht viel Arbeit, weil, na ja, die Mehrheit davon ist die Schnittstelle auf all dem kam aus der Sicht, richtig? Offen gesagt, all dies kam von dem, was dies kam, erstellt als auch bearbeiten. Dies kam von den View-Komponenten Onda. Nun, die Buttons kommen sowieso von überall, also der Rial einzige Unterschied zwischen dieser Seite und anderen Seiten, die wir getan haben, wäre unser Löschvorgang, wo wir sicherstellen, dass wir die Datei Überprüfen Sie, ob es erfolgreich ist, dann handeln Sie entsprechend. Also lassen Sie uns dieses für einen Spin sagen. Ordnung, also zurück in Ihrer Buchliste, werde
ich voran gehen und die Leeds, SB oder SP buchen jemanden, der die erste Woche übertrifft. Wir zeigen die Details an. In Ordnung. Ich habe gesehen, wie sie irgendwie eingestuft sind. Das ist also die Ausschaltfunktion, die Eins und Zehe erwartet. Die Tatsache, dass wir mit dem Modell treten oder etwas anderes machen, ist leer. Denn wenn es keine Daten gab, sehen
wir die keine Datenbildschirme und dann alles, was in ausgelöst hat, will über
dort datieren . Also, das ist wirklich cool. Jedes Loch, das wir voran gehen und glauben, Buch über. Wir sehen, dass es funktioniert. Ausgezeichnet. Verwenden Sie dies nur zu verstehen, um in den Lösungs-Explorer zu gehen und die W W Wurzeln Onda die Opern voll zu bringen. Und wir sehen hier, wir haben nur ein Bild. Wir haben also zwei Bücher mit zwei verschiedenen Bildern. Wir löschen es einfach einmal und wir haben ein Bild. Das bedeutet also, dass unser Abschiedsgericht in der Tat funktioniert. Das ist es also für unseren Löschvorgang. Wenn Sie in irgendwelche Schwierigkeiten laufen,
wie immer, wie immer, fühlen Sie sich frei Zehe, lassen Sie es mich wissen. Als nächstes werden wir einige wesentliche Korrekturen durchlaufen und wir werden uns Implementierung eines Benachrichtigungsmechanismus in unserer Anwendung beschäftigen, während wir unsere verschiedenen
Operationen und Aufgaben durchlaufen .
56. Wesentliche Layout und Ergänzungen: Hey, Jungs, willkommen zurück in diesem Video Anpassung, um unsere Schnittstelle zu überprüfen, zu
sehen, ob es irgendwelche Änderungen, die wir brauchen, um auf wohnen Überprüfung Modifikationen, die ich aus der Kamera gemacht
habe, sowie implementieren Sie diese Benachrichtigung Bibliothek namens Toast. Alles klar, nur
um zurück zu den Büchern zu gehen, was ich getan habe, ist, durch jede Ansicht zu gehen und dafür zu sorgen, dass ich diese horizontale Regel
sowie die Pause auf dem Wasser, die ein Titel da war. Ich fügte auch die Preisspalte zum Index auf die geben den Preis hier an, wo ich
die Zeichenfolge formatiert habe , um mehr wie Währungsschreibung zu sehen, denken Sie daran, dass es eine Dezimalstelle ist,
weshalb, wenn Sie $50 eingeben, um jemanden zu Dezimalstellen zu bekommen oder es einfach formatiert sieht
es aus wie 50 auf dann aus natürlich, das ehemalige Ding erstreckt sich über die Ansichtsseite, wo wir die $50 jetzt bekommen. Der Grund, warum das so falsch ausgerichtet ist, ist das an? Wenn ich nur Element auf zeigen Sie inspizieren möchte, wie das aussieht, wenn Sie sehen würden, dass der Preis tatsächlich auf der H Straße abgeschaltet ist. Schleppen auf es ist zentriert ausgerichtet, aber dann die Ausrichtung der Bilder aus und vielleicht wegen der Abmessungen aus dem Bild und so. Also meine ich diese Dinger, du kannst wahrscheinlich alt arbeiten. Ich verbringe nicht viel Zeit damit, das zu beheben und es in Einklang zu bringen. Was zeigt Ihnen, warum Es etwas falsch ausgerichtet aussieht, so dass, wenn Sie wollen, können
Sie sich bemühen, das jetzt wieder im Gericht zu beheben, und ich zeige nur die Indexrede. Hier ist, wo ich diese String-Formatierung gemacht habe, richtig? Also sagte ich String-Punkt-Format auf. Dann setze ich in die Form, dass ich will, dass die Variablen von Null ein Ort ist, weit vor der Variablen auf dann die vier Martinis Währung, richtig? Also, sobald es bläst erreichbar für Monate Schreibtisch Währung auf. Deshalb sehen wir das als Display. So ziemlich habe ich das überall gemacht, dass der Preis wieder auf den Bildschirm gedruckt wurde. Früher habe ich Punktformat auf der Währung sitzen String. Jetzt habe ich gesagt, dass wir einen Benachrichtigungsmechanismus für Blazer installieren würden, also lassen Sie uns irgendwo hineingehen, um zu meinem Paketmanager zu gehen. Ich werde dieses Paket namens Blazer Dot Toast installieren. Also, wenn ich hier
bin, kann ich voran gehen und seinen Blizzard-Doc Toast installieren. Das kommt von den gleichen Typen, die uns die Bibliothek für unser lokales Lager geben. Sie haben also einige wirklich coole Bibliothekssequituren, die einen Blazer eingeben. Siehst du das? Sie haben Modell, sie haben eine Art von Kopf. Sie haben einige andere coole Bibliotheken, die Sie erkunden und implementieren können. Darauf ist eine gut dokumentierte Bibliothek. Der nächste Schritt nach dem Erhalten des Pakets ist es, es in unserem Start zu registrieren, dass CS. Also gehen wir einfach runter, um zu beginnen, dass Sears Onda es anbringt. So haben Sie den Schneesturm. Lokale Lagerung ist nur an diesem Blazer Toast. Und dann müssen wir eine Bibliothek einschließen, um dies zu erkennen. Und dann, wenn das getan ist, dann müssen wir die Bibliotheken im Schlepptau importieren. Unsere Bäuche sind auf, so dass wir zurück in Lösungsexperten gehen, um Importe auf. Dann werde ich nur noch eine Studie direkt unter der Eingabedatei Blazer Dot Toast auf
Blizzard hinzufügen . Das ist Toast, der diente. Richtig. Also, nachdem sie diesen Stuhl importiert haben, , können
sie immer einfach pausieren,wenn ich mich umziehe, bewege
ich mich schnell. Also wussten die Spas nicht, was Sie ausschalten müssen. Dann, nachdem wir sie auf importiert haben, können
Sie einfach weiter anbraten, wie Sie weitergehen. Wir werden in die Hauptlayouts gehen auf dann in den mittleren Schichten gingen Zehe neue
Komponenten hinzufügen . Und ich werde das einfach ganz oben setzen, sogar über dem Liebesmenü. Und ich nenne es Blaze. Irrte Toasts. In Ordnung, also das ist Ah, spezialisierte Komponente, die wir gerade importiert haben, um in unserem Blazer verwendet zu werden. In Ordnung, also haben wir noch eine Sache zu tun. Ich meine, es gibt einige Schritte. Ich stelle nur sicher, dass die Einzelteile sie sake und sehen, wie sie alle zusammenkommen. Also in der Host-Datei werde
ich ein Stylesheet hinzufügen. Also die Referenz, die das Stylesheet wird auf dem Slash Blazer Punkt Toast Slash Blazer sein, der Strich Toast Punkt CSS und das ist ein Versteck es. In Ordnung. Also fügen wir einfach hinzu, dass ich nur die Bedrohungen auf den Booster stelle, weil es Dinge
aus dem Bootstrap erbt , um diese Angelegenheit jetzt zu bestellen, ist die
Verwendung dieses Dienstes relativ einfach, ist die
Verwendung dieses Dienstes relativ einfach,
also werde ich einen von der Seite heraufbringen. Ist das auf Operationen ausgeführt, und lassen Sie uns versuchen, erstellen. Jemand erschafft. Legen Sie es auf den Create-Autor. Gleich drauf. Dann auf dem hier, werde
ich zu injizieren sehen. Ich Toast Service Ursache Dienst. In Ordnung,
nun, nun, lassen Sie mich meine Konvention konsistent halten. Und wir unter Scorchers Toastdienst. Also injizieren wir und dann aus. Was? Sie müssen nichts importieren, weil ich die Importe bereits in der Import-Start-Razor-Datei durchgeführt habe. Sobald wir unseren Toast-Service haben, können
wir es wissen. Rufen Sie es an, wann immer wir eine Benachrichtigung senden möchten. Also werde ich innerlich den Erfolgsteil für oder Autorenschaffung tun. Ich werde sagen, dass ich Toast-Service-Docks will, und dann möchte ich Erfolg zeigen. Schau dir das an, damit ich Erfolg zeigen kann. Dann werde ich ihm eine Nachricht geben. Also ging ich zu sehen, Autor erstellt Erfolg voll. In Ordnung, also haben wir darüber gesprochen, unsere benutzerdefinierten Komponenten mit Fehlermeldungen einzurichten. Wenn es also ist, dass Sie vielleicht ein Tool anzeigen möchten, da es diese
Fehlermeldung anzeigt , wenn nicht Erfolg, dann könnten Sie wahrscheinlich auf, wenn auf das und sonst und sagen Toast-Service, dass ich
sicher bin , dass sie etwas dafür. So haben Sie Erfolg in vier Fehlerwarnungen auf Dwell geworfen. Ich bekomme Geschäfte ist nur eine primäre Andi Well in für wäre wie blau. So kann er eine Parallele zwischen den Hinweisen anbieten. Hier sind die Namen auf den Klassen, die von Bootstrap kommen, richtig. Jemand, der diese Show Routine macht. Erfolgreicher Autor erstellt Andi. Ich werde das nur testen. Also werde ich einen vor der Kamera machen. Wir werden eins gemeinsam machen, dann will ich dich herausfordern. Zehe Machen Sie andere in anderen Teilen Ihrer Schnur auf. Ich werde auch andere Teile vom Kabel aktualisieren. In Ordnung, also lasst uns das alte von meiner Autorenliste testen. Ich gehe rüber, um Autorin zu schaffen, und habe eine neue Autorin, Claudine Williams und ihre Biografien, dass sie sehr beredt ist. Ich gehe voran und erstellen Autor, und dann sehen wir unsere Benachrichtigung Erfolgsautor erfolgreich erstellt. Also war da dran. Hier ist eine kleine Sache, die ich vielleicht verpasst haben, was ich verpasst habe. Ich brauche einen Haltepunkt zwischen der Schaltfläche und dem Tisch. Also werde ich das einfach tun. Nein, dafür ist dieses wichtige Fixes Video, richtig? Also lassen Sie mich das einfach schnell reinziehen. In Ordnung? Also habe ich das einfach reingesteckt. Ich habe nur den Bruchpunkt unter die, aber am Ende Erfahrung, das ist ein Mann der denkt. Ich werde keine Zeit damit verbringen, das zu tun. Aber wenn der Fokus auf dieser Tour, so dass diese Nachricht eingestellt werden kann. Aber wenn ich dann Komma sage, können
wir ihm auch eine Überschrift geben. Also hast du das gesehen? Es sagte Erfolg, oder? Wir können ihm tatsächlich eine benutzerdefinierte Überschrift geben, wenn wir wollen, dass wir das Leerzeichen setzen. So wird das Wort Nachfolger und kommen über die Benachrichtigung selbst kommen, um zu sagen, dass dies erfolgreich
getan wurde . Also, was ich Sie an dieser Stelle herausfordern kann, gehen Sie
einfach durch die verschiedenen Operationen und setzen Sie entsprechende Benachrichtigungen mit den Eingabeaufforderungsfarben. Denken Sie daran, dass voller verschiedene Dinge oder Erfolge vorschlagen. Grüne Warnung bedeutet, dass etwas schief gelaufen ist. Oder es könnte einfach das Farbschema sein, mit dem Sie arbeiten. Andi, du kannst ein bisschen Spaß mit diesen Benachrichtigungen haben, die ich durchgehe und meine eigenen aktualisiere. In Ordnung. Also andere Modifikationen, die ich innerhalb des Ansichtsabschnitts vorgenommen habe, würden umfassen, dass ich
eine Schaltfläche pro gut für etwa in vier verschiedenen Operationen auf jeder wichtigen Löschtaste in
und nach oben setze eine Schaltfläche pro gut für etwa in vier verschiedenen Operationen auf jeder wichtigen Löschtaste in . Wir haben den Zurück zu diesem Button bereits. Ich ändere die Klasse von der Warnlinie und den Gefahrenumriss, zusammen mit einigen Symbolen der Bleistift und der Kreis exportieren das Löschen auf die Würfel auch sicherstellen die Klick-Ereignisse
enthalten, wo sie auf die jeweilige Seite mit dem i d navigieren. Ich komme aus unserer Sicht zurück. Das habe ich in beiden Autoren auf Büchern gemacht. Andi richten Sie sie so ein, dass Sie durchgehen und
einrichten können, was auch immer die Benachrichtigungen Sie wollen. Sie können, wissen
Sie, Fichte der Schnittstelle ein wenig auf. Während ich dir eine Idee gegeben habe, bin
ich daran interessiert zu sehen, was du mit Onda damals am Tag ausgedacht hast. Ich hoffe, Sie haben am Ende eine schöne Schnittstelle. Im nächsten Video werden
wir einfach alles überprüfen, was wir in diesem Abschnitt getan haben, und dann überprüfen Sie unsere Änderungen,
um um
57. Änderungen in GitHub: Ihr Jungs. Willkommen zurück. Dies ist unser Kundenrezensionsvideo auf Dime nur in Sie. Geben Sie keine hochrangige Zusammenfassung von dem, was wir in diesem ganzen 61 für Bücher getan haben. Also haben Sie es mit Büchern zu tun, aber Details gehen zurück zum Autor, um mit einigen Dingen zu sein und sogar zurück zum FBI, weil es Lücken von vorher an gab, wo man sie beheben konnte. Also beim FBI mussten
wir unser Buch GTO aktualisieren, um sicherzustellen, dass wir das Gefühl hatten, die Übertragung
über das Rohr in unserem Rücken zu unterstützen . In unserem Interface. Weißt
du, warum haben wir einiges getan? Wir haben unser Buchmodell toe aktualisiert, haben einige Datenanmerkungen, um sicherzustellen, dass das Formular die richtigen Daten sammelt. Dementsprechend richten
wir alle unsere Crowd-Komponenten für unsere Bücher ein. Andi, es muss immer ein paar Dinge in der Autorenabteilung reparieren. Außerdem sind
wir auch durchgegangen, und wir haben einige neue Dienste mit der Form des Buch-Repositorys sowie einer Datei erstellt. Lade ihre Körperhaltung hoch. Also, nein, wir behandeln Dateien auf dem System wieder an. Wenn Sie Schwierigkeiten damit haben, haben
Sie möglicherweise einige Berechtigungsprobleme auf dem Computer, den Sie verwenden, damit Sie die Zehe suchen
,
diese korrigieren können , oder, wissen
Sie, kontaktieren Sie mich, wenn überhaupt. Aber wir haben in diesem Abschnitt ziemlich viel Arbeit geleistet. Und nein, wir wollen nur in unserem Gericht überprüfen, um sicherzustellen, dass es schön und sicher ist. Also wie üblich, klicken
wir einfach mit der rechten Maustaste, gehen Sie zu begehen. Dann setzen wir unsere Botschaft ein, um sicherzustellen, dass wir uns an alles erinnern, was wir bereits verwendet haben. Haben Sie eine Idee. Gehen Sie weiter und begehen Sie alles und sehen Sie auf, das ist es für diese sechs auf.
58. Einführung von Blazor WebAssembly: Hey, Leute, willkommen zurück. Also werden wir unsere Entwicklungsreise fortsetzen. Wir haben uns bereits angesehen, wie wir unser Web erstellen. AP Ich verwende dot net core 3.1. Wir haben uns angesehen, wie wir dann beide einen Blazer schaffen können. Nein, wir werden uns einen Blazer mit Montage anschauen. Also, bis jetzt haben wir Blazer Server unter Nein verwendet, wir werden Blazer mit Assembly betrachten. Nein, Justin stellt fest, dass es einige Unterschiede zwischen der Webassemblierungsvorlage in der Bill Blazer-Servervorlage gibt. Also anstatt zu versuchen, von einem zum anderen zu konvertieren, was ich tun werde, ist ein neues Projekt auf dann erstellen. Wir haben schon viel vom Platz geschrieben. Eine Menge Gericht ist eigentlich sehr übertragbar zwischen den beiden Vorlagen, Aber dann werden wir immer noch einen Blick auf kommen einige von den Unterschiede auf
Nuancen zwischen den beiden schätzen . Also mit dem besagten, lasst uns anfangen. Also gehe ich zurück ins Visual Studio und dann werde ich weitermachen und ein neues Projekt erstellen . Also habe ich bereits zwei Projekte in unserer Lösung. Ob das FBI-Projekt und wir haben unsere Buchhandlung. Sie y Projekt, das ist unser Blazer Server up. Jemand, der einen Blazer Web Assembly erstellt, und dann werden wir nur das ganze Wochenende sehen. Sie übertragen den Kern zwischen, also werde ich voran gehen. Nehmen Sie die Lösung auf. Klicken Sie auf Neues Projekt. Wählt die Blazer-Up-Vorlage auf aus. Dann gebe ich Ihnen den Namen Buchhandlung. Halten Sie es konsistent. Buchhandlung Armaturenbrett. Sie I dots w a s m so dumm A S M Das ist
die Abkürzung bedeutet Web Assembly oder es ist ah, wissen
Sie, kurz. Nun sehen Web-Assembly auf, dann werde ich voran und erstellen Nein. Als wir an diesem Punkt früher in den Lektionen waren, wo Assembly tatsächlich in der Vorschau war. Also nein, es ist in der Vollversion. Ich möchte es in diesem Kurs zeigen. Es wurde also endlich veröffentlicht, und es ist keine Produktion bereit, und dann werden wir es für unsere Anwendung verwenden. Nein, an dieser Stelle möchte
ich mir die Zeit nehmen, um ein paar Dinge hervorzuheben. Eines, wenn wir Blazer wählen, Web-Assembly up, wir bekommen einige verschiedene Optionen. Und was wir hatten, als wir uns für Blazer Server entschieden haben. Also in re klicken, die Montage nach oben haben. Wir wissen, dass es zwei Möglichkeiten gibt. Wir können es eine progressive Web-Anwendung sowie eine sp dot net core Pferde Anwendung machen? Nein, die Relevanz davon ist, dass Webassembly tatsächlich ein Stück von der Kante ist, das
direkt in den Bezirken ausgeführt wird. Wenn Sie also eine Anwendung erstellen, die auf Web-Assembly basiert, wird
der Broza tatsächlich alle Inhalte laden Alle von der Ressource wird benötigt ,
damit
dies ausgeführt wird, wird alles in den Browser geladen und dies wird von des Bruders. Äh, in Ordnung. Ein
hochgefahrener Server muss jedoch tatsächlich auf einem Server wie Internetinformationsdienste bereitgestellt werden. I s r jede andere kompatible Swept Server, genau wie alle anderen Websites. Also wieder, die Blaze und Web-Assembly wird tatsächlich direkt aus dem Browser ausgeführt. Nun, wenn wir die sp dot net core gehostete Option wählen, was wir bekommen werden, ist drei zusätzliche Projekte erhalten
einen Client, ein Projekt, ein Server-Projekt sowie eine gemeinsame Bibliothek. Nun wird
die gemeinsam genutzte Bibliothek als Mittelweg zwischen dem Server und den Ansprüchen dienen. Wissen Sie, in den Klassen oder Modellklassen. Das wäre, wissen
Sie, gemeinsam zwischen den beiden würde irgendwie in der gemeinsamen gehen. Was passiert, ist, dass der Client über einen P I-Aufruf mit dem Server verbindet, so dass der Server in der Lage sein könnte, komplexe Geschäftslogik auf zu behandeln Wissen Sie, wenn Sie direkt mit der Datenbank sprechen möchten, können Sie eine vollständige aktuelle von Baser, als Sie wahrscheinlich mit ihm den Punktnetzkern gehen möchten, so dass der Server genau das tun
würde, was wir damals in unserem Server gemacht haben. Der Client verwendet nur einen Paargrund, um mit dem Server zu sprechen. Nein, ich weiß, dass es schwer zu visualisieren ist. Es kann wahrscheinlich experimentieren, und Sie können eine erstellen, die auf einem Kern gehostet wird, der nicht für die Nähe ist. Es wird mit einer gehen, die nicht Kern gehostet, weil wir bereits auf einem p I haben. Also brauche ich nicht toe. Haben Sie einen anderen Server bis Taconic zum FBI für den Client, nachdem dann mit dem Server
nach rechts verbinden , So dass Sie nicht situativ e. Sie können eine wählen, aber nicht die anderen. in dieser Situation und will keine Core-gehostete Option wählen. Nein, die progressive Webanwendung, wenn Sie denken, dass sie bestimmte Bibliotheken enthalten wird, diese Anwendung tatsächlich wie eine eigenständige Anwendung sein. Standalone bedeutet also, dass Sie die Anwendung auf Ihrem Gerät mit
seinem Handy oder Windows mündlich nicht kennen können, und es wird direkt von Ihrem Computer ausgeführt. Es wird auch auf unserem Fliegen mehr jetzt unterstützen, mit all dem sagte, Ich werde Web-Assembly wählen, wählen Sie progressive Web-Anwendung. Andi,
Ich werde keine Authentifizierung oder irgendetwas anderes wählen, aber ich werde voran gehen und klicken erstellt. In Ordnung, also wissen Sie, dass wir diese Anwendung erstellt haben. Werfen wir einen Blick auf, was wir hier haben, also werde ich nur die Server-Anwendung erweitern. Onda. Wir werden nur vergleichen, welche Dateien wir in beiden Vorlagen haben. In Ordnung, also haben wir unsere www Routenordner gemeinsam. Aber dann, wenn Sie einen Blick werfen, sehen
Sie, dass das, was bekommen würde, eine Art anderes CSS Live ist. Wir haben die Uploads für unsere Anwendung hinzugefügt und erhalten ein Fünf-Symbol. Ich höre nicht,
dass Sie in einigen Beispieldaten kommen, weil das aus der Probe ein Template-Zeug ist. Das ist also wirklich nicht nötig. haben wir. RCs ist voll eingeschaltet. Dann haben wir einige Addition aus, die hier nicht wie die Indexdatei vorhanden sind. Diese Indexdatei ersetzt also die Datei wirklich. Alles klar, also kommt der Server mit der Hostdatei. Unsere Web-Assembly wird mit der Indexdatei geliefert. In Ordnung, dann haben
wir ein Manifest, dass Jason, das ist wie ein Register für alle Details aus dem Internet. Montage nach oben. Also der Name aus der Anwendung auf Kennen Sie andere statische Daten, bei denen die Symbole
usw. sind ? All diese Dinge gehen vom Manifest rein. Starten Sie Jason. Und dann haben wir den Service-Worker Js
, der ziemlich schulisch ist, um diese progressive Web-Up-Option zu unterstützen. In Ordnung, dann haben wir Seiten, Reden bleiben ziemlich temperamentvoll. Das Gleiche. Außer wir haben noch einmal nicht diese Hostpunkt-CS-HTML-Datei. Dann, wenn wir in geteilt schauen, sehen
wir die gleichen Dinge auf Importe und erhöhen nicht ihre Alle von denen bleiben ziemlich gleich. Aber dann beachten Sie, dass wir Programm haben, nicht CS im Server auf. Dann haben wir nicht CS starten, die Standard und Standard in der Web-Assembly kommt. Es kommt nicht mit zwei Dateien jetzt. Das heißt, Sie können diesen Zehe tatsächlich verlängern, die gleiche Struktur wie die Programmdokumente
haben und gestartet, weil Programm, das sehen, dass es tatsächlich diese Funktion ausführt, die initialisieren ist der Anfang ist, Personen zu sehen Großbritannien in Höhe von zwei. Andernfalls, wenn Sie Dienste registrieren, müssen
Sie Builder Dot Services sagen, dass auf dem neuen in Ihrer Schule schlecht transient auf der Syntax nicht zu anders aussieht. Also, eigentlich, all diese Dinge, die wir innerhalb unseres ursprünglichen Blazer verweisen mussten, müssen wir sie
zu unserer Web-Assembly nach oben portieren, wenn wir sie brauchen. Also wissen Sie, dass ich ein Projekt erstellt habe. Lassen Sie uns nur einen kurzen Blick auf seine verstehen, um es als Anfang des Projekts auf, dann laufen. Es ist in Ordnung,
Also, wenn es läuft und läuft, sehen
Sie, dass es buchstäblich das gleiche Layout ist. Also gingen wir einfach durch den Server. Wir werden buchstäblich nur dieses Wissen auf die Web-Assembly-Seite übertragen . Wir haben die Startseite Web Zähler Beispielseite Alle Wörter Genau die gleiche Weise. Und, wissen
Sie, Daten
wechseln. Also hier sehen Sie das Beispiel aus dem A p, den ich anrufe, wir sind in Fetch Daten mir. Beeil dich einfach und geh dorthin. Wir werden sehen, dass die Seite. Es sieht genauso aus. Außer diesem hier. Sie verwenden eine andere HTTP-Client-Bibliothek als wir verwendet haben. Also werden wir wieder Factoring. Also das Gericht, weil wir I.
Http Client Factory verwendet . Sie haben eine einfache HTTP-Client-Bibliothek. Andi. Also werden wir uns bei etwas Kälte ändern, aber das ist abgesehen von dem Punkt jetzt. Ähm, beim Initialisieren macht es ein A p ich anrufe, damit es nicht direkt aufgerufen wird. Dann fragt das, worin ich den Jason parse? Es ist also verschleiert. Http. Holen Sie sich vom Jason-Inhalt, dass Sie ein Boot sind, auf dem Sie abrufen können. Analysieren Sie es im Schlepptau. Honore, der Art Wettervorhersagen über die Prognose SYRIZA klassifiziert uns Halten Sie die Kontrolle und Oh, tut mir leid. Es ist genau hier. Mein Aber in Ordnung, also gibt es eine Menge Arbeit. Das ist also nur die Klasse. Das ist alles, was es ist. Andi. Es ist also ein Array von Objekten vom Typ mit Arbeitern, die aus Beispieldaten kommen, Schrägstrich
Wetterpunkt Jason. Also, wenn Sie sich in der Www Route Ordner genau dort erinnern, haben
wir einige Police Schrägstrich, ob Jason oder nicht. Das ist alles, was ich gemeint habe. Es war nur für Stichprobenzwecke, aber das Prinzip bleibt das gleiche. Also, wenn wir ein Boot sind, um etwas von unserem a p I abzurufen, was wir tun werden, sehen
Sie von Jason Issing, parsen in was immer es ist mit seinen Autoren. Sind die Bücher auf Wenn es eine Liste Koronar auf im Grunde setzen in die U. R L vier die A p I, die wir bereits in unserer in-Punkte-Datei haben, sind Also werden wir uns ansehen, wie wir von der I http Client Factory Kabel in diese konvertieren können Eins. Es ist erwähnenswert, dass wir dies einfach stoppen, dass in unserem Programm, nicht CSU würde sehen, dass dies, dass sie die CTB-Bibliothek toe die Inversion der
Kontrollcontainer hinzugefügt . Richtig. Also, anderen
Worten, wir können es einfach von der Abhängigkeit injizieren. Http, Client darauf wird bereits unsere Basisadresse abnehmen, aber wir müssen nicht so viel ändern. Wir können es einfach sagen, was Sie ein wollte Zehe zeigen und so weiter. Aber das ist auf dieser Ebene hochgradig konfigurierbar. In Ordnung,
jetzt, wo wir unseren Kunden erstellt haben und sehen, dass es wirklich sehr ähnlich ist, was wir getan haben, um zu wissen, das nächste, was wir tun werden, ist die Konfiguration über authentische Sie Sohn auf Autorisierung für unsere Bewerbung.
59. Port Blazor Server: Ihr Jungs. Willkommen zurück. Also habe ich über auf dem Bildschirm mein Visual Studio auf den beiden Projekten die Buchhandlung Sie ich Server Projekt sowie Buchhandlung Sie ich Web-Assembly-Projekt. Was wir also anfangen werden, ist, einige vom Gericht über einige der
Dinge zu übertragen , die wir auf fehlende Bibliotheken zwischen den beiden achten müssen. Weil, nun, wir haben eine Reihe von Paketen hier auf unserem Server, aber wir haben sie noch nicht in der Web-Assembly. Also müssen wir sicherstellen, dass wir diese sowie die Namensräume bekommen. Weil ich wirklich nur ging zu kopieren und einfügen viel von dem, was wir bereits haben. Ich werde keine Zeit damit verbringen, Klassen oder irgendetwas neu zu tippen, aber wir müssen sicherstellen, dass wir die Namensräume aktualisieren, damit die Referenzen funktionieren. In Ordnung, also lasst uns anfangen. Ich werde was kriegen? Ich werde nur mit den Modellen anfangen, also werde ich nur das Modell schwelgen lassen, Andi. Nun, eigentlich mache
ich es einfach als Massenoperation,
also nehme ich den Vertragsordner, weil wir das I-Authentifizierungs-Repository
im Vertragsordner haben , in dem wir den Models-Ordner haben. Wir haben was? Wir haben Seiten mit Benutzern. Also bin ich hier, um zu markieren, was ich brauche. Ich brauche eine Statische, oder? Nein. Und ich brauche Service. Oh, und wir brauchen Anbieter. In Ordnung, also werde ich buchstäblich nur all diese Dinge kopieren, die sich wahrscheinlich vorstellen, dass sie alles
aufhält . Und dann verbringen wir einfach einige Zeit wieder zusammen Factoring. Also lass mich das einfach machen. Also verstehe ich die Kontrolle über Klickverträge Modelle Seiten des Anbieters statisch auf. Nun, ich denke, wir können gemeinsam nehmen, weil wir die Fehlermeldung und Ladenachricht haben. Wir haben auch das Knave-Menü. Also buchstäblich, alle aus, diese Dinge können direkt in die Web-Assembly gebracht werden. In Ordnung? Und wir haben gerade verbracht, dass
nur wenige immer diese alten gebaut haben. Also sind wir wirklich vertraut mit dem, was in ihnen ist, oder? Also gehe ich nur auf die Kopie, kontrolliere
einfach und klicke auf jedes, kopiere
dann und komm dann zum Web-Assembly-Projekt herunter. Richtig. Klicken Sie auf Stück klicken. Und dann wird es mich fragen, ob ich sicher bin, dass ich überschreiben möchte, wann ich ja sagen soll. Denn was auch immer auf den Originalseiten war die Benutzer, die Autoren von Büchern, all die Dinge, die ich will, überschreiben jemand, um zu sagen, sagen wir, wenden Sie es alle Elemente an und sagen ja. Nein. Wenn ich einen Build mache, bekomme
ich wieder viele Fehler, weil diese Namen Leerzeichen
abgeschwächt werden müssen . Wir haben nicht viel von den Brandreferenzen oder Bibliotheksreferenzen für unser
Web-Assembly-Projekt . Bevor ich etwas mache, aber
das erste, was ich tun möchte, ist, diese Host-Datei zu entfernen, weil diese Pferdedatei tatsächlich
Probleme gibt , verstehen Sie? Toe, gehen Sie vor und entfernen Sie es aus dem Web-Assembly-Projekt. Klicken Sie auf. Okay, Andi, ein paar Fehler. Winter, auf dem du wahrscheinlich nicht siehst. Dann die Importdatei. Nun, ich würde wollen, Nun, ich kann das lassen, bis es das von Fall zu Fall tun wird. Also, nein, ich werde einige Zeit damit verbringen, die Referenzen zu säubern. Also gehen wir zu Verträgen und dann siehst du es Gleiche Buchhandlung. Du warum? Aber das muss ich in Gedanken setzen W A s m nicht Verträge richtig. Also in diesem kann
ich wahrscheinlich einfach gehen, um nach allem zu suchen. Das ist seine Buchhandlung, nicht wahr? Ich habe nur direkt an. Dann werde ich es durch Buchhandlungen ersetzen. - Sie? Warum? Dunkle Stoppeln. Asem. Das wäre also ein schöner, schneller Weg, um diese Referenzen einfach sauber zu machen. Entferne das einfach. Das habe ich gerade getan. Ich wollte blocken. Alles klar, aan den. Nicht die gesamte Lösung. Aber aktuelle Projekte sind im Projekt das Web-Assembly-Projekt auf Haben Sie können weg finden ihren Platz alle vielleicht. Oder wenn Sie genauer sein wollen, Kandarr Platz neben der Geschichte Ort. Aw, klicken Sie. Ja. 37 Vorkommen ersetzt am. Dann mache einen Build auf meinem Build ergab 108 Fehler. In Ordnung, also habe ich einige Fehler, aber viele von ihnen referenzieren wirklich wie fehlende Bibliotheken. Alles klar, du siehst hier, dass ich die Blazer nicht habe. Claverie, die Jade des Tees und einige Bibliotheken fehlen einfach. In Ordnung, also keine Sorge. Was ich tun werde, ist nur wichtig diese Bibliotheken, also werden wir einfach mit der rechten Maustaste auf das Projekt klicken, das meine Nisshin Pakete bekommen und dann werde ich alles installieren, was ich denke, es fehlt. Also weiß ich, dass ich diesen Jason vermisse. Neue Mutanten von diesem J-Sohn jemanden, der das nicht weiß. Ich meine, du kannst meinem Anführer folgen. Du kannst dich einfach aufmachen. Sie bekommen aus dem Server-Projekt auf, dann wissen Sie, was auch immer bereits in gestartet ist, gehen Sie voran und bro und installieren Sie es auch. Also ich weiß, dass wir Blizzard-Toasts hatten, etwas Disziplin, um diesen in Blizzard-Speicher zu bekommen. Also bekomme, dass man Eingabedatei bekommt. Ich bekomme die Autorisierung der SB-Netzkernkomponenten. So unterstützt das Authentifizierung und Autorisierung für Blazer up. Sie müssen das von uns bekommen, das wir JWT Library nicht vergessen können. Also genau das in der Tat, Fähigkeit. Und wir bekommen die 1. 1 und dann, nachdem wir diese Bibliotheken erhalten haben, die sie auf unseren
weniger Fehlern aufbauen . Aber eine Menge Angebot Francine fehlt immer noch, also muss ich sicherstellen, dass ich die Karten-Importe habe. Also habe ich vorhin die Importe nicht erwähnt, und lass uns einfach rüber gehen und sie weitermachen. Ich werde all diese kleinen hier kriegen. Die Eingabedatei ein Toast, Onda und, Sie wissen, implementieren sie in den Projekten und dann einen weiteren Build auf. Ich habe gerade die Bereiche hier wegen meines Freundes korrigiert und die Buchgeschichte ersetzt. Warum sich die Referenz verdoppelt hat. Also habe ich alle geändert, die diese Referenzen sprechen. Und dann, wenn ich mir einige der anderen Fehler ansehe, sagen
sie, dass sie nicht finden können, wie ich ein Repository verfasse. Das bedeutet, dass ich brauche, dass die Anzeige einen globalen Verweis auf den Vertrag gemacht hat, also werde ich diese Zeile einfach auf DSI duplizieren. Ich will,
dass unsere Freunde der Verträge aufbauen,
und dann sind das noch weniger Fehler. unsere Freunde der Verträge aufbauen, Da gehen wir. Es kommt sehr schön. Nein, es beschwert sich über die Autorisierungsflagge. Also die autorisierten Attribute. Also müssen wir dafür eine Bibliothek einschließen. Andi gehen zurück zum Server importiert Bibliothek, die oder starten Sie die Server-Projekte. Importiert die vollständige Datei. Entschuldigung, die Bibliothek für die Autorisierung wäre diese zu einigen entfernten Um sie zu kopieren Andi, gehen Sie zurück zu meiner neuen Web-Assembly-Importdatei auf. Ich habe sie einfach auf die gleiche Weise an die Spitze gestellt. Und dann, wenn ich einen anderen Build mache, mache
ich nicht noch weniger Fehler, obwohl es sich beschwert, dass es nicht weiß, was Autor ist. Also würde der Autor in den Modellen sein. Also wieder einmal, wir sind das Anhalten über Referenzen. Richtig? Also hier haben wir eine gemeinsame statische Modelle und Verträge. Wir wollen nur sicherstellen, dass wir das Gleiche tun. Also lass mich das einfach duplizieren und die Modelle holen. In Ordnung. Auf dem Kiosk verschwinden
Maduro Build-Fehler. So sehen Sie, dass dies keine Fehler sind, die Hafer sind. Landy Ufer. Weißt du, aus dem Gewöhnlichen kannst du nicht in Punkten finden. Weißt du, Endpunkte befinden sich in den statischen Ordnern, in denen es Präferenz geben wird, die statische. Und dann wird diese Ära schon verschwinden. Einige von ihnen haben es getan. Aber in Ordnung. Ja. Siehst du wo kommen? Nein, schön. Nun, einige Epochen werden nicht weiter verschwinden. Der Grund dafür ist, dass das Hosting-Modell bestimmte Dinge auf bestimmte Dinge diktiert. Ja, Canton passiert in unserer Web-Assembly, so wie sie in der Aufschlag passiert sind. Nein, richtig. Nein, ich bin im Datei-Upload-Dienst. Andi, wenn Sie sich erinnern, was wir tun mussten, war die Hosting-Umgebung zu bekommen, was
bedeutet, dass der Server überall dort, wo er gehostet wurde. Holen Sie sich diese Umgebung ein, suchen Sie
dann den Web-Root-Pfad und suchen Sie nach einer Prosa-Fuller. Jetzt wird die Web-Assembly nicht auf einem Server auf dem
Computer des Clients sein ,
was bedeutet, dass es auf Ihrem Computer und meinem Computer einzeln ausgeführt werden wird. Es gibt keinen Server, um zu sprechen, um eine Datei hochzuladen. Also werden wir entweder die Datei-Upload-Funktion von der Web-Assembly ausschließen weil es wirklich nicht praktisch ist. Oder ich werde das A P I erweitern, zu dem wir gehen, wissen
Sie, so tun, denken Sie daran, dass die A p. A. von jemand anderem entwickelt
wurde 1/3 Party API I, aber, wissen
Sie, Theoretisch gesprochen. Aber dann werden wir es erweitern, um zu sagen,
OK, OK, Jungs wissen, dass Sie Ihre schnell direkt hochladen können. Das ist also einer der Nachteile sind einige der Dropbox mit Web-Assemblys, die es auf dem Computer
des Clients ausgeführt wird . Bestimmte Dinge sind also einfach nicht möglich, wie die Verarbeitung eines Datei-Uploads beim Speichern auf einem global zugänglichen Speicherplatz. Alles klar, was ich jetzt tun werde, ist, diese ganze Klassenabstimmung zu kommentieren, damit wir keine Fehler
haben. Beide Datei-Uploads sind, wissen
Sie, fehlende Referenzen hier auf. Ich werde diese Referenz töten, um den Pfeil zu entfernen. Dann würde ich darauf aufbauen. Dann bin ich mit acht Fehlern fertig. Also hoffe ich, du bist keine acht Fehler so, wie ich es bin. Ich weiß, was diese acht Arizona und sie haben mit der A C T T Plan-Bibliothek zu tun. Ordnung, also ist diese Bibliothek nicht ganz Wo sind all diese Web-Assembly hat die HDTV-Client-Bibliothek . Ähm, aber dann leise es nicht. Haben oder brauchen Sie die i sgtp Client-Factory. Ich hätte es wahrscheinlich auf diese Weise auf dem Server bei beiden tun können. Hey, wir wollten nicht in den Server hochfahren. Wir werden es anders im Web machen, zusammenstellen. Also mit diesen acht Fehlern, die ich habe, richtig? Nein. Sind diese Fehler, die ich über den HTTP-Client-Faktor weiß, wann ich sie verlassen soll ? Das letzte, was ich tun werde, ist
jedoch die Übertragung aller Punkte für die Verweise auf alle Dienste. Richtig? Damit unser gut, brauchen
wir keinen Service Seitenrasierer. Auf jeden Fall. Sie das nicht, aber wir brauchen Blazer-Storage und alle anderen. Wir brauchen den at http Client auf DSO nicht. Also werden wir irgendwie wählerisch sein mit dem, was wir hier kopieren. Also brauche ich, dass sie Frances beim Dienst für den lokalen Blazer Service sind und ihn mit einer
Kopie anstoßen . Die aus dem erschreckenden Relenza-Programm. Und dann möchte ich sie zu den neuen Studentengesprächen umwandeln. Also das ist Builder angedockt Dienste mit einem Kapital s auf Machen Sie das gleiche hier, Builder dot Dienste mit einem Kapital s Wir bekommen rote Linien, weil wir
Anweisungen von Kontrollpunkten benötigen oder verwenden onder t Der Vorschlag, den wir erhalten, enthalten die Referenzen auf Was dann noch? Tun Sie es von Anfang an. Ich brauche das alles,
richtig, richtig, denn das sind alles Dienstleistungen, die wir haben. Nun, der FBI Staatsanbieter, wir haben die Authentifizierungen. Sie stellen den JWT-Token-Handler und unsere internen Dienste bewusst, dass wir
jemanden erstellt haben , um diese überhaupt zu entfernen. Alles klar drauf. Ich mache einfach Ah,
schnell, schnell, finde und ersetze. Kann ich mich einfach nutzbar lassen? Also nein, wir haben Builder Dot Services. Ich ersetze nur, wo immer wir Dienste mit Builder-Gedankendiensten hatten, dann füge einfach alle fehlenden Referenzen auf ein. Danach gibt der
Datei-Upload einen Fehler, weil tatsächlich alles in dieser Klasse auskommentiert wurde. Es glaubt also nicht, dass das verstanden wird, später in diese Linie zu kommen, wir können jetzt mit diesen Kugeln umgehen, die Prioritäten, diese Pfeile zu reduzieren und sicherzustellen, dass alles hier aufgestellt wird. In Ordnung, also wenn ich einen anderen Build mache, sollte
ich nur die Fehler sehen, die ich kenne. Da gehen wir weiter. Dann , werde
ich alles so lassen,wie es ist. Und dann, wenn wir zurückkommen, was wir tun werden, ist Wieder Faktor oder basierend Repository auf, wie es die HTTP-Clients verwendet.
60. Code für Blazor WebAssembly ändern: Hey, Leute, Willkommen zurück. Also ging nirgends wieder Factoring ganze verwendet den http-Client. Aber bevor ich das tue, was ich Dip essen will, ist ganz. Sie würden wahrscheinlich viele Beispiele sehen, die Akkord mit dem Problem schreiben, um Clients zu sein. Also, wenn ich zurückgehe, um Daten zu holen, sehen
Sie ein Live-Beispiel dessen, wovon ich spreche. Wir injizieren HTTP-Clients, geben ihm einen Namen von Kurs an, dann können Sie tatsächlich den FBI-Anruf von hier aus in den Komponenten ausführen. Richtig? Also machen Sie einfach den FBI Anruf direkt da drauf wird es zurückgeben, wenn es auf Ihre gute zu gehen, während wir es getan haben. Aber von selbst in unserem Server nach oben war, dass wir nicht die FBI-Ursache innerhalb der Komponente getan haben. Stattdessen brachen
wir das Repository auf. Muster Art aus auf. Wir haben ein Baster-Poster, das alles für uns spricht. Also haben wir war injiziert das entsprechende Repository serviert werden. Also, wenn ich mich den Index für Autoren anschaue, die die Autorenleute hier angerufen haben, benutzen wir den Autorenbericht genug oder Theriot, bekomme Operation. Nein. Wenn ich den a p i n Punkt direkt in der Komponente aufrufen wollte. Was ich tun würde, ist so etwas wie injizieren, http-Clients geben ihm einen Namen und Sie wissen, ich mag es, auf den quadratischen Client setzen. Dann könnte ich leicht gesagt haben, Modell ist gleich auf die Punktzahl warten Clients verdunkelt auf,
dann unterstrichen Klein gibt mir all diese Optionen. Also denke ich, was wir verwenden, ist, eine Spüle jetzt in unserem basierten Repository zu senden, jeden Anruf, den wir machen, fügen
wir einfach den Bär hinzu, der darüber spricht. Dann steigen wir ein Waschbecken auf. Aber dann hätten wir den Anforderungsstopp hier dargestellt, die URL und alles eingefügt. Also schauen wir uns das Telefon an, Sean, speziell. Richtig. Also hier in der bekommen wir eine Anfrage, dass Sie wissen, dass ich Anfragen bekomme, dass das Mädchen , dann erstellen wir den Client auf. Dann fügen wir das Bier reden, und dann senden wir eine Spüle, und dann bekommen wir die Antwort, und dann serialisieren wir den Inhalt in die Liste von jedem Typ, den wir wollen. Also sehen Sie, all das ist irgendwie zu einem FBI verdichtet, das heißt das Einzige, was nicht in dem passiert was ich Ihnen zeigen werde, ist die Zugabe von dem Bier, das redet. In Ordnung, also hätte ich genauso leicht sagen können, dass der Kunde von Jason kommt. Dann sag es, was genau ich erwarte. Was wäre eine Liste aus Autoren-Zyklus gewesen, sagte ich vom Typ Autor auflisten. Also wird das Recht dort mit der Serialisierung des Jason für mich umgehen. Dann, nachdem ich das getan
habe, würde ich nur die URL sehen, die wir wissen, ist Endpunkte Punkte, Autor Europe. Also schreiben viele Leute tatsächlich die statische Zeichenfolge hier, als würden sie tatsächlich alten lokalen Host schreiben. Es sind fünf diese und Slash FBI Schrägstrich Sie wissen, ich mag das nicht. Wir haben die statische Datei gemacht, damit wir das vermeiden konnten. Und wenn wir uns ändern müssten und wir es an einem Ort ändern könnten, und es funktioniert, richtig? Stattdessen könnten
Sie einfach Endpunkte sagen. Autor, DieserAutor,
im Punkt, was das tatsächlich tun würde, ist buchstäblich all diese Linien vor Gericht in einem zu
einem Ziel zu tun , richtig? All das wäre in einem Aufruf getan worden, dann würde es automatisch Nein zurückgeben. Hier ist etwas schief gelaufen? Nein, natürlich musst du es versuchen. Fang sind nur 10. Manage das, Du weißt schon, ein bisschen besser
erleben. Jedoch, weil aus zusätzlichen Operationen, wie das Hinzufügen des Bieres sprechen vor dem Anruf und so weiter. Wir wissen Sie, es war besser, Zehe von der Komponente abstrahiert. Legen Sie es in seine eigene Klasse. Ich würde es einfach so nennen, wie wir es brauchen. In Ordnung. Also werde ich einfach dieses Land der coolen gelobt verlassen, damit sie sehen können, was möglich war. Okay, aber wir brauchen die nicht wirklich, weil wir das Repository oder Treuhänder verlassen haben. Auch Autor Repository
implementiert, wie Sie wissen, wie Sie wissen,eine Klasse, die wirklich Funktionen aus dem Beast-Repository aufruft. Das basierte Repository weist diese Fehler jetzt auf. Also werden wir diese Fehler beheben und dann wieder Faktor dieses Gericht aussehen, um mehr wie das Problem tp Client Ursache im Gegensatz zu diesen Faktor Ursache oder wir bauen unseren Kunden manuell. Also möchte ich diesen Zeh ändern. Http. Client in Ordnung auf sie ging hoch. Hat das auch? Alles klar, dann wirst du sehen, dass ein paar andere Fehler auftauchen, weil nein Wir brauchen das nicht zu tun. Erstellen Sie Client, weil dies ein erstellt wird, um dies zu versuchen. Wir haben gerade unseren Kunden injiziert, der existiert. In Ordnung, also gehe ich einfach nach oben. Dies ist die Create on. Wir werden das alles neu schreiben und es wahrscheinlich mit drei oder vier Zeilen verdichten . Also, was wir haben werden, ist Nun, das erste, was ich wahrscheinlich tun möchte, ist sicherzustellen, dass der Träger Token vorhanden ist, richtig? Jemand Zeh nehmen diese und legen Sie es an der Spitze auf Geben Sie die Sonne auf der Partitur. So weiß es, dass der Client, der gerade injiziert wurde, bitte fügen Sie den Standard besser aus
dem Büro hinzu, dann haben wir immer noch die Funktion, um den Träger-Token zu erhalten. Ordnung. Und dann ist dies eine Create-Funktion. Also weiß ich, dass ich erwartet wird, dass ich gegen Say Unterstriche Kunden tun. Punkte posierten. - Denke ich so? Natürlich nach, wie es eine Spüle auf posten. Dann wird dies die u R I nehmen. Also haben wir Endpunkte. Entschuldigung. Nein wäre Sinn gewesen. So haben Sie es auch anders. Tut mir
leid, ich bin dran. Dann trinken wir Tee. Es ist unser Objekt oder B J mein, aber in Ordnung, also haben wir O B J o b j das, was in Andi übergeben wurde, also VJ ist das, was wir übergeben haben. Lassen Sie mich noch einmal lesen,
also hat es keine Spüle gestellt. Lassen Sie mich noch einmal lesen, Wenn wir eine Senke posten und wir uns die Überladungen anschauen, müssen
wir den alten Bijan in einige http-Inhalte konvertieren. So Kontext früh, können
wir sagen, Post als Jason E sinken auf. Dann sagen wir es vom Typ T, Sir, denken Sie daran, Tees sind generisch, weil wir nicht wissen, ob es Autor sein soll oder es Buch sein oder ob es sogar Benutzer sein wird, wir wissen nicht, So Tees sind abstraktes Objekt. Also sagen wir, wenn Sie die Beiträge und das Jason-Äquivalent von dem Objekt hier
auf dieser Seite senden , hat
das alles BJ dieses wörtliche Objekt den Schläger. Also sollte das sein, ich hätte die Klasse sagen sollen, Also senden Sie das Jason-Äquivalent von welcher Klasse t zum Zeitpunkt des Buchautors Benutzer ist, etcetera auf d o B J hat den tatsächlich verpackten tatsächlichen Schlägel, der über das
gepackte Recht gesendet werden sollte . Nein, dies gibt und HTTP-Antwortnachricht zurück, die dasselbe ist, was wir nicht hier deklariert haben . Also werde ich sagen, dass die HTTP-Antwort gleich ist, um diesen Anruf zu erwarten. Dann kann ich das alles löschen. Und dann, was wir nicht haben, ist unsere Überprüfung, die wir vor, wo wir sehen, ob der Antwortcode ist, der dann wahr zurückgibt, sonst für. Also, sehen Sie, wir verdichten nur einige Zeilen vor Gericht im Schlepptau, vielleicht zwei Zeilen auf der gleichen Aussage, die es vorher gab. In Ordnung, also werden wir das nur für alle tun. Ich bin jemand, der dasselbe zum Löschen tut. Lassen Sie mich einfach einen richtigen Punkt auswählen. Also, ja, ich will das behalten, aber dann brauche ich diesen Teil nicht. Also werde ich sehen, wie es mich zuerst das Bier reden lassen. Also wollen wir das immer zuerst an der Biermarke machen. Na gut, dann
weiter. Sehen Sie? Klienten. Darts. Onda. Gibt es eine Löschung? Der Gedanke ist da auf den Gewässern. Löschen Sie die gegenüberliegende Notwendigkeit als Parameter. Also will es Sie fragen. Bin ich so buchstäblich? Was auch immer wir hier hatten, Sie können einfach sagen, dass Setzen Sie hier auf, dann gibt das unsere Antwort zurück. Vermisse es. Also wollen wir http Antwort Nachricht zu sehen ist gleich, um dieses Auto zu warten, weil es eine Sache ist. Also müssen wir sicherstellen, dass wir Gewicht haben. Dann lösche ich einfach all diese Enden vor Gericht und bringe oder wenn Aussagen. Alles klar, also stellen wir sicher, dass wir uns daran erinnern, das Bier zu reden, bevor es den Anruf macht. In Ordnung, also die nächste wollen wir eine spezifische,
äh,
Rekord bekommen äh, . Also, was wir hier haben werden, ist erstens, dass
wir das Wir reden an seinem oder Kunden involviert werden. Und dann ging ich, um unser Mal sehen zu lassen,
denken Sie daran, dass nicht. Hier. Wir hätten eine Antwort bekommen. Bewertet das Kabel auf, bekam den Inhalt zurück. Richtig? Also, im Wesentlichen, wenn wir die einzige an den Kunden ändern, nicht bekommen, wenn es entweder Finanzierung Wahlbeteiligung bekommt. Also haben wir gerade den Inhalt zurückgegeben,
Also, wenn es nicht bekommen Inhalt wird zurückkehren. Nein. In Ordnung, also werde ich vier sehen. Antwort ist gleich „on“. Dann dockt Clients an, los. Ich kann sehen. Holen Sie sich von Jason e Sink. Was auch immer. Klassentyp zum Zeitpunkt an, dann wird das erwartet, dass die U R I dafür. Also die Sie sind ein oder U R l Entschuldigung wäre u R l plus i ds und sie sind nur, dass da drin auf , dann kann ich Antwort zurückgeben. Also alle von den Schulen sind wir hatten ich nur Antwort Rx zurück Also dort gehen wir drei Zeilen auf die rote Linie
zu bekommen, weil ich warten muss. Alles klar, also los geht's. Als Nächstes haben
wir das Aussteigen von der Liste, also ist es ziemlich dasselbe. Ich werde das nur kopieren. Andi hat das beim Versuch reingezogen. Außer dieses Mal haben
wir nur die URL, nicht Europa, plus ich d. Also ist es nur die URL auf dieser Zeit. Es ist eine Liste vom Typ t also sehen Sie hier, ohne eine Liste von T also wird es das Gleiche sein. Dann gaben wir die Antwort zurück, so dass all dies buchstäblich verschwindet. Ordnung, also meine ich, es gibt einen guten Vorteil, wissen
Sie, Sie können wahrscheinlich zurückgehen und sehen, ob Sie unser ursprüngliches basiertes Repository dazu
beitragen können , aber ich möchte das Original auf dem Weg ist es auf. Sie haben also zwei Beispiele. Sie haben das ursprüngliche Gericht, und Sie haben diese Methode. Aber das
ist wieder einmal im Blazer Web Assemblyprojekt für das Biest Repository. Na gut, , dann, für die Marionetten oder optimistisch. Ich ging einfach voran und tat es. Also
nochmals, ich meine, ich habe den ersten Scheck verlassen. Ich habe den Träger-Token der Antwort enthalten, um als Jason eine Senke einen Typ t mit der
URL auf Wassertor ein Paket zu setzen , auf das ich nehme, wenn der Antwortcode gut ist oder nicht bei der Rückkehr. In Ordnung. So sieht unser basiertes Repository nicht aus, wenn ich einen Build mache. Ich bekomme diese Fehler in den anderen,
weil sie immer noch auf die http-Client-Bibliothek schauen. Das ist also geplant. Fabrik. Also werde ich einfach durch das Autoren-Repository auf Mütter von Babys gehen. So ist es nicht mehr ich TTP Art Fabrik. Ist es. Nein. Die http-Client-Klasse auf Verweildatei floss, wurde ausgeschlossen oder wird für Nein ausgeschlossen. Müssen Sie sicherstellen, dass wir es für das Authentifizierungs-Repository auf tun. Dann werden wir auch Zehenrefraktorakkord darin haben, denn denken Sie daran, dass dies die aktuelle Fabrik verwendet. Also wissen, wie das aussehen würde, ist ein Beitrag als Jason entgegengesetzt. Irgendwas, richtig? Also werde ich damit beginnen, zu sagen, dass die Balkenreaktion gleich ist wie meine Kunden beginnen, wenn sie eingeschaltet ist. Das ist unser Jason. Sie sinken und gehen danach ab, sehen Sie, warten Sie. So schlecht sagt, dass Jason denkt, dass die Waffe Punkte anruft, nicht Logan Endpoint auf. Wir geben den Benutzer als unsere Daten weiter. Richtig, das ist
also unser Beitrag auf. Dann werde ich all das herausnehmen, weil diese eine Zeile wieder ersetzt all das erzielte. Wir werden prüfen, ob es ein Erfolg war. Starter hat dann unsere Knoten geholt. Wir brauchen keinen Zeh. Nehmen Sie all den Rest davon, weil wir den Inhalt von der Antwort wollen. Wir werden feuern, sitzen und das Zeichen holen. Wir werden immer noch den Standardspeicher einstellen, der darauf spricht, den Zustand von oben auf zu ändern, dann gut, wir können diese Linie aus cored routinen, aber ich denke nicht, dass dies notwendig ist, weil wir es wirklich jedes Mal zu dem Anruf hinzufügen sowieso. Aber ich lasse es nur so etwas vor dem Legacy Court. In Ordnung. Sag mal, sieh dir die eine Zeile an. Er denkt nur ein paar darüber nach. Okay, wir verlassen das Liebesboot, wie es dann ist. Genau das gleiche für das Register, in dem ich hineinlege, das wir haben. Entschuldigung. Lassen Sie mich einfach normalisieren. Also haben wir Antwort gleich einem Post-Aufruf an den Register-Endpunkt, und wir übergeben das Benutzerobjekt, nur um uns auf D.
C dieses 19 Natürlich zu scheinen . Wieder einmal, gerade entfernt vielleicht sechs Zeilen vor Gericht. In Ordnung, also kann ich einfach das ganze alte Kabel an den beiden Linien entfernen. Wir hätten entweder eine Person oder Knoten registriert, ? Das ist also unser neues Look-Repository auf. Dann werde ich einen Build auf Dhere machen. Ich bin auf Sendung in meinem up Der Rasierer drauf beschwert sich ein Bootsprogramm. Also lassen Sie mich mein Programm überprüfen. Finanzier. Alles ist in Ordnung, wenn ich nachsehe. Ich sehe hier, dass Dr. Watson zweimal haben. Richtig? Es gibt also ein einfaches Namensfeld. Uh, auf dem ich zurück gehe, ist
die Farbcodierung nicht das, was sie sein sollte. Lass mich einfach wieder bauen. Alles klar, darauf ist aufgebaut. Ich glaube nicht, dass wir den Inhalt für das Update genommen haben. Rasiermesser. Nein, haben wir nicht. Also erinnern sich die Abdolreza daran, dass Wir mit der autorisierten Ansicht über die
Kaskadierung bestimmter Dinge geweiht hätten , also werde ich das tatsächlich tun. Ordnung, lassen Sie mich das einfach
überschreiben, aber ich werde ein paar Änderungen vornehmen. Andi Nutzungsänderungen wirken sich auf die Benutzererfahrung aus. Was jetzt passiert ist, ist, dass, wenn jemand sich nicht einloggt und versucht hat, auf eine
Seite zu gelangen , sie wahrscheinlich nur im Pete haben würden. Was ich tun möchte, ist wahrscheinlich umleiten sie Zehe lang in p Angst oder das Protokoll behindert. Also werde ich die Autorenaugen Routenansicht ändern. Also werde ich diese Stadt in einen offenen und nahen jemanden verwandeln, um das Reden zu machen. Dann setzen Sie ein Schlussgespräch dafür manuell. Da gehen wir. Am Tag drinnen, abseits dieser autorisierten Routenansicht, werde
ich eine Flut setzen, die nicht autorisiert ist. Und dann drinnen können
Sie im Grunde eine Komponente setzen, etwas
aufstellen, um zu sehen. Das sollte passieren, wenn jemand nicht autorisiert ist. Was ich also tun werde, ist eine Komponente einzurichten, auf der ich redirect aufrufen werde, um sich anzumelden . Es ist also rot, weil es noch nicht existiert. Boote. Das ist leicht für uns zu beheben. Also werden wir nur eine Kostümkomponente machen und die das Innere der geteilten, so dass es global zugänglich ist so ziemlich unsere Reza-Komponenten. Wir werden es so ziemlich umleiten nennen, um sich in Andi anzumelden. Alles, was es tun wird, ist nur durch den sehnsüchtigen P Dreck zu navigieren. Also, sobald es hier umgeleitet wird, geht
es einfach um un initialisieren, einfach navigato schleppen. In Ordnung, also lasst uns nur noch einen aufbauen. Wir sehen, dass wir ein erfolgreiches Gebäude haben. Ich werde hier anhalten. Also, wenn wir zurückkommen, testen
wir die Früchte unserer Arbeit oder Factoring, wir werden interinterinteresse
mit der Authentifizierung Onda tun , der Buchverwaltung Entschuldigung, der Autorenverwaltung, da die Buchverwaltung aus nächster Nähe erfordert, was nicht ganz bereit ist, aber lassen Sie uns einfach auf Test einige davon gehen
61. Wesentliche Layout und Ergänzungen: In Ordnung, also sind wir drin. Ich hatte ein Problem mit der Datenqualität. Also indirekte Wirkung auf diese. Wir können sehen, dass wir diesen authentifizierten Zustand Look and Feel bekommen. Wenn ich zur Autorenrede gehe, dann kommen wir zurück. Alle von für Autoren. Dana ist es nicht, ich meine, also bekommt sie nur die Sichtoptionen. Wenn ich auf Ansicht klicke und wir sehen, wohin Sie ihn bekommen? Zurück? Eins. Du siehst also hier, ich komme zurück. These auf der Seite über Das ist der Toast. Also denke ich, ich muss etwas aufräumen, aber das ist kein Problem. Wir wollen nur überprüfen, ob wir zurückkommen oder abschrecken. Wenn ich Bücher anschaue, schwillt, die neuen Projekte oder nicht, werden diese
Bucheinbände zeigen, also ist das in Ordnung. Das ist verständlich, aber wir müssen diese Post-Modifikationen in den Griff bekommen. Ordnung, so zumindest haben wir gesehen, dass wir irgendwie erfolgreich Bit sind, dass die Operation unseren Server
in die Web-Assembly gebracht hat , und die meisten Dinge wie einen Handschuh. Geringfügige Unterschiede. Also lassen Sie uns einfach weitermachen und unsere Anwendung aufräumen. Alles klar, also lassen Sie mich mit dem Toast beginnen, so dass den Toasts eine CSS-Datei fehlt, die Bean in über Seiten hätte und Andi hostet. Es gibt diese CSS-Dateireferenz. Verstehen? Um das zu kopieren und in den Index zu legen, starten Sie Eastern of file auf dieser Seite. gleich drauf Danngleich drauf. Ich gehe einfach durch und stelle sicher, dass die Toastbenachrichtigung zur
richtigen Zeit kommt . Also auf diesem, auf unserem Schöpfer oder wir haben gesagt, wenn es ein erfolgreiches Erstellen ist,
dann, wissen
Sie, wissen
Sie, zeigen Sie den Toast, während Sie weg navigieren. Das ist gut. Wir tun das für die Löschungen genauso für den Fehler,
nur diesen Index, wo es keinen Toast auf den Index gibt. Aber dann, aus welchem
Grund auch immer, habe ich den Toast für die Ansichtsseite ganz oben gelegt, verstanden? Fangen Sie das an, legen Sie es unter die Modellinitialisierung. Also, sobald ein Modell seine Daten bekommt, dann zeigen wir unseren Toast, sehen alle Ihre keine Betrachtung für immer. Das sollte also diese Besorgnis beheben. Also ging ich einfach weiter und schaute mir die View-Datei für die Bücher an und sah, dass ich es an der
gleichen Stelle und an den Spitzen hatte . Ich habe gerade das Gen von Gedanken repliziert. In Ordnung, also ist unsere Anwendung am Laufen. Nein, was wir tun müssen, ist herauszufinden, was wir in Bezug auf das Buch tun. Vertuschen Sie sich. Die Straßen sind offen. Es ist im Allgemeinen. Lassen Sie mich einfach überprüfen, was alles über Uploads von der Server-Anwendung ist. Die Erwartung wäre gewesen, dass diese Anwendung, die Blazers-Server-Anwendung, auf einem Servercomputer gespeichert oder gehostet worden
wäre, einer zentralen Maschine, auf der Menschen, die zum Earl Andi wächst, die auf, wenn sie -Upload. Es geht auf den Server. Die Webassemblierung funktioniert ein wenig anders, da sie tatsächlich direkt
auf den Clientcomputer geladen wird . Unseren Jungs. Also, was ich hier getan habe, ist Zehenlauf, sowohl die Web-Assembly auf dem Server nebeneinander. Alles klar, so dass alles, was es ins Visual Studio ging, zur Lösung geht. Die Eigenschaften und wählen Sie beginnen bei allen drei Projekten auf dem FBI läuft auf eine andere Weise. Keine Aufzählungszeichen, beide Client-Anwendungen ironieren nebeneinander Elemente beim Betrachten des Netzwerk-Lord für beide Apps. Sie können das gut sehen, wo Assembly ein paar mehr Dinge lädt als der Server auf. Darüber hinaus, dass
Sie basierend auf, welchen Browser Sie verwenden oder manchmal Sie tatsächlich sehen können. Die DLL wird geladen. So werden die Angebote über alle Inhalte, die für die Websites oder für die Anwendung benötigt werden tatsächlich direkt in den Browser auf einmal geladen. Es gibt also kein wo Central für einen Datei-Upload, tatsächlich Ort der Datei. Aus diesem Grund, was wir tun werden, ist, sich über ein PNG zu erstrecken, einfach in der Nähe. Diese werden unsere A P I erweitern für die Erstellung auf jedem Buch Toe enthalten einen Platz für unsere Datei-Uploads. Also laden wir Dateien zum FBI hoch und das FBI speichert sie auf dem, was eine Reserve Notaufnahme sagte, EPA wird gehostet. In Ordnung, also werden wir daran arbeiten, wenn wir zurückkehren.
62. Blazor WebAssembly und API (Erstellen und Aufsehen): Ihr Jungs willkommen zurück. Also, nein, wir werden unsere Buchvorgänge ändern, um unseren Bild-Uploads gerecht zu werden. Wenn das vorherige hören, hätte
ich erwähnt, dass Web-Assembly-Anwendungen nicht in der Lage sein werden,
Datei-Uploads so zu handhaben , wie wir mit den Servern gesehen hätten. Onda genauer über Blazer-Server oben in der Buchhandlung Sie ich es würde Ihnen
erlaubt haben die Datei hochzuladen und auf dem Server gespeichert, dass der Server im Web gehostet wird. Montage
hat
jedoch jedoch keinen solchen Mechanismus, da theoretisch kein Server dahinter steckt. Also, was wir tun werden, ist über FBI zu ändern, so dass wir für die Behandlung ah,
Datei-Upload oder Dateiübertragung zwischen der Client-Anwendung Web-Assembly-Client-Anwendung
auf dem Server, auf dem das FBI gehostet wird gerecht Datei-Upload oder Dateiübertragung zwischen der Client-Anwendung Web-Assembly-Client-Anwendung . Ordnung, also innerhalb des ganzen Szenarios, abseits der Partituren und all der Aufgaben, die wir ein wenig getragen haben, um zu sehen, dass die
FBI-Drittanbieter nicht die Möglichkeit für uns ausgeweitet haben, stattdessen die Dateien zu senden die Löcher zu haben, die die Dateien selbst. In Ordnung. Also werde ich beginnen, indem ich das Buchmodell in der a p I modifiziere. Also haben wir die DT a DT Oh, sorry. Buchen Sie DT Oh, Datei in unserer Buchhandlung FBI auf. Ich werde alle drei Klassen ändern, die jemand eine neue Eigenschaft hinzufügen, auf ich werde nur ein Kritiker auf den Preis auf dieser eine wird eine String-Datei sehen. Nein, diese Stärkungsdatei unterscheidet sich von der Stream-Bild-Eigenschaft, da das Bild in der Datenbank gespeichert wird. Dieser Wert ist für die Datenbank gedacht. Über diesem ist nur ein wenig Schnee Einige Schläger über die Datei, die
vom Client stammt , so dass wir es auf der Serverseite für das in Ordnung haben können. Aber wie wir weitergehen, sehen
Sie, Also werde ich nur diese Eigenschaft hinzufügen, um GTO auf jedem anderen Detail zu buchen,
dass Sie so gut haben , nämlich Buch aktualisiert auf Buch erstellen, weil wir auch diese Eigenschaft toe erhalten Sie die Details aus der Datei für ein Update es sowie Details für erstellen auf. Wenn wir dann unsere Daten mit dem regulären Buch BTO laden, müssen
wir auch die Dateidetails pro Bild laden. Ich werde auch die vollständige A-Struktur ein wenig ändern, und ich werde einen Upload-Fuller einschließen. Also genau richtig, klicken Sie auf die Projekte. Gehe zum Hinzufügen Select New Fuller auf Ich werde es laden aufrufen. In Ordnung,
Also, obwohl Uploads hier gehen, so dass wir nicht die Doublet ein bisschen von der Route für die ,
na ja,
die na ja, Web-Assembly oder den Server. Wir haben das hier nicht, also gehe ich Bernie nicht zu sehr an. Wir erstellen und laden Ordner auf. Wir werden nur einen Punkt auf den Inhalt mit anstelle von der Umgebungsroute beachten. Jetzt gehen wir zum Buchmodell für unsere Montageprojekte. Also hatten wir das Buch, nicht CS auf. Ich werde diese Datei hinzufügen. Ich fühle mich auch dort, so dass es eine direkte Zuordnung zwischen den Details auf dem Webassembly-USV-Modell gibt. In Ordnung jetzt, gehen
wir zu unseren Komponenten erstellen und lassen Sie es uns ein wenig ändern. Also werde ich all diese Datei-Upload-Service-Referenz nehmen, weil ich mich nicht wieder
auf den regulären Datei-Upload-Mechanismus verlassen werde , also brauche ich keinen Verweis auf diesen Dienst. Und natürlich, wenn ich das entferne, werden
wir unten ein paar Fehler bekommen. Aber das ist in Ordnung. Also das kann ich entfernen Sie es einfach und ich werde es kommentieren, ich entferne es einfach auf. Dann lassen Sie uns ändern diese Schnur Zehe mögen. Nun basiert das Konzept hinter dem, was wir tun werden, wirklich in dem, was wir hier getan haben den Datei-Upload selbst zu
erkunden. Alles klar, als
wir die Auswahl der Datei gemacht haben, haben
wir die Datei gefunden, die ausgewählt wurde. Wir haben einige Validierung auf. Ich habe dieses Gericht überprüft, und ich denke, es wäre besser, die Verlängerung zu bekommen. Anstatt also den Dateinamen anzuschauen, um zu sehen, ob er enthält, bekomme
ich die Erweiterung, richtig. Also habe ich diese Veränderung so gemacht, wie wir sind, seit wir jetzt hier sind, und dann nehme ich sie an. Die Erweiterung enthält diese Schlüsselwörter für die Validierung sind, weil die Sache ist, dass wenn Sie Dateinamen tun, Sie könnten etwas eine TXT-Datei mit dem Namen J p.
Ghaben. G So könnte es jpg,
doc sein . Txt. Richtig, das war
also sagen wir einfach eine schlechte Entscheidung meinerseits. Wenn Sie es gefangen haben und Sie es bereits repariert haben, dann Lob an Sie. Kein Problem. Umso besser. Also lasst uns weitergehen. Also, nachdem wir validieren oder Datei, das wurde gerade ausgewählt. Was wir tun, wird auf einen Speicherstrom hochgeladen. Dann machen wir einige Umwandlung toe gehorchen 64 Datenzeichenfolge und dann verwenden wir, dass 64 Datum Astri Toe, erstellen Sie eine auf sofortige Darstellung oder Vorschau aus der Datei. Nein, was wir tun werden, ist auf diese Basis 64 Daten Toe verlassen, tatsächlich über die Leitung zwischen dem FBI und den Kunden zu transportieren. Also das ist eigentlich nur eine Zeichenfolge auf. Wenn Sie es betrachten, ist
es wie eine riesige Stille, die nur die Daten darstellt, so dass Sie aus den Daten konvertieren können. Dieser Speicherstrom stellt das Datum nach oben rechts dar? Der Leser stellt also die tatsächlichen Daten dar, oder zumindest die M s Spirale stellt die tatsächlichen Daten dar, die in den Speicher geladen werden, und es ist wie wo d es in eine statische Zeichenfolge serialisiert. Und dann können Sie diese Zeichenfolge auf re Ingenieur es in ein Bild nehmen, das so ziemlich das ist, was wir hier getan haben. Alles klar, ähm, was wir tun werden, ist, uns auf diese Linie außerhalb des Gerichtshofs zu verlassen, um uns die Basis 64 Daten zu geben, die wir dann in unserer Akteneigenschaft für das Buch abwischen werden. In Ordnung, also lasst uns das zusammen machen. Also,
erstellen Sie, wenn wir alle Details aus dem Bild und was auch immer sonst zusammenstellen und dann sagten
wir den Bildnamen. Lassen Sie mich das etwas wegziehen. Was ich tun werde, ist auch sagen, Modell dots Datei ist gleich M s Datei, die der Speicherstrom ist. Alles klar, das hat alle Daten. Da ist der Gedächtnisstrom. Also würde ich diesem Gericht jemals ein bisschen raten, wo statt mehrere Speicherströme einen Speicherstrom
haben, also wenn Sie das nicht getan haben, können
Sie es einfach ansehen. Wir haben einen Speicherstrom, der global für die gesamte Seite auf ist. Dann, was wir bei Handle-Auswahl tun, ist, dass wir diesen Speicherstrom mit den Daten fühlen, Also das bedeutet für den gesamten Lebenszyklus aus der Sprache, dass Member-Stream die Daten haben, die das Bild darstellt, das gerade ausgewählt wurde. Also alles, was ich an diesem Punkt tun werde, ist zu konvertieren. Es ist im Grunde, das zu tun, oder? Also dieses Bild Bay 64 Daten, wo wir konvertieren, nicht zu einem 64-Stream nur zu kopieren, dass da ich schon dort gewesen bin auf, das ist, was wird der Wert für die Datei sein. Also die Zeichenfolge, die an die Basis 64 generiert wird, die in
die Datei aufgenommen wird , dann über den Draht mit dem Modell gesendet wird, und natürlich unser Buch, BTO, hat
unser Buch,
BTO,die Datei Eigenschaft, so dass es es auf erhalten wird, dann wissen wir, was wir tun müssen, ist es zu verarbeiten, dann neu Ingenieur es in die physische Datei angezeigt werden, sind eher in unserer
Upload-Reihenfolge gespeichert werden . Aber alles andere bleibt gleich, denn wir bekommen immer noch den Bildnamen wie
gewohnt vom Kurs. Wir werden einige der Pfade Dinge ändern müssen, während wir weitergehen. Aber dafür sind wir hier. In Ordnung, also wissen Sie, dass wir das getan haben. Was wir tun werden, ist nur die Erstellen-Aktion für unser Buch zu ändern. Mach das einfach zur gleichen Zeit. Also haben wir am Tag erschaffen, wir werden ändern müssen, was drinnen passiert. Also werde ich nachsehen, nachdem wir all diese Operationen durchgeführt haben. Und ich werde das tun, nachdem ich weiß, dass es eine erfolgreiche Erstellung war, weil ich die Datei hochladen
möchte. Dann fühlt sich die Datensatzerstellung so an, dass wir einfach diese Operation nach oder überprüfen, ob es erfolgreich
war jemand zu sehen, ob nicht richtig String Punkt nicht leer ist. Das bedeutet, dass ihre Daten innerhalb dieser Zeichenfolge und die Zeichenfolge, die ich interget werde, ist in unserer Buch-BTO-Datei angedockt. In Ordnung, also denk daran, findet uns eine Zeichenfolge, also überprüfe ich. Habe ich etwas in das bekommen und den ganzen Weg, den ich etwas in die Datei bekommen sollte, ist wenn es eine Datei auf DWI gab. Ich habe das Bild sowie die physische Datei erhalten. Zeichenfolge ist 64 String. Richtig. Also, wenn sich diese Datei in den Daten befindet, tut mir leid, dann was ich tun möchte, ist, dass der Brunnen einen Bildpfad erstellt. Also ist unser Bildpfad, um unser Ich bin G Pass zu speichern, gleich auf. Wir brauchen unsere Umgebungen. Jemand, der wieder weitermachen kann. Ich müsste einige der Dinge enthalten, die wir in das Original aufgenommen haben. Also lassen Sie mich einfach zurückverfolgen. Also laufe ich gerade parallel, damit du siehst, dass das meiste von diesem Zeug, das wir vorher gemacht haben, mit dieser Art von Wissenstransfer, richtig? Also in unserem Datei-Upload, würden
wir in injizierten I Web-Host-Umgebung haben. Und das gibt uns Zugang zu den ganzen vier. Die Struktur der Serveranwendung. einmal, Web-Assembly-Anwendung hat keine Web-Host-Umgebung, aber unser FBI tut. Also würde diese Bibliothek nicht innerhalb unserer mit Assembly funktionieren. Deshalb haben wir das ganze Datei-Upload-Kabel zunächst auskommentiert, um die
Eros loszuwerden . Aber es ist sehr viel in unserem A ks vorhanden. Ich leihe mir nur diese Zeile auf Dinar Buch-Controller. Ich werde alles in Ordnung injizieren. Und natürlich, während wir es injizieren, hatten wir die fehlende Referenz. Sobald Sie das getan haben, können
Sie fortfahren. Also, wenn wir über Bildpfad erstellen, werde
ich so etwas sehen müssen wie was? Ich benutze nur meine Interpolation, um den ganzen Weg zu bauen, also zuerst unsere Umgebung zu bekommen. Also unterstreichen Sie die Neidpunkte auf. Dann, in der vorherigen, die wir verwendet haben, lassen Sie mich sehen, was wir beim Datei-Upload verwendet haben. Wir verwenden Webroot Pfad jetzt. Es gibt keinen Webroot Pfad, weil Www Route ist was Route Pot. Es gibt nirgendwo Rupa In unserem Morgen, wir haben keine www-Wurzeln. Stattdessen muss ich den Content-Routenpfad verwenden, wo unser Applaus dafür ist, sowieso der Root-Pot für all unsere Fasten ist, richtig? Also werde ich sagen, Wo war ich im Controller Envy Dots Content Route Pfad auf. Dann werde ich nur den gesamten Teil hier aufbauen Schrägstrich Uploads Schrägstrich Denken Sie daran, wir müssen den doppelten Schrägstrich wegen Escape-Zeichen auf machen. Dann werde ich Buch GTO Punktbild sehen. Richtig, also das Buch Detail nicht Bild, weil ich weiß, dass das ist, was ich sehen will. Vitter hat Recht. Ich möchte es in den Uploads sehen. Folo auf dem Bildnamen oder der Familie und ich stieß auf die Pfeife im Detail. Objekt befindet sich in der Image-Eigenschaft. Das ist also die Erkenntnis, die ich verwenden möchte. Alles klar, dann werde ich über Bay 64 String konvertieren. Das war in der Akte. Eigenschaft im Schlepptau. Ach, beiß, beeil dich. In Ordnung, also schaffen wir den Biss, Ari. Ich meine,
das hätte leicht bar gefeuert werden können, aber ich benutze die explizite Datenzeit, nur damit Sie genau sehen können, was passiert. Also sehen wir Biss, Ari. Bildbisse sind gleich der Umwandlung von Bay 64 String. Richtig. Und wenn man sich nur die Überlastung anschaut oder das, was es braucht, es braucht, kehrt
es auf meinem Atari zurück, und es braucht eine Straße. Wir haben beides. Also haben wir den Bissbereich, um ihn zu empfangen, und wir konvertieren die Saite. Das ist die Basis-64-Zeichenfolge, die in der Datei gefunden wird. Na gut, dann
weiter. Sobald wir das alles getan haben, machen
wir einfach alles wieder abgelegt. Also sehen wir im Grunde eine Datei, die widersprüchlich ist, weil ,
okay, ich will diese Dateifunktion nicht. Die Funktion ist, die ich will, sind die Klasse. Ich will verzweifelt im System, dass ich diese Akte schulde, damit Sie diesen Konflikt haben könnten. Wenn Sie diesen Konflikt haben, müssen Sie
ihn nur qualifizieren. System, das ich nicht Datei werde, ist gleich abschreiben. Entschuldigung. System, das ich nicht Datei Punkt rechts, Alle Bisse auf. Dann haben wir den Bildteil, auf
dem wir gerade aufgebaut haben. Dann beißt das Bild. Alles klar, in Ordnung. Also habe ich einen guten Geist, das für eine Spin zu nehmen, also werde ich einfach unser Projekt starten. In Ordnung? Also bin ich als Admin eingeloggt,
und ich bin in den Büchern sexuell unimisch auf die Seite erstellen rechts von der Aber ich bekomme einen Fehler. Also lassen Sie mich einfach die Konsole überprüfen und sehen, was los ist. Ich erhalte einen Fehler, für den wir Blazer-Eingaben nicht finden können. Das bedeutet also, ich vermisse eine Referenz. Irgendwo auf dieser Referenz befindet sich eine JavaScript-Datei. Also in den Hosts oder der Host-Datei aus dem Serverprojekt, hätten
wir es Boote aufgenommen. Ich denke, ich Es übersieht diese Inklusion, wenn wir durchsuchten. Also gehe ich einfach über das Web-Assembly-Projekt in der Indexdatei auf die gleiche Weise. Und dann versuchen wir es noch einmal. Ok. Und wir sind wieder dran. Diesmal gibt es keinen Fehler, also lassen Sie uns einfach fortfahren. Ich werde weitermachen und ein Buch erstellen. Also dieser hier, ich werde es Auto Bio nennen. Ich werde es auf Spn geben, geben Sie ihm einen vernünftigen Wert. Ein Autor, der einen Preis auswählt. Mein Buch über dann Momente gewartet haben, wird einen weit irgendwo wählen, um meinen Kopfschuss zu wählen. Klicken Sie dann auf Buch erstellen auf, dann wurden umgeleitet. Und wir haben unseren Erfolg, Mrs. ich schätze, etwas ging direkt in unserem Visual Studio vor. Im Projektmappen-Explorer. Wir sehen, dass wir diese Akte tatsächlich über den Hecht haben. In Ordnung, also sehen wir, dass ein 64-String konvertiert wurde. Nicht auf die Batterie und geschrieben an der richtigen Stelle auf, dass ist unsere Hoffnung. Schließen Sie den Ordner. Genau hier. Das funktioniert also gut auf DNO. Wir können unseren Proof of Concept auf den anderen Seiten fortsetzen. Das war also für den Bach. So kann ich schließen, dass die Komponente fertig ist. Was ich tun muss Nein,
für unsere Ansicht, für unsere Ansicht, Index und Raisel ist, um sicherzustellen, dass unser Bild tatsächlich auf die andere Weise gesendet wird,
was bedeutet, dass wir von der a p R vom Server senden. Also, die Klienten, wie soll ich das machen? Nun, ich habe erwähnt, das ist, was wir unsere neue Property Call Datei für richtig haben. Also müssen wir toe von der physischen Datei in A durch seine 64 Zeichenfolge auf Basis 64 String konvertiert. Tut mir leid auf. Legen Sie es dann in die Datei im Objekt ein senden Sie es
dann über den Draht. Also lassen Sie uns diesen Prozess mit unserer Sicht beginnen. Komplette gut Ansicht Komponente zuerst, aber die Ansicht Ah, Aktion. Wo wir Also, wo Sie Bücher bekommen? Das ist Buch ein Buch. Alles in Ordnung, jetzt in Buch holen. Was ich tun möchte, ist den Weg von dem Bild zu bekommen, das innerhalb von der Aufzeichnung ist. Also, wenn wir den Datensatz zu bekommen, wenn es einen Bildwert gibt, weil es sehr gut nicht ein Bild an die Bücher angehängt werden benötigt, so müssen wir nur bekommen wollen. Wenn es tatsächlich ein Bild gibt, stellen Sie sicher, dass die Datei existiert und dann konvertiert wird, denn wenn wir das alles nicht tun, wird es definitiv eine Ausnahme abfangen. Und nur durch eine 500 0 jedes Mal, wenn wir versuchen, navigiert Also werde ich zuerst tohave toe, tun etwas wie, nachdem wir den Rekord auf dann haben wir Markt in die DT Oh, Ich werde auf DSI überprüfen, wenn unsere Bild-Eigenschaft ist nicht wissen, Lar leer rechts. Also, wenn String-Nüsse nicht alle sind leer, nicht String ist nicht leer auf Antwort Stock Bild Bedrohung Also wir stellen sicher, dass
es in der Tat einen Wert. Dann brauchen wir den Weg vom Bild. Nein, ich habe bereits kalt so geschrieben in der erstellen, wo ich den Weg richtig bekam. Und dann bin ich hinter ihm her. Ein ähnliches bisschen außerhalb des Gerichts kennen meine Philosophie und eine gute Faustregel ist, dass, wenn Sie dasselbe mehr als einmal in mehr als einer Spezies
schreiben müssen , es an einem Ort
schreiben, wo jeder es nennen kann. Also mit anderen Worten, ich bin nur in kreative Funktion, die Ah zurückgeben wird, vollen Weg für jedes gegebene Bildbedürfnis, richtig, so an der Spitze. Und es gibt keinen besonderen Grund, zu den Top-Booten zu gehen, wissen
Sie, Sie können eine Funktion überall innerhalb eines Controllers schreiben. Ich meine, einmal stand in der Klasse. Aber ich werde dieses hier an die Spitze stellen, und ich werde nur eine schnelle,
private String-Funktion erstellen, die sehen wird, bekommt Bildpfad. Alles klar drauf. Dann wird es einen Parameter nehmen, und das ist privat. Es wird Parameter-String-Imagining aufnehmen. Mal sehen. Nun, endlich endlich, String jetzt, Cooles Ding. Ah, Boot c scharf es nach oben ist, dass wir all das an einem Ende machen können. Aber ich werde Ihnen zuerst etwas zeigen, wo ich zurückkehren werde, und dann werde ich nur die gleiche interpolierte Zeichenfolge machen. Aber dieses Mal werde ich ihn finden, weil wir vorbeikommen und ihn gefeuert haben. Also habe ich die Umgebungsinhaltsregeln. Der Ordner aus nächster Nähe auf dem Feuernamen wird auf diese Weise übergeben. Jedes Mal, wenn wir diesen Volleren befragen müssen, können
wir einfach den vollen Teil von dieser Funktion bekommen. Na gut, , dann, wenn es ist, dass wir,wissen
Sie, wissen
Sie, wir hatten mich dafür in anderen Klassen oder anderen Einstellungen, die nicht nur in diesem Controller sind als wir es ein bisschen machen können zugänglicher, aber für nein, dies ist der einzige Ort, den wir brauchen es jetzt, siehe, scharf. Es erlaubt uns, all dies ohne die geschweiften Klammern zu schreiben. So können wir fast richtig, wie der Lambda-Ausdruck, wo ich den buchstäblich den Lambda-Zeiger sehen werde, dann öffne und schließe die Brise an. Dann, was auch immer du zurückkehren willst. Also jedes Mal, wenn Sie diese einen Liner gehen,
Söhne, wo er keine schnelle Berechnung und Rückkehr braucht, können
Sie es
wirklich so schreiben . Alles klar, also zeige dir nur einen anderen Weg, um hier zu funktionieren. Also, hier wird
dies nur den vollständigen Pfad für jeden Bildnamen zurückgeben, der angegeben wird. Alles klar, dann kann ich voran gehen und den Teil ersetzen, in dem wir sagten, Feuerbild Teil ist gleich Zehe, und wir haben all das geschrieben. Ich werde all diese statische Zeichenfolge ersetzen. Und ich mag es nicht, statische Strings zu sein, die nach der Rekonstruktion nie
gut sind. Sie nennen das magische Saiten bei dem, was passiert,
ist,dass , man einen einfachen Fehler machen kann, und es wirft alles weg. In Ordnung, also ist es einfacher, auf einmal zu konstruieren und alles andere fertig zu machen. Also hier sage ich nur, Holen Sie mir den Bildtopf für beide GTO Bild. Also ersetze ich es einfach durch einen ehemaligen versenkten. In Ordnung, also werde ich das Gleiche drinnen machen. Aus, rüber. Wo waren Wir suchen nach der Aussicht, richtig? Also hier werde ich anfangen, indem ich den Bildpfad bekomme. Andi, es geht nur um die Schnur zurück, also hatte ich unseren eigenen Flaum. Es ist schrecklich, dass wir das haben. Unser MG-Pfad ist gleich Bild zu bekommen. Fünf. Buchbild, richtig? Das ist also der Weg, den wir wollen. Dann, als weitere Vorsichtsmaßnahme, möchte
ich überprüfen, ob es existiert, oder? Also, wenn es existiert, dann will ich die Operationen durchführen, verstehen? Um zu sagen, wenn System, das ich o dot Datei existiert diesen Bildpfad auf, dann werden wir Ari irgendwo konstruieren oder beißen, um es zu sagen. Ari auf. Ich werde es nur nennen, ich bin G beißt gleich, und dann haben wir unser System, das ich schulde, nicht auf Datei. Dann werden wir sehen, lesen Sie alle Bisse weiter, dann den Ich bin G Pfad oder den Teil an die Grenzen. Also sehen wir alle Bisse lesen. So bin ich GPAs. Alles klar, also lesen Sie alle Bisse, die diese Datei hat. Dann werden wir uns bekehren. Ich bin G beißt 64 zu sein. Dann beginnen Sie als Antwort oder gehen, um eine Antwort zu sehen. DOC-Datei ist gleich, um Punkte auf Basis 64 String zu konvertieren. Dann geben wir meine AMG Bisse vorbei. Also hier dekonstruieren wir das Bild im Schlepptau. Diese Zeichenfolge, die nur Daten enthält. Wenn Sie also einen Blick auf die Nutzlast werfen, können Sie es
vielleicht testen. Postbote sind so weiter. Aber alles, was Sie darin sehen, ist nur eine lange Zeichenfolge mit einem Haufen scheinbar zufälliger Zeichen. Nein, innerhalb der Komponente, in der wir tatsächlich beabsichtigen, das Bild zu sehen, wenn wir das Buch überprüfen. Wenn es eine Bildperson gibt, die wir brauchen, um das Bild richtig zu sehen, was es tut, ist
Rando, dass es ein Gericht vom Server hat, also meine ich, wir können aufregen, aber es ist nur Blick auf die Uploads für dieses Bild gibt es jedoch keinen geschlossenen Ordner in unserem Web-Assembly-Projekt auf. Darüber hinaus hilft
dieser Bildname schlechter nicht. Aber wir haben gerade die Daten für das Bild auf dem Weg zurück zum Beispiel aus. Der Schöpfer sollte es nicht. Natürlich ging
es nur noch zum Beispiel des Create zurück. Wir konstruierten, was wir Bilddaten nennen. Sie sind l Rechte wurden die Grundlagen verwendet, bevor auf, die als Quelle für die
Vorschau aus dem Bild verwendet wurde . Also, da wir zurück sind, gehorchen 64 String. Was ich tun werde, ist, dass ich diesen Abschnitt hier auf einer Kopie entferne, unsere Kälte, die verwendet wird, um die Basis 64 zu konstruieren. Also werde ich diesen Teil einfach kopieren. Ordnung, , dann,
in dir, das ist, was ich eine Sorte aufstellen werde, damit sich das anmeldet, alles von dem. Aber es gibt kein Image Bay 64. Aber wir haben unser Modell angedockt, was hat das eine 64-Saite von Kurs sein? Wenn nichts zurückkommt, ist
die Saite nein? Dann wissen wir dieses Bild, wie wird schon aussehen. Richtig? In Ordnung. Also lasst uns das noch einmal für einen Spin nehmen, was wir gerade getan haben, war zu jagen, streichelte unsere Bilddatei für die Ansicht, Ordnung? Und wir werden wissen, klicken Sie auf die Ansicht und sehen, was kommt zurück. In Ordnung, also sind wir wieder auf unserer Liste von Büchern auf. Dann. Wenn ich eine von diesen Büchern
sehe, bin ich sicher, ich werde eine Form aus Fehler bekommen oder gut, wir bekommen kaputtes Bild. Da ist nichts. Kein Problem. Aber dann, wenn ich Auto Bio ansehe, was ungefähr ist, dass wir gerade erstellt haben, wo wir die hochgeladene Datei haben, dann werde ich mein Bild sehen. Ordnung, also dieser war die serialisierte Ursache, dass die Datei existiert. So wurde es in die Basis-64-Zeichenfolge konvertiert, die über die Pipe als statische Zeichenfolge gesendet wurde, dann nur, Sie wissen, bei diesem Vorschaustich
angezeigt wird. In Ordnung, also wenn diese beiden fertig sind, wäre
die nächste, die wir ändern müssen, um sicherzustellen, dass das Bild in der
Auflistung erscheint . Wenn es vorhanden ist, Andi Toe haben die jede Seite richtig funktioniert. Also sehen Sie, ich klicke auf Bearbeiten, und es hat nicht einmal angefangen, Lord zu belästigen, weil es nur einen sofortigen Fehler gibt. Als ich versucht habe, es zu laden, also müssen wir das beheben. Wenn wir zurückkommen, werden
wir die Indexliste sowie die Seite Bearbeiten korrigieren.
63. Blazor WebAssembly und API (Bearbeiten und Auflistung): Ihr Jungs willkommen zurück. Das letzte Mal, als wir hier waren, sitzen
wir auf oder erstellen auf Ansichtsseiten, Zehe Arbeit mit dem neuen Paradigma vom Senden und Empfangen von Bilddaten vom Affen noch? Nein. Wir werden anfangen, mit der Bearbeitung zu arbeiten. Andi,
ich habe viel von der Schnur geschrieben. es noch nicht getestet, aber ich werde Sie durch jede Zeile führen, die ich schrieb, was es tut, und dann werden wir es zusammen testen und wieder Faktor zusammen. Beginnen wir also mit der Tatsache, dass ich eine neue Funktion in das Buch-Repository auf
Die eingeführt habe . Ruf es an. Holen Sie sich die Ablage von Bildern. Ordnung, also der Zweck dieser Funktion wird toe sein, rufen
Sie einfach den Bildnamen ab , der in der Aufzeichnung steht, wenn ein Opiat ausgeführt wird. Nun, der Hintergrund dafür wird sein, dass, wenn Sie ein Buch bearbeiten und eine neue Datei hochladen, ob es sich um die gleiche Datei handelt oder nicht, was ich tun möchte, den Dateinamen vergleichen möchte, der über den Draht kommt, direkt mit der feine Name, der in der Aufzeichnung ist. Nun, wenn Sie den gefundenen ihn nicht geändert haben, wird diese Einreichung gleich sein. Wenn Sie die Datei
jedoch geändert haben, werden die Ergebnisse unterschiedlich sein. Und dann müssen wir die alte Datei an der neuen Datei entfernen, genau wie wir es mit dem Datei-Upload-Dienst getan haben, wo wir die alte entfernen und
die neue setzen mussten . Es ist ein ähnliches Konzept, aber dann wissen Sie, wo unsere Hände sind. Irgendwie müde? Nein, denn alles, worauf wir uns verlassen können, ist Text. Also, sobald die Daten von den Kunden gesendet nein, wir müssen verhört, um zu sehen, ist der neue Dateiname wirklich eine neue endgültige Bedeutung, nachdem Sie den Datensatz bearbeitet haben? Habe ich einen neuen Dateinamen erhalten oder ist derselbe? Finden Sie ihn, wenn es dasselbe ist, als ich nichts tue. Wenn es neu ist
, muss ich etwas tun. Also habe ich das gerade eingeführt, um den Dateinamen für jedes Buch abzurufen, das auf Idee gegeben wurde. Richtig? Und ich habe das in das Buch-Repository auf DSO in der Buch-Repository Concrete Klasse. Natürlich, nach der Implementierung Schnittstelle, die mir dann diese neue Funktion geben würde. Also habe ich es zu einem synchron gemacht. Was es tun wird, ist nur die Bücher zu holen. Nein. Als ich dieses Gericht schrieb, stieß
ich in eine Ära Boote, mehrere Ideen gefangen waren. Das ist wahrscheinlich, weil, wenn Sie es laufen Ah, Basil trägt es im Controller, es versucht, das Meer zu finden und zweimal zu buchen und Transit Carrollton Operation auf einer Instanz
davon , während die andere aktiv ist. Also, wenn Sie sagen, wie keine Sendungsverfolgung seines Verkaufs in ein anderes Wort, dass ja ,
Ich habe nachgeschlagen,
die Bücher werden nach einem Buch gesucht, aber ich verfolge nicht seine eigene Spur es nicht als irgendeinen Punkt aus Referenz für jede
Operation verwenden . Alles klar, damit Sie mit und ohne diese Funktion versuchen können und Sie sehen, dass die Ausnahme auftaucht, können
Sie einfach auf den Haltepunkt auf der Fanglinie in der Aktion für die Aktualisierung setzen. Dann bin ich mir ziemlich sicher, dass es diesen Haken mit diesem Fehler treffen wird. Wenn nicht, dann bitte sie. Sie wissen
jedoch, jedoch, dass so immer im Sinn Also alles, was ich tue, ist, das Buch als kein Tracking zu bekommen, wo der erste oder Standard hat, dass ich d Nummer auf. Dann werde ich das Bild bekommen, so dass alles, was ich von dem will, ist die Zeichenfolge der endlich Alles klar? Nein, in der Steuerung, was ich getan habe und Sie können sehen, ich war hier d Brillanz. Und das haben wir gerade entfernt. Was ich getan habe, ist, nachdem wir alle vier Küken gemacht haben, habe ich den Aufruf an den get-Dateinamen bekommen Bild endlich in Funktion direkt hier, kurz bevor wir tatsächlich das Wischen und die Umlaufbahn machen. Also rufe ich dann den Dateinamen ab. Der Grund, die Familie vor dem Update abzurufen, ist, dass gut an diesem Punkt ernannt, die alte finden ihn ist da. Also die Familie und verändert, dann wissen wir nicht mehr, was das alles schöne Name war Andre. Dann wissen wir nicht, was zu entfernen oder Uploads Ordner. In Ordnung, also sage ich, dass der ganze Dateiname, auf dem es derzeit altes Bild ist. Dann machen wir das Opiat, dann sind wir gegangen, um einen Scheck zu machen. Ich werde sagen, ob der Bildwert, der durch das Datenübertragungsobjekt kommt, gleich dem
alten Bild ist . Also, natürlich kann er einfach innehalten und dann, weißt
du, das Kabel
replizieren. Aber ich wollte nur erklären, ist der Bildname, der durch die a p kommt. Ich nenne das gleiche wie das alte Bild, wenn sie nicht gleich sind, als ich will, dass die alten Emitate finden. Ich bekomme den Pfad zum alten Bild, und ich möchte das alte Bild löschen, damit das ähnlich ist, wie wir in unserem I A
Datei-Upload-Dienst gemacht haben , richtig? Akzeptiert wahrscheinlich kürzer, weil es nicht das System hatte, das ich würde. Aber das ist in Ordnung. So dasselbe. Also überprüfen wir nur, ob es existiert und löschen es. Wenn ja
, dann wenn sie nicht gleich sind. Selbst in dem Fall, wo vielleicht die Datei vollständig entfernt wurde, bedeutet dies, dass dies keine
wäre oder einfach eine leere Zeichenfolge wäre. Wenn es also eine leere Zeichenfolge ist,
was bedeutet, dass die Person das Buchcover nicht mehr auf diesem Buch will, aber sie würden lieber Bild kennen, dann müssen wir das vorhandene Bild jede Woche entfernen. In Ordnung, dann gehen wir weiter zu überprüfen, ob die Dateieigenschaft nicht groß leer war, sind nicht so. Sie sehen bald, wo ich sagte, das Feuer Eigentum, aber es wird im Grunde an der gleichen Stelle gesetzt werden, wo es für die schafft richtig war? Denken Sie daran, es sieht sehr ähnlich, aber Wir werden sehen, dass in einem Moment. Also, wenn sie, wenn die Datei tut mir leid, wenn die Dateieigenschaft im Buchdatentransferobjekt
nicht null ist , leer sind, dann werde ich es in einen Biss konvertieren wollen. Ari macht die gleiche Weise, wie wir es in der erstellen erstellt in die umgewandelt in eine Batterie. Tut mir leid, richtig. Alle beißen Zehe oder neuen Pfad mit unserem neuen Image Name Boot GTO dot Image auf. Dann haben wir ein neues Bild auf unserem Server. Nein. Noch einmal, wenn eine Bearbeitung auf Bindung durchgeführt wird, hat sich
nichts mit dem Bild geändert. Dann wird dies nicht auf dem Weg passieren, den wir die Komponente einstellen. Die einzige Möglichkeit, die Datei mit einem Wert festgelegt wird, ist, wenn sich der Bildname trotzdem geändert hat. So wird es sein, wie wir das ausführen. Nein. In der Editierkomponente
habe ich damit begonnen, Notizen zu machen. Die Verweise auf den i Datei-Upload-Dienst. Ich habe die entfernt. Ich habe die Vorschau geändert, um zu sehen , wissen
Sie, haben die SRC genau wie oh, wir hatten es in der erstellen. Sie können einfach rüber gehen, um das Bit off-court zu erstellen und zu kopieren und es dort dort einzufügen, dann innen von unserem Griff, sei es alles, was ich getan habe, war die Referenzen entfernt, die Funktionskosten des Datei-Uploads noch einmal. Aber fügen Sie die Tatsache hinzu, dass ich eine Datei so richtig einfüge. Nein, ich habe gerade wieder nachgesehen. Es scheint, dass die falschen Faktoren stoppen und Tempo einige Medienraum. Der Wagen, in dem ich umwandle, gehorche 64 String den Speicherstrom, Ari. In Ordnung, das ist
also dasselbe. All dies sieht so aus wie es in den Schöpfungen aussah. Na gut, , dann weiter. Hören Sie nicht, wenn sich etwas geändert hat, wir leeren nur das Bild. An welchem Punkt, wenn sich die Bild-Eigenschaft
wieder ändert, wo sie einen neuen Wert erhält oder es ein leerer Wert ist, wenn sie hier rüber kommt, wird der Vergleich zwischen dem, was auf dem existiert, was es ist. Nein, dann löschen. Alles klar, löschen Sie die alte auf, dann. Wenn sich Inhalt in der Datei befindet und die neue neu erstellt wird,
wenn sie
hierher kommt,wäre
der Verweis auf hierher kommt, die neue Datei bereits in der Aktualisierung festgelegt worden. Alles klar, also würde alles in diesem logischen Muster irgendwie abfließen. Nein, ich werde es nur für einen Spin nehmen, in
Ordnung, Ordnung, also lasst uns weiter gehen und versuchen, den Datensatz, den wir erstellt haben, zu bearbeiten. Seit wir diese Dinge modifiziert haben, bekomme
ich diesen Fehler wieder,
und ich nehme an, es bezieht sich auf die Tyrannen. Sind Eingänge. In Ordnung, Bitte geben Sie die Datei ein. Also verstehe ich diese Ära. Aber im Allgemeinen, wenn ich aktualisiere, geht
es zum Zeitpunkt dieser Aufnahme ein Verstorbener weg, ich denke, es ist ein Pfeil mit dieser Bibliothek und Web-Assembly, also bin ich sicher, dass wir bald aussortiert werden. Aber lassen Sie uns vorwärts drängen. Also werde ich dieses Bild ändern. Ich lächle. Ich mag die Tatsache nicht, dass ich lächle, einige setzen mein ernsteres Stück auf. Ich werde mein Buch für die Ewigkeit sagen, richtig? Nur auf Veränderungen. Änderungen einreichen auf was dann? Ich hatte da einen Bruchpunkt. Lassen Sie mich einen Bruchpunkt setzen, den sie fangen, um zu sehen, ob es irgendwelche Ausnahmen abfangen wird. Nehmen wir Notizen von dem Dateinamen, der da ist. Es ist eine D etwas, und das ist die Akte. Irgendwo, um voran zu gehen und drücken Sie F fünf es trifft nicht die Ausnahme auf dann. Wenn ich sehe, sehe
ich mein neues Bild. Wenn ich zum Lösungs-Explorer zurückgehe, werde
ich sehen, dass sein Beifall Es gibt eine neue Datei. Da gibt es. Also gehen wir hin. Wir können die Dateien auf ersetzen. Dann werde ich versuchen, dieses Buch erneut zu bearbeiten. Aber ich werde das Bild nicht ändern. Ich gehe nur auf die Zehe. Hier ist die Zusammenfassung, die von mir geschrieben wurde. So machen Sie Änderungen an den Änderungen eingereicht wurden. Wenn ich noch einmal schaue, ist
das Bild immer noch da. Onda. Wir haben die Änderung, die eingereicht wurde, vertreten. Alles klar, das ist gut für die Bearbeitung, die letzte Sache und wahrscheinlich das Wichtigste. Und du fragst dich, okay, wann wir sie dazu bringen, die Bilder hier in der Liste zu reparieren. Ordnung, also lasst uns jetzt zu diesem gehen, um die Daten zu ändern, die in der
Indexliste gesendet werden .
Wir müssen ändern, was passiert, wenn wir die Bücher bekommen. Also die bloße Tatsache, dass wir wissen, Konzert dieser Basis 64 Saite wird marschieren wird wird sich ändern Wie wir ein Boot Gebäude alten unser Response-Objekt gegangen. Unser Response-Objekt ist auf Objekttyp oder eine Liste aus Typ dieses Buch Datenübertragungsobjekte. Was ich tun muss, ist Luke durch jeden. Dann existiert für jeden mit einem Dateinamen auf der Datei, dann werde ich die entsprechende Bay 64-Zeichenfolge damit senden. Alles klar, also lass uns das einfach zusammen machen. Also für jeden auf der doppelten Zeit, nur allgemein Quelle davon, und ich lasse es in Artikel als Antwort. Moderator. Richtig für jeden Artikel. Als Antwort darauf, was ich tun werde, ist zu sehen, ob die Zeichenfolge, die den Bildnamen enthält, nicht null ist, leer ist, oder? Also werde ich das nur mit denen tun, die Werte haben. Wenn du nicht kommst, erzählst du nichts von dir. Sagen Sie, Sie haben kein Buch. Du bekommst diese spezielle Behandlung nicht, oder? Also, wenn sie Bildfeld nicht leer ist, sind keine Bedeutung, dass etwas da ist, dann werde ich sagen, wenn das System verdunkelt Ioo Dot Datei nicht existiert. Andi, überprüfe den Pfad, damit sie den Bildpfad übergeben. Element, das Bild. Alles klar, das ist
also nur das Doppelte noch eine Überprüfung, nur um sicherzustellen, dass Sie wissen, dass die Datei existiert. Denn wieder einmal werden
wir eine Ausnahme treffen. Wenn wir versuchen, nichts im Schlepptau zu konvertieren, Obey 64 Street direkt an. Dann würde diese Konvertierung genauso aussehen wie mit dem Buch, wo wir nur unseren Biss brauchen. Beeil dich. Und sie waren dabei, seine einzige tun, das schnell zu konvertieren, so dass dies keine Antwort sein würde , dass weit Antworten Die Liste Partei wäre itim dot file Right. Also noch einmal für jedes Element innerhalb der Antwort werden
wir überprüfen, ob es ein Imagine gibt, ob es ein Bild gibt, existiert eine Datei tatsächlich, oder? Denn denken Sie daran, dass, wenn ich die gleiche Datenbank verwende, um, oder die gleiche a p ich, die wir für den Webserver verwenden. Diese Datensätze haben Bilder, aber basierend auf dem neuen Pfad, sie wollen nicht existieren. Also müssen wir überprüfen, ob sie existieren, und wenn sie existieren, dann gehen wir zu lesen. Okay, lassen Sie mich hier etwas tun, anstatt Dysfunktion zweimal anzurufen, weil ich es brauche. Nicht hier auch, ich werde nur unseren I bin G Pfad speichern, der gleich dem Funktionsaufruf ist. Na gut, , dann ging ich, um zu überprüfen. Wenn es auf existiert, wenn es existiert, dann wird es dort verwendet. Alles klar, dann lassen Sie uns das Angebot ändern. In Ordnung, also die Teile, in denen wir das Bild anzeigen, das Bild SRC erschien. Wieder einmal, werde
ich nur diesen Zeh ändern. Die Art von Kurs, die wir für die Ansicht hatten, verstehen Sie? Kopieren Sie das. Forward-Index, der es im SRC-Abschnitt auf diesem basiert, wäre kein Modell ein Feuerball. Jetzt ist es Buch über Akte. Alles klar, auf DSO Für jede Platte, die das Bild hat, sollte
es zeigen, sonst wird das kein Land sein. Wir werden dieselben gebrochenen Bilder sehen, die wir sehen. Nein. Irgendwie vom Kurs, würden
Sie wahrscheinlich wie
ein Standardbild setzen wollen . Oder Sie können, wissen
Sie,
überprüfen, ob es nein ist und keine Textanzeige sind keine Bildanzeige oder etwas, aber lassen Sie uns einfach testen, wie es ist. In Ordnung? Wenn also die Seite geladen wird, sehen wir, dass unser Bild erfolgreich angezeigt wird, alles klar, sie können wahrscheinlich auf jedem der anderen durchgehen. Und noch einmal bekomme
ich diese Ära. Ich werde einfach frisch sein und dann weitermachen. Wählen Sie die Datei aus. Lassen Sie mich einen anderen wählen. Aan den, Änderungen
einreichen. Alles klar drauf. Sehen wir, dass es jetzt richtig angezeigt wird? Alles klar, das ist
so ziemlich es für den Umgang mit dem Datei-Upload. Wieder einmal mussten
wir all dies tun, da die Webassembly nicht unbedingt das Hosting von
Dateien auf einem Client-Computer unterstützt . In Ordnung, also mussten wir uns dafür auf den Server verlassen. Also, wenn wir mit dem sp dot net core gehosteten Modell gegangen sind, dann der Server oben, wie wir den Server hier oben haben, den wir bereits erstellt hätten. So hätte der Server oben als das Tier auf dem Server toe-Store,
die Uploads gehandelt . Richtig? Also, wenn wir mit dem Host und Waddle gehen, hätte
es uns die Web-Assembly gegeben, sowie der Server, der bereits verbunden ist. Wir hätten leicht die Upload-Struktur auf die Upload-Vorteile nutzen können, da die statischen Dateien hier sind. Ordnung. Aber dann gingen wir mit Standalone-Client auf DSO. Wir untersuchen nur alle Optionen, wie es wirklich ist, es ist Toe Server versus Art. Als Nächstes werden
wir uns progressive Webanwendungen ansehen, von denen ich denke, dass wir bisher ein ziemlich guter Job waren. Off Porting oder Blazer Server bis zu einem Blazer, die Montage bis nirgends haben wollen, um die
Vorteile aus der Web-Assembly zu betrachten , nämlich die Tatsache, dass es nativ oder fast nativ auf fast jedem Gerät installiert werden kann.
64. Progressive Webanwendung: Leute, willkommen zurück. Also in dieser Lektion, werden
wir auf ganze progressiven Web-Anwendungen suchen arbeiten jetzt. Eine progressive Webanwendung im Allgemeinen ist in der Regel eine einzelne Strandanwendung, die
Broza MPs verwendet , und dies ist in der Regel ein moderner Browser. Andi. Ich würde in der Regel sehen, Google Cruel ist freundlich an der Spitze aus dem Bereich Andi. Die meisten anderen Browser basieren auf der Chrome-Engine, aber immer noch, Crume hat bestimmte Dinge, die andere Brüder nicht tun können. So oder so, es verwendet diese modernen AP Augen. Das ist diese Rosen haben niemanden Zeh Fähigkeiten wie eine Desktop-Anwendung. Mit anderen Worten, Sie können uns einzelne Seite Web-Anwendung aufbauen, die dann wie eine Client-Seite handeln kann. Sie stoppen oder native Anwendung toe, was auch immer System. Also, wenn Sie Bruder auf Ihrem Handy ist, können
Sie in der Lage sein, es herunterzuladen, wie es auf oben ist. Er kann Benachrichtigungen an sie senden. Es hat Offline-Stimmung, so dass es, wissen
Sie, wann immer Verbindung bekommt, es sich verhindert. All diese wunderbaren Möglichkeiten gibt es mit progressiven Web-Anwendungen. Das erste, was ich tun werde, ist mein Debugging Roeser zu ändern. Also werde ich den Abschlussball nicht aufbrauchen, wenn ich ihn in Crume umwandeln soll. Also, wenn Sie nicht haben chromatische Kante ist auch in der Lage. Aber stellen Sie sicher, dass Sie einen von denen auf verwenden. Dann ging ich, um unsere Anwendung zu starten. , Also,nachdem Sie es in Chrom gestartet haben, können
Sie ein Pluszeichen Zehe dieser Anschlag rechts hier sehen, und wenn Sie darauf klicken, dann wird es Sie auffordern, zu installieren. Die Sache ist also, dass wir, als wir über den kreierten, der das Projekt schickte, darauf achten, progressives Web auf zu nehmen, weil wir das getan haben. Wir haben ein paar Akten. Diese Art von lassen Sie es einfach wissen, dass es progressives Web sein soll. Der Browser erkennt diese schnell und so sagt er,
Oh,
ich habe es Oh, mit einem progressiven Web zu tun. Nun, dann haben Sie die Möglichkeit, mich zu installieren. Also werde ich auf Installieren klicken,
und dann, was passiert ist, dass es tatsächlich diese Anwendung hier auf meinem Desktop
Safe installiert hat. - Du was? Sie können meine Statusleiste nicht sehen. Aber wenn Sie sich mein Startmenü
ansehen, sehen, dass die oben ist genau da auf, wenn ich alles in Ordnung schließen, das wird mich Ausfahrt d Boot festgemacht machen. Aber dann, wenn ich wieder in Menschen mehr,
mit nur der Art, wie wir erscheinen,
etwas, um es zu ändern, nur die Art und Weise, wie ein p i mir gerade gesagt, dies zu ändern. Ein Start von Projekten. Alles klar drauf. Nein. Mit nur dem Web AP, den ich auf meinem Desktop ausgeführt
habe, kann ich voran gehen oder eher in Deeble More, ich kann diese Anwendung direkt von meinem Desktop aus ausführen. Es läuft also nativ auf meinem Desktop. Nein, es ist nicht mehr ein Bruder. Was wir in unserem Projekt hatten, war die Manifestdatei. Also ich denke, ich gebe eine kurze Orientierung Bilder Schule und finde es Manifest, dass Jason. Damit können
wir tatsächlich das Aussehen und das Gefühl aus dem Fenster ändern, wenn wir die oben installiert haben. In Ordnung, also mit dem Manifest kann
nicht Jason endlich darstellen, wie die aber gewachsene Farbe, die Fensterfarbe, diese Art von Dingen, all das. Aus dieser Datei ist es möglich ,
also kann ich mich einloggen. Das würde also in Buchhandlungen bedeuten. Komm schon, mein Standardpasswort, und dann wird es wieder. Und dann siehst du, dass Schinkenprotokoll
so ist, eigentlich ist das fast wie eine kleine Sandbox Browser-Sandbox,
weil , es sich immer noch so verhält, wie Oak Room sich verhalten würde und
fragt, ob ich das Passwort sehen möchte. Ja, ich kann klicken. Speichern Ja, ich möchte die Synchronisierung aktivieren und was auch immer, also ist es wie eine Broza-Sandbox. Aber die Realität ist, dass es nicht fast wie eine Desktop-Anwendung läuft. So ist Blazer wie eine coole Art und Weise. Nein, um wieder aufzubauen. Sogar Ihre Windows-Formulare sind nicht dieses Zeug. Anwendungen sind die Anwendungen, die fast nativ auf einem Gerät laufen müssen, Aber Sie wollen nicht wirklich gehen und bauen eine native up. Sie können einfach Blazer Toe eine progressive Web-Anwendung erstellen, die fast
überall auf tun die regulären Dinge auf installieren kann . Denken Sie daran, dass dies kein direktes Gespräch mit dem A P I ist. Es ist nicht auf irgendeinen Server angewiesen, der dazwischen liegt. Es ist nicht, dass meine Maschine wirklich darauf angewiesen ist, dass ich es kann. Es geht buchstäblich nur über das Internet zum FBI, weißt
du, theoretisch gesehen, über das Netzwerk zum FBI zu
gehen, um alles in Echtzeit zu tun. Aber es ist eine Desktop-Anwendung. Wenn wir einen Blick auf Inspect-Elemente werfen, kann
es direkt zu inspizieren gehen. Ich bekomme das Inspect-Element genauso hoch wie ich sehe, wie alle Protokolle passieren. Ich kann die Quelle sehen, auf der ich das Netzwerk sehen kann. Dann habe ich Netzwerk und ich habe nur auf die Seite verwiesen, nur um zu sehen, dass die Ressource
wieder auf Dad kommt . An einem Punkt habe ich versucht, auf die D-Allele anzuspielen, die geladen wurden. Also, während es in viel mehr ist, sicher, es ist nicht Leihgabe der Händler. Es lädt sie in die auf die Maschine. Die gesamte Dokumentlaufzeit und alles aus, die Unabhängigkeit der Bibliothek ist da. Es gibt den Deal ist die Pakete. Es gibt Blazer, Werkzeuge, Eingabedatei, lokale Sortierung. Alle von ihnen, die wir bei der Verwendung in unserem Projekt gewesen wären. Es gibt Get loaded on installiert mit dem tatsächlichen Paket, das diese Anwendung ist. Nun, das heißt, Sie wollen sehr vorsichtig und besonders über Ihre Hosting-Modelle sein. Ich habe die Zehe angedeutet, wissen
Sie,
jeder, der seinen Zweck in bestimmten Situationen hat. In einer Situation wie dieser wollen
Sie wahrscheinlich nicht zu vielen Dingen gehen. Also, wenn Sie die Server-gehostete Anwendung tun, haben
Sie die Möglichkeit, Art von Abstract. Viele dieser Abhängigkeiten oder andere ernstere Abhängigkeit ist von. Legen Sie sie auf dem Server, anstatt auf den Clientcomputer zu laden, auf dem Sie eine
gerade Assembly durchführen. Dann haben Sie keine andere Wahl, als alles auf den Client-Rechner zu laden, wie Sie hier sehen, damit Sie wissen, dass es auswählen und ablehnen kann. Aber an diesem Punkt haben
Sie Ihre erste diese erstellt. Ich denke, es ist Ihre erste, aber Ihre erste Blazer progressive Web-Anwendung.
65. Änderungen in GitHub: Willkommen zurück, Leute. Wo sind die Punkte, an denen wir nur einen kurzen Überblick über alle Dinge machen, die sich in diesem Modell
erholt haben, dann überprüfen Sie in unserem Gericht, um aufzustehen. Nun, das erste, was wir getan haben, war, die Optionen aus der Blazer-Web-Assembly auf zu erkunden. Wir gingen mit der Web-Assembly, nicht Kern gehostet auf progressiven Webanwendungsoptionen. Wir haben uns auch nicht für die Authentifizierung entschieden. Nein, sobald wir das getan haben, bekamen
wir ein Projekt, das unseren Überzeugungen sehr ähnlich war. Ein Serverprojekt auf. Ich kollabiere nur alles, damit Sie die Struktur sehen können, wie es waas. Also haben wir Seiten. Wir haben ein Programm, nicht sehen, einen Schneestart über CS undi einfach alles zusammenbrechen in erweitern uns. Diese beiden, so können wir vergleichen, während wir wirklich tun mussten, war über die meisten unserer Cored namens die
Verträge bringen , die Modelle, die Seiten und würde weiter. Die Komponenten sind bereits gebaut. Der FBI-Status von State-Provider-Zeug, unsere Dienste, die gemeinsam genutzten Dateien, die statischen so buchstäblich. Ich versuche nur zu sagen, dass die meisten außerhalb unseres Court von der Server-Anwendung
in den Clients oder Web-Assembly-Versionen wiederverwendbar waren , also im Kern, stöhnte
der Körper. Der Server und die Web-Assembly-Vorlagen sind
sehr, sehr ähnlich in Bezug auf außerhalb des Court erforderlich, um offen laufen bestimmte Unterschiede. Obwohl die Webassembly einen Problem tp-Client verwendet, ist
das für mich einfach viel einfacher, wenn ich überprüfen muss, ob es tatsächlich
in der Serverversion verfügbar ist. Aber die CTP-Kunden hier die meisten Beispiele, die ich denke, ein darauf hingewiesen würde zeigen, die
BIP-Kunden direkt aus der Sicht. Ich mache nur deine Anrufe. Aber wir haben unsere Repositories für Über-Anrufe erstellt,
so dass wir nicht jedes Mal einen Client
hochdrehen müssen. Wir haben es nur einmal gemacht. Wir haben das innerhalb von vier Biest Repository auf das, was wir taten, war Wieder Faktor oder
soll sie die HTTP-Clients anstelle von der HTTP-Client-Factory verwenden, die wir in der
Serverperson hatten , was wir taten, war einfach in unserem Bier-Token setzen auf dann machen oder Anrufe. Also hat sich diese Bibliothek gestellt, da Jason einen Sing get von Jason auf dso rechts führt, also behandelt dies die De Serialisierung und Serialisierung out of the box. Wir mussten nicht viel mehr tun, als nur diese Funktion auf „Get the response“ aufzurufen. Ordnung. Andere Factoring enthalten über Re-Haul aus dem Upload-Verfahren Also müssen wir tatsächlich über 80 I Projekt
ändern, wo wir die Upload-Fähigkeit auf der A P I-Seite enthalten, so dass
wir die Tatsache erleichtern könnten, dass diese Web-Assembly-Version von unserem Projekt hat keinen Server, auf dem Fette gespeichert werden können. Also haben wir gerade das eine p a gemacht. Diese ganze Stadt erscheint in diesen Server, um Dateien zu speichern. Alles klar, jetzt gehen wir einfach voran und klicken Sie mit der rechten Maustaste und Hühnchen. So erhalten Sie FBI-Erfahrung, Server-Blazer-Erfahrung sowie Web-Assembly, einen Blazer mit einfacher Erfahrung, richtig? Und wir gehen einfach weiter auf Commits, Ordnung? Und ich habe in meiner Nachricht, dass ich hinzugefügt Blazer, Web-Assembly auf Datei-Upload Toe 80 iBooks Controller. Und dann werde ich einfach alles begehen und auf, sobald das erfolgreich ist. Nun, Sie können immer zu meinem Repository kommen und referenzieren. Also alles, was getan wurde
66. Projekt überziehen NET 5: Hey Jungs, in diesem Video werden wir diskutieren, wie man Upgrades bekommt und es fünf oder sogar installiert, wenn man noch nie ein dominantes Framework installiert hat. So.NET five ist alles umfassend und es ist tatsächlich abwärtskompatibel mit vielen Dingen, die Sie in Ihrem ASP.Net oder Ihrer detonate Core 3.1-Anwendung haben würden. Allerdings, wenn Sie wünschen, meine vereinbarte zu.net fünf, dann ist dieses Video für Sie. So beginnt unsere Reise mit einer einfachen Google-Suche für.net five, wir können dem ersten Link folgen und dann wird das uns in eine Ära führen, in wir entweder das SDK oder die Laufzeit oder Kugel herunterladen würden. Es gibt wirklich keine Einschränkung, auf welche man sollte. Sie würden also das SDK installieren, so dass Visual Studio Ihnen alle Tools zur Verfügung stellt, die Sie benötigen, um eine dominante fünf Anwendung erstellen zu können, während die Laufzeit mehr Bibliotheken aussetzt
, so dass Sie die Anwendung wie auf iOS hosten können. So können Sie auf meinem anderen Video auf Hosting dominieren Kernanwendungen überprüfen. Und die Schritte, die Sie durchlaufen müssen, um die Laufzeit zu installieren, Augen
vorzubereiten und Ihre Anwendung zu veröffentlichen. Also für das SDK möchten
wir die entsprechende Version herunterladen und sagen, wenn Sie auf Mac,
Linux, Windows sind , haben sie ein Installationspaket für Sie. So können Sie voran gehen und auf die entsprechende klicken. Ich gehe mit dem x 64. Und sobald dieser Download abgeschlossen ist, erhalten
Sie dieses Installationsprogramm, dem Sie einfach voran gehen und auf Installieren klicken können. Sie durchlaufen alle Sicherheitskontrollen F2. Und es ist ein ziemlich schneller, unkomplizierter Prozess, so wird es Sie wissen lassen und es war erfolgreich. Wenn es nicht erfolgreich war, werden
Sie wahrscheinlich sterben wollen. Sie haben die McCharg-Version und sind für Microsoft-Support erreichbar. So oder so, wenn Sie den Siebdruck haben, dann sind Sie einen Schritt näher. Fahren Sie erneut fort und klicken Sie auf Schließen. Und wenn Sie dann unser brandneues Projekt erstellen möchten, können Sie Visual Studio starten. Klicken Sie auf Projekt erstellen 2-0-Vorlagen und lassen Sie uns mit einer Kern-Webanwendung gehen. Klicken Sie auf Weiter, geben Sie ihm einen Namen. Dies ist also nur ein Beispiel, also werde ich nicht zu formell mit etwas Nassem sein und klicken Sie auf Erstellen. Und dann auf diesem Bildschirm können Sie dot nec core 5 aus der Liste auswählen. Wenn Sie jedoch
beabsichtigen, dominante Kern-API oder Blazer-Projekt zu.net five zu migrieren, dann werden wir dies mit diesem Projekt tun. Also habe ich hier ein bestehendes Projekt. Es hat die Buchhandlung, wenn es Buchhandlung API überhaupt genannt wird, was ist es eine Buchhandlung API, TAS, Buchhandlung wi, die der Blazer-Server ist. Und wir haben auch ein Blazer Web Assembly Projekt hier. Also habe ich tatsächlich viel von der Arbeit gemacht. Was ich tun werde, ist die vorhandene dominate Core 3.1-Version des Codes aufzurufen. Und der entsprechende Code ändert sich, damit Sie genau sehen
können, wo Ihre Änderungen vorgenommen werden müssen. Lassen Sie uns also mit unserer API beginnen. Also werde ich nur Tickets schreiben, gehen Sie zu meinem Quellcode-Steuer-Tab und vergleichen Sie mit der vorherigen Version, bevor ich alle Änderungen vorgenommen habe. Und ich führe dich einfach durch alle wichtigen Teile. Eigentlich gibt es nur einen sehr, sehr wichtigen Teil in dieser Datei, und das ist das Ziel-Framework. Wenn Sie also dominate Core 3.1 verwenden, würden Sie
das sehen, was das ist, was Sie sehen müssen. Also nach links ist das bestehende und nach rechts ist das neue. Okay, also müssen wir das auf Netto 5 ändern. So können Sie einfach meinen, dass Sie nicht einfach nur voran gehen und sparen. Und dann, nachdem Sie diese Anpassung vorgenommen
haben, müssen Sie alle von Ihrem Projekt oder Frankreichs Aldi oder Bibliothek zum Beispiel aktualisieren. Deshalb sehen Sie einige von ihnen in Rot, weil ich das Update bereits gemacht hätte. Einige von ihnen habe ich das Update nicht gemacht, also werde ich Sie durch das eine nach dem anderen führen. Also Sie Candace, mit der rechten Maustaste, gehen Sie zu neuen Paketmanager erhalten. Und was mir passiert ist, war, dass, wenn ich alle Pakete ausgewählt und dann Updates senden, ich eine Form von Ackerbau bekam und nicht das Ausnahmeobjekt, Center-Referenz nicht ganz sicher ist, warum ich dieses Buch bekomme. Der Konsens scheint zu sein, dass, wenn Sie manchmal versucht haben, es in der Masse zu tun, Sie den Fehler bekommen könnten. Das war meine Erfahrung, die ich mit dir teile, falls du diesen Kampf hast. Aber was für mich funktioniert hat, ist, wenn ich einfach wie drei auf einmal
auswähle und dann auf Update klicke, dann wird der Paketmanager einfach übernehmen und es für diese Fehler tun, natürlich muss ich ein oder zwei Mal diese Fehler akzeptieren, die Sie können ignorieren Sie diese. Dies sind nur Build-Fehler, die mit der gesamten Übung verbunden sind. Aber mein Punkt ist, dass Sie nur sicherstellen wollten, dass alle ihre Pakete nicht auf 5 aktualisiert werden. So können Sie einfach voran gehen und sie einzeln tun, wenn Sie müssen, wenn das ganze Bulk-Update funktioniert, so dass Sie dann das ist perfekt. Also nein, ich habe sie alle abgeschlossen. Wenn ich zurückgehe und die diffus noch mehr Updates ansehe, richtig? Also alles, was man 3.1 sah, ist keine
fünf vorherige Version zu sehen , ist kein C in der neuesten Version. Das ist also, was Sie tun möchten, um Ihr API-Projekt zu aktualisieren. Es gibt nichts mehr als das. Also wissen Sie, dass wir damit fertig sind. Gehen wir zu unseren Verzögerungen, unsere Projekte, nein, Blazer-Projekte haben viel gemeinsam. Wieder einmal ist dieser ein Server, dieser ist eine Web-Assembly. Sie haben viel gemeinsam in Bezug auf das, was die Veränderungen so seltsam sind, es gibt Gemeinsamkeiten. Ich werde sie irgendwie nebeneinander zeigen. So können Sie sehen, dass Sie es tun, in beiden sind die entsprechenden Fuzzy und beides. Und es gibt bestimmte Dinge, die wir nur für die Webassembly tun werden. Unsere erste Änderung hat also mit der Hostdatei im Server gegenüber der Indexdatei in der Web-Assembly zu tun. Und ich werde nur, nur für unsere Freunde, im Server-Projekt werden Sie zwei Seiten und dann sehen Sie die
Hostpunkt-CSS-Datei im Web-Assembly-Projekt, um zu www root zu gehen und Sie sehen Ihre index.html Datei. Also in der Host-Datei, die wichtigsten Änderungen, die Sie hinzufügen werden,
dieses bisschen Code, diese Zeile von Anführungszeichen hier, Hinzufügen eines neuen Stylesheets. Okay, und was Sie sehen, ist das Versammlungsmeme. Das sollte also eigentlich ein Unterstrich sein, denn das ist mein Assemblyname. Es beginnt also Strich, was für ein Unterstrich. Also lassen Sie mich nur bei dem. Und du siehst, dass es eine gute Sache ist, das zusammen durchzugehen. Also diese Unterstriche und speichern. In Ordnung, so sieht diese Linie so aus und macht sie ein wenig größer. Also fügen wir Link, HRF, Buchhandlung UI,
Buchhandlung Unterstrich UI oder was auch immer Ihre Assemblys nim ist einige nette Flüssigkeiten verärgert Assembly Name ist nur auf die Namespace-Flagge hier oben zu schauen. Und dann sehen Sie, was der geeignete akzeptierte Lösungsname ist. Und dann sagen wir einen Punkt styles.css, und dann fügen wir die Zeile gleich Stylesheet. Also werden wir das in unserer Kopfabteilung für unsere Gastgeber hinzufügen. Ordnung? Und dann werden wir etwas Ähnliches für unseren Index tun. Also lassen Sie mich einfach den Index einzeln aufheben. Also werden wir diese Codezeile hier hinzufügen. Und es ist das gleiche Prinzip. Ich werde das ändern, um es zu unterstreichen. Also ist es Buchhandlung auf einem Punktepunkt Watson oder was auch immer der Name Ihres Projekts ist, nicht styles.css. Während sie hier sind, können Sie das mir, diese Veränderung auch. Also lass mich einfach gehen Boxen er genau das, was wir ändern, wo es das von bis zum div mit ID oben ändert. In Ordnung, also anstatt ein Tag mit dem Namen zu sehen, sagen
wir div mit einer ID nach oben, und dann bleibt der Inhalt gleich. So können Sie einfach voran gehen und diese Änderung in Ihrer Indexdatei erfüllen. Die nächste große Änderung kommt in unseren Importen fossilen uns, spektive Server und Web-Assembly-Projekte beide haben Importe Punktbereiche oder Datei, und die Aufnahme ist die gleiche. So könnten Sie einen Fehler im Serverblut bekommen, dann müssen Sie eine Tränenkomponenten sein, um es loszuwerden. Aber wir wollen Microsoft dot ASP.NET
Core.com dot web dot virtualisierunghaben Core.com dot web dot virtualisierung und versucht, es in einer ähnlichen Position zu platzieren, wo ich es habe, die unter wo, aber vor dem HTTP, wobei jemand HTTP punktet, Ordnung, und das wäre für unsere Web-Assembly, für den Server, geht es an der gleichen Stelle. Oder zumindest unter Web, weil Sie wahrscheinlich nicht die Web-Assembly-HTTP-Bibliothek haben würden. So haben Sie es einfach unter dem dunklen Web-Tag und fügen Sie einfach Punkt-Virtualisierung hinzu. Weiter geht es zu unserem Haupt-Leodes, der Reserve-Komponente. Diese Änderung gilt also für beide. Also werde ich euch nicht beide zeigen. Es ist eine CMNH-Änderung sowohl in der Server- als auch in der Web-Assembly wo wir nur ein neues div einfügen möchten. Und wir werden ihm geben, dass die Klasse gleich Geschwindigkeiten ist. Und dann alle Inhalte, die vorher da waren. Das ist also der Ursprung hier draußen. Wir werden nur all das nehmen und es in ein fremdes Sie div setzen. Es wird also etwas mehr wie dieses auf der rechten Seite aussehen. Und lassen Sie mich sehen, ob ich die Linke reduzieren kann. Da geht es. Das ist also, was Ihre neue Bedeutung, LEO, die aussehen wird, ob es sich um Web Assembly oder Server handelt. Nun ist eine weitere große Aufgabe, dass wir
eine CSS-Datei zu dieser Komponente hinzufügen , die wir gerade geändert haben, oder? Und es gibt eine Klassenseite, die wir gerade eingeführt haben, den Inhalt für diese CSS-Datei. Sie werden es in den Ressourcen finden. Oder Sie können einfach auf das Repository gehen und sich den Inhalt der Datei ansehen, die wir kopieren und einfügen können. Habe keine Änderungen außerhalb der Standardeinstellung vorgenommen , die mit.net 5B kommen würde, ist ein Projekt, aber so sieht die Datei aus. Also anstatt mich zu versuchen, dir Sake zu zeigen und es zu tippen, kannst
du einfach zur Ressource gehen und in dich selbst einsteigen. Der Hauptteil davon
ist, dass wir es dem Hemd hinzufügen werden. Sie gehen also zu geteilt, rechten Maustaste, klicken Sie auf Hinzufügen. Und das gilt sowohl für Server als auch für eine Web-Assembly. Wir fügen einen neuen Artikel hinzu. Und dann ist der Name, den Sie diesem neuen Gegenstand geben der gleiche Name wie eine Komponente bedeutet Leodes, Dr. Rasierer. Also, das ist vor allem alt dot razor dot css. Und wenn Sie in meinem Lösungs-Explorer bemerken, sehen
Sie tatsächlich, dass es auf den mittleren Leodes aufgeführt wird. Okay, also setzst du dich nah dran und ich habe es gerade hinzugefügt. Sobald wir das tun, dann wird tatsächlich als Unterdatei aus dem Haupt-Leodes kommen. Und dann können wir einfach wieder in den Inhalt setzen, das gilt sowohl für Server als auch Web genial. Keine Windows CMV, und wir werden etwas Ähnliches für nav Menü tun. Also haben wir nav Menü dot rasor, und wieder einmal für Server und Webassembly, wir haben nav menu.html, oder wir werden genug Menü Punkt hinzufügen, Punkt CSS. einmal können Sie voran gehen und kopieren Sie das resultierende CSS oder das religiöse CSS eher. Und promoviert. Sie müssen nicht hineingehen und versuchen, dies einzugeben, rufen Sie
einfach den Inhalt ab und schließen Sie ihn an. Nein, gut eine weitere CSS-Aktivität abzuschließen, und das wird auf die CSS-Datei app.js in der Webassembly sein. Also gehen
Sie im Web Assembly-Projekt zu www root CSS und dann uci dot CSS. In Ihren Serverprojekten würden
Sie zu www root CSS und Site dot CSS gehen. Der Inhalt für beide Modeerscheinungen bleibt jedoch die Naht. Ordnung, also ist dies wieder der Standard, der
mit.net fünf Blazer-Projekt kommen würde . Aber da wir ein Upgrade durchführen, versuchen
wir nur, über alle Ressourcen zu bewegen, die standardmäßig benötigt würden. Das ist eigentlich es für die Side-by-Side-Aktivitäten sowohl für den Server als auch für die Webassembly. Um ein wenig für den Server zurückzuverfolgen, möchten
Sie sicherstellen, dass Ihr Zielframe funktioniert. Also, das ist für Blazer-Server, nur um klar zu sein, Ihr Zielframe, wo es sein muss, wie Kelly sagen,
das gleiche, was die Web-API-Ziel-Frameworks. Und so können Sie tatsächlich nur kopieren, dass aus der Web-API, einem Projekt, und stellen Sie sicher, dass Ihr Blazer, Sie sorry, oder Blazer Server UI Project sagt auch Target Framework net 5. Also gehe ich, bis ich mich ein wenig auf die Serverprojekte konzentriere. Also, was ich tun werde, ist, das zu entladen, so dass ich weniger Pfeile sehe. Und wollte nur sicherstellen, dass ich es nur mit dem Serverprojekt zu tun habe. Sie müssen diesen Teil wahrscheinlich nicht tun, aber die sehr sehen die Fehler. Und Sie möchten sicherstellen, dass Sie Ihre Serverprojektaktivitäten isolieren, dann können Sie das tun. Also werde ich nur einen Build machen, nur um zu sehen, was falsch ist. Okay, du siehst hier, ich bekomme ein paar Fehler von Booten, meine Projekte, damit ich zu New get gehen kann. Und dann sehe ich, dass ich ein paar Updates habe, die erhalten. Die Bulk-Update-Funktion funktioniert für mich. Und das tat es. Also lassen Sie mich versuchen, wieder zu bauen. Nein, ich bekomme immer noch ein paar Fehler. Und das liegt eigentlich an einem Mehrdeutigkeitsproblem. Dieser Fehler sagt also, dass die Funktionseingabedatei der Toggle oder die Komponente ist. Vielmehr ist die Eingabedatei mehrdeutig, weil ich eine Bibliothek namens Blazer-Eingabedatei habe. Und es gibt eine, die mit Blazer zumindest richtig eingebaut kommt. Wissen Sie, dass es gibt. Das ist also sein Zweideutigkeitsproblem. Ich werde dies nur kommentieren, weil, wenn Sie keine Eingabedatei verwenden, dann haben Sie dieses Problem nicht. Ich werde jedoch ein anderes Video machen, in dem ich den Code um Blizzard umwandle, oder es geht eigentlich nur darum,
alle Verweise auf diese Eingabedatei zu finden und sie einfach zu
kommentieren, um alle Fehler, nur um sicherzustellen, dass wir nichts anderes haben. So sehen wir, dass ein Build erfolgreich war. Das ist also gut. So alt traurig von dieser Mehrdeutigkeit, die wahrscheinlich einzigartig zu treffen ist. Jedenfalls. Wenn nicht, dann arbeiten wir später durch. Kein Problem. Richtig. Und alles, was wir haben unsere Blazers-Server-Anwendung auf.net five aktualisiert. Jetzt werde ich zur Web-Assembly wechseln. Also werde ich nur das Web-Assembly-Projekt neu laden. Und ich ging, um
das Server-Projekt zu entladen , nur um sicherzustellen, dass wir nur eine Sache betrachten. Und dann die erste große Änderung, werde
ich alles zeigen, was es mit der Projektdatei zu tun hat. Also, wenn ich das mit dem Original vergleiche, werde
ich Ihnen die Veränderungen zeigen, die wir treffen. Zum einen ändern wir das Projekt-SDK von Microsoft.NET dot dk dot web zu Microsoft.NET dot SDK dot blazer Web Assembly. Eine andere Sache ist, dass wir diese beiden Ziel-Framework-Referenzen auf entfernt haben. Wir haben alles auf nur Netto 5 geändert. Ordnung. Und dann werden wir mit der Aktualisierung von Semaphor-Referenzen fortfahren. Also eine andere Sache ist, dass wir
diese Taschenreferenz entfernen , so dass ein Eimer oder Freunde von Komponenten, die durch einfach angenommen wurden gebaut, wir haben es gerade entfernt. Also, das fehlt in der neuen
Version null . Jetzt an diesem Punkt, zögern Sie nicht zu versuchen und D2 sind noch nicht ganz fertig, aber Sie wollten gehen, um Pakete zu verwalten und zu sehen, ob Sie ein Update für alles ausführen können. Also lasst uns das versuchen. Und das ist erledigt, gut. Und dann wollen wir zu unserer program.cs gehen. Jemand hat diesen verglichen, damit wir genau die Zeilen sehen können, die modifiziert werden müssen. Die erste Zeile ist also, dass wir diese Referenz auf Hub aktualisieren werden, einen Hashtag davor. Siehst du, das ist wirklich alles, was wir getan haben. Es sagte Builder, unhöfliche Komponenten, die sich summieren. Und dann fügen
wir in Anführungszeichen nur Hashtags hinzu. In Ordnung, die Aufteilung auf
ein Pfundzeichen oder ein Nummernzeichen oder Hashtag vor dem Wort nach oben. Die andere Änderung ist, dass wir uns ändern. Nun, wir hatten schon, wenn du das schon als seltsame Geltungsbereich hättest, dann ist das in Ordnung. Einige Leute verwenden ein Transient, aber der empfohlene Weg wäre Bereich. In Ordnung, also möchten Sie Ihren HTTP-Client Bereich hinzufügen. Und der einzige Grund, warum es die ganze Linie hervorgehoben zeigt, weil ein Fix einige Abstände oder gebraten lebendig. Aber im Wesentlichen ist das die große Veränderung hier, sicher
zu sein, dass das in der Schule steht. Aber nachdem wir all dies getan
haben, können wir einen Build durchführen und sehen, ob wir irgendwelche Fehler haben. Und der Fehler, den ich bekomme, ist der gleiche Bereich, den wir mit diesem Server hatten. Also werde ich diese alten für null kommentieren, nur um sicherzustellen, dass wir eine saubere Migration melden können. Obwohl Augen, also wenn ich einen Build mache und dann sehe ich ein Projekt gelungen, so fast tun, um die anderen Projekte neu zu laden. Klicken Sie also mit der rechten Maustaste neu laden, klicken Sie mit der rechten Maustaste neu laden, und führen Sie dann einen anderen Build aus und haben keine Fehler zu melden. Also lassen Sie mich einfach einen schnellen Lauf machen, nur um sicherzustellen, dass alles funktioniert. Was passiert, ist, dass Sie sicherstellen müssen, dass sie APIs laufen und Ihre und Ihre Clients. Also ich meine, alle von ihnen beginnen bei einem wenn, falls Sie nicht wissen, wie es geht, klicken Sie einfach mit der rechten Maustaste. Wir werden Eigenschaften machen und nur sicherstellen, dass alle von ihnen am Anfang sind. Zumindest, wenn Sie ein Projekt sind, Schleifen, dass im Kopf. Wenn Sie würden, wenn Sie Sardinia Server Hosted Blazer und wahrscheinlich nicht dieses Problem. Also sehe ich meine Seite nicht und lass mich einfach voran gehen und inspizieren und sehen, was das Problem sein könnte. Und hier sehe ich, dass ich ein 404-Fehler bin, also kann es nicht die Ressource oder die CSS-Datei laden, die ich hinzugefügt habe. Okay, also vermute ich nur, dass ich vielleicht einen Bindestrich verwenden
sollte, einen Fonda-Score schicken sollte. Also lassen Sie mich einfach verdoppeln und nachsehen. Also hier hinten gehe ich einfach zu mir, das sind Anpassungen. Also werde ich nur versuchen, den Bindestrich anstelle des Unterstrichs. Und alles, was wir tun wollen, ist, und das ist meine Mann-Topologien in unserem männlichen alles um unsere Sidebar in unsere PhDs setzen zu wollen. Also überspringen Sie diesen Schritt. Entzogen ihm wegen des ganzen Feuers war von allem. Aber unsere Sidebar sollte auch innerhalb dieser Seite div sein. Also lasst uns weitermachen und neu starten. Und das sieht eher so aus. Also, da gehen wir, da haben wir unsere Blazer UI-Anwendung gerendert. Diese Tatsache, während es ursprünglich gerendert wurde, aber wir haben einige Dinge getan, so dass wir wissen zumindest, wo läuft in.net fünf. Nun, das war's für dieses Video. Haben Sie einen guten.
67. Fix Datei-Upload - File: Hey Leute, willkommen zurück. Jetzt kommen von den Fersen von uns aktualisieren unsere blase oder Anwendungen, das.net fünf, wir hatten einige Probleme mit unseren Eingabefeldern, also werden wir einfach das ins Bett bringen. Was passiert, ist, dass wir uns zunächst auf
eine Drittanbieter-Lösung verlassen mussten , um den Datei-Upload zu erleichtern. Aber Glaser hat seitdem eine nativere Eingabesteuerung implementiert, und so werden wir anfangen, das zu verwenden. Also die erste Ordnung des Geschäfts, und ich werde Ihnen die Änderungen nebeneinander zeigen,
sowohl mit dem Blazer-Server als auch der Webassembly, weil der Code zwischen den beiden mit ein paar Modifikationen hier und da. Das erste, was wir in beiden Importdateien tun wollten, ist, den Verweis auf Blazer-Eingabe schnell
zu entfernen , so dass wir einfach voran gehen und darauf klicken und es entfernen und speichern können, und dann können Sie zu Ihrem erstellen gehen. Also habe ich hier einen Haufen offen, also werde ich versuchen, es auf diejenigen einzugrenzen ,
die wir für diese Übung unbedingt brauchen. Was wir also tun wollen, ist zu unserer Schöpfung zurückzukehren und wir können diesen Löwen entkommentieren. Also habe ich etwas von der Arbeit erledigt. Ich werde uns nur durch das führen, was du tun musst, oder? So kann es voran gehen und diese Eingabezeile auskommentieren. Eigentlich hat mich ein bisschen einfacher genommen. Ich werde nur diese Vergleichsansicht aufrufen, die wir verwenden, wenn wir
unser Raster machen , damit Sie genau die Linien sehen können, die ich ändere. Also entkommentieren wir diese Eingabesteuerungslinie. Und dann müssen wir sehen, und einige sind für Datentypen. Also zunächst waren wir mit IFF-Datei Listeneintrag. Und wir nennen diese Datei wird diesen Namen behalten, aber wir nennen es Augenbrauen sind Akten. Das ist also ein neuer Datentyp. Wurden auch nicht Speicherstream-Buch nur Stream verwendet. In Ordnung, damit Sie diese beiden Änderungen an den Datentypen vornehmen können. Nun bewegen Sie sich entlang innerhalb des Teils, wo wir die gesamte Verarbeitung durchgeführt hätten. Also das ist der Griff erstellen unsere, lassen Sie mich, lassen Sie mich es in der genauen Strömung tun. Dies ist also Hunderte von Dateiauswahl, welches das Ereignis ist, das aufgerufen wird, wenn die Eingabedatei geändert wird, oder? Also kümmern wir uns um die Auswahl. Also möchten wir diesen Parameter noch einmal vom IFIS-Listeneintrag IRI in Eingabedatei ändern Ereignisbögen ändern. Und ich nenne das nur E. Okay, das sieht ein bisschen mehr aus, als ob du Formulare gewinnen
würdest, oder es gäbe es , wenn du das siehst, was du für die Ereignisse siehst, richtig? So wird E die Datei oder Dateien oder das Objekt mit
den Dateien verkörpern , die von unserem Eingabeselektor ausgewählt wurden. Nur bezeichnen wir könnten auch auf mehrere setzen wenn
wir Tableau für die Mehrfachauswahl wollten, so würden wir einfach dieses Attribut dort anhängen, mehrere. In dieser Situation wollen wir nur einen. Also habe ich nur diesen Punkt gemacht, weil E, mit diesem E oder mit diesem Objekt, wir mehrere Dateien bekommen können, nur um zu sehen, wissen
Sie, sobald wir diese Änderung für,
Sie wissen schon, Lead-Datei B gleich E Punktdatei gemacht haben ? Nein, ich hätte E-Punkt sagen können und
mehrere Dateien bekommen , die mir erlauben, zu sagen, wie viele Dateien, bis zu zehn. Unser gut, bis zu welcher Nummer ich kriegen kann, oder? Also denke ich, standardmäßig wird es zehn sein, aber ich könnte zwei angeben, ich könnte eins angeben. Es liegt wirklich an mir, dem Entwickler, aber ich kann nicht mehrere Dateien bekommen. Aber in dieser Situation möchte ich nur eine Datei, also ist es E-Punktdatei. Und dann habe ich diese if-Anweisung vorher eingeführt, also habe ich nur darauf geachtet, es
überall zu haben , wo anstatt den gesamten Namen für die Erweiterung zu überprüfen, ich bekomme tatsächlich die Erweiterungen unserer Erweiterung gleich dem Pfad, aber die Erweiterung einen Dateinamen. Und dann prüfen wir, ob die Erweiterung dem entspricht, was Sie wollen. Und nachdem wir das getan
haben, wollten wir dann unsere Streams initialisieren. Also zunächst hatten wir es MS-Datei ist gleich nu Speicherstrom und dann haben wir in den Speicherstrom kopiert. Nun, nein, wir können nur sehen, MS-Datei ist gleich file.js offen lesen Street. Und so lesen wir einfach die Datei direkt in unser Stream-Objekt. Nein. Einige zusätzliche Sachen und fand das tatsächlich sehr nützlich. Was wir hier tun können, ist einfach die Größe unserer Dateien zu ändern. Lassen Sie mich einfach den alten Code reduzieren und Ihnen zeigen, was ich hier vorgestellt habe. Also, wissen Sie, wir zeigen eine Vorschau der Datei. Und je größer die Datei in jeder Situation ist, desto weniger effizient wird sie geladen, wird von einer Anwendung gehandhabt. Also, was wir hier tun, ist nur die Größe der Dateien zu ändern. Also sagen wir, dass die Größe der Bilddatei gleich ist und wir erwarten file.js Anfrage Bilddatei eine Synchronisierung. Wir geben den Dateityp an, den wir wollen. Und dann sagen wir einfach die Größe. Also gerade jetzt bin ich nur die Größe der Datei, die auf 100 von 100 Pixel-Datei hochgeladen wurde. Und danach laden
wir es in einen Puffer. Also sagen wir var Puffer gleich neuen Byte-Array mit der Größe der Bilddatei Punktgröße. Es ist also ein Byte-Array auf die Größe unseres neuen, in der Größe veränderten Bildes. Und dann warten wir auf den veränderten Bildpunkt öffnete den Dateistream oder öffnete den Stream, lesen und lesen Sie in den Puffer. Dies ist, wo wir es in das Byte-Array kopieren und dann in die Base-64-Daten konvertiert, und dann haben wir die gleiche Bild-URL. Ordnung, das ist also sehr nützlich, wenn Sie die Größe Ihrer Bilder dazwischen ändern möchten. Ziemlich einfach. Okay, so ist es, wie wir mit der Faszination umgehen. Denn denken Sie daran, dass die Dateiauswahl nur die Vorschau der Datei zeigt. Ich weiß, um zu sehen, was wir tun, wenn wir die eigentliche Formularübermittlung behandeln. Und die Veränderung hier ist wirklich wenig kosmetische Veränderung. Also habe ich unseren Datei-Upload-Service irgendwie neu gestaltet, wo ich eine Funktion oder Methode mit
demselben Namen habe , aber ich habe die Abhängigkeit von der Datei entfernt. Im Nachhinein haben wir die Datei nicht verwendet und wir gingen zur Upload-Datei über. Was ich habe, ist ein Stream-Objekt und unser Name für unser Bild. Also lass mich einfach rüber springen und dir die Änderungen zeigen, die vorgenommen wurden. Also innerhalb unseres Augendatei-Upload-Vertrags. Also werde ich
wieder mit der Schnittstelle beginnen , da Wärme, die ein bisschen eine Bereinigung hinzugefügt hat, weil mehr als eine Methode den Refactor ausschließt, den wir früher gemacht haben. Aber es ist immer gut, alten Code zu entfernen, besonders wenn Sie die Quellcodeverwaltung verwenden, da Sie sowieso den Versionierungsverlauf haben. Also habe ich den alten Code entfernt und weiß, wie diese neue Methode, die öffentliche Aufgaben-Upload-Datei ist. Es nimmt uns Stream-Parameter und einen String-Namen. Und so für die tatsächliche Implementierung dieses, lassen Sie mich einfach übergehen und vergleichen. Nun, wahrscheinlich nicht machen, da ich Bürokraten als fast eine neue Methode geworden bin. Aber lasst uns es trotzdem durchmachen. Dies ist also eine AsyncTask, die diesen Baum nimmt und MS-Datei und einen String-Namen aufruft, entfernen
wir viele andere Dinge. Also muss ich wahrscheinlich den Try-Catch-Block gekauft haben. Sie können es dort platzieren, wenn Sie das tun, aber lassen Sie mich einfach die alte gekühlt reduzieren und konzentrieren Sie sich auf den neuen Code. Also, was wir tun, behalte ich diesen Puffer rechts davon, dass er rot ist, bis eine Kanzler-ID. Und ich initialisiere meinen Dateistream, richtig? Also denke ich,
dass diese Zeile fast die gleiche ist, außer dass ich
eine using-Anweisung direkt dort gemacht habe und dann in den Speicherstrom geschrieben habe. Also, auf all das Wort zu verzichten, nur das zu initialisieren. Und dann sehe ich nur Wild durch sein Rot ist gleich, ich werde MS-Datei warten, die meine Streampunkte Async-Puffer lesen. Also Stream lesen, was im Puffer enthalten ist. Und obwohl das nicht gleich 0 ist, noch
einmal, lassen Sie mich diese Sekante reduzieren, siehe das Flötenbild. Also, während nach Thread gleich ist, weiß
ich nicht, wo schlagen wir? Lesen Sie den Inhalt? Wo nur etwas Mathematik hier, total oder es akkumuliert zu den gelesenen Bytes. Also nur damit du es weißt, während es liest, ist es nur addiert. Und für diesen gesamten Zeitraum schreibt nur asynchron oder Buffer ari. In Ordnung, und so ziemlich ist es, richtig? Das kümmert sich um unseren Datei-Upload. Also, das ist eigentlich der Code, der für oder erstellen in der erforderlich ist, glaube
ich, dass das unser Serverprojekt war. Richtig? Also lassen Sie uns einfach einen kurzen Blick auf, was wir für unsere Webassembly tun. Da Sie wissen, was die Web-Assembly tatsächlich auf den Server hochgeladen hat, der API-Server im Gegensatz zur lokalen Behandlung, wie wir es mit einem Serverprojekt tun. Es ist also ziemlich dasselbe, außer OnCreate. Es tut mir leid, die Honda-Auswahl ist ziemlich dasselbe, wo wir das gleiche tun, was wir
hier die Eingabedatei nehmen und sie anzeigen. So können Sie buchstäblich einfach die Handle-Auswahl
vom Server kopieren und in die Web-Assembly einfügen. Aber dann machen
wir für unsere gehandhabten Kreationen hier etwas anders, wo ich den Puffer auf die Größe der tatsächlichen Datei initialisiere. Alles klar, dann öffnen wir es und dann senden wir die Symbolleiste als Basis 64-String. Alles klar, das ist also der einzige Unterschied. Also nur noch vier Bit weitere Kontexte, die die Vergleiche aufbringen können. Sie können sehen, was genau ist, zumindest sehen, was es vorher gab. Also werden wir die gleichen Datentypänderungen vornehmen, oder? Aber dann hören Sie nicht alles, was wir getan haben, war,
die MS-Datei oder unsere Speicherstraße zu konvertieren , bis IRI es, das ist alles, was wir getan haben. Also fügen wir zwei weitere Zeilen hinzu oder wir initialisieren diese Bytes,
sorry, und lesen dann den Dateiinhalt in den Akku. Dann wandeln wir es in die Grundlagen um, die gezeichnet wurden, und das ist nur darum. Alles andere
ist wieder dem Server ziemlich ähnlich. Für unsere Bearbeitung. Nicht viel anders. Wieder einmal ist es so ziemlich dasselbe. Wenn Sie also diese Änderungen haben, können
Sie voran gehen und es selbst testen. Und Sie sehen, dass unser Datei-Upload nicht funktioniert.
68. Grundlegendes Code- und Configuration: Hey, Leute, willkommen zurück. Also in diesem Modul wollen wir tatsächlich unsere Anwendung in der Azi, Ihrer Cloud, bereitstellen. Also benutze ich wie dort, weil es nur die unnatürlichen Heldentaten sind. Visual Studio ist bereits für die Azure-Bereitstellung optimiert. Und nun, alles ist Microsoft. Alles wird einwandfrei funktionieren. Es kann einige Schluckauf auf dem Weg sein, aber jeder Schluckauf wir begegnen, Achten Sie darauf, Sie durch, warum sie begegnen wir ihnen begegnen und wie wir unsere eigenen sie. Aber bevor wir anfangen, 0 zu suchen, müssen
wir auf unseren Code schauen, weil es einige Konfigurationsänderungen an essentiellen Dateien gibt,
Änderungen, die wir vornehmen müssen, um sicherzustellen, dass wir einen reibungslosen Übergang haben. Also, während wir auf unserer Maschine aufzeichnen, war
es fast okay genug, um einige dieser Töpfe hart zu codieren. Aber das Problem ist, dass diese Bots nicht auf einem anderen Server existieren. Es gibt keine Benutzer und diese Ordnerstruktur, wo immer wir unsere Anwendung bereitstellen werden. Also möchte ich tun, ist es ein bisschen mehr Dynamik zu machen. Also ist diese bestimmte Datei, die ich geöffnet habe, für die Buchhandlung APIs, die eigentliche Projektdatei. So können Sie einfach auf die Projektdatei doppelklicken. Du würdest dieses XML bekommen. Und dann, was wir tun wollen, ist in einen neuen Knoten, die Eigenschaftengruppe. Wir wollten sagen, generieren Sie Dokumentationsdatei, wahr. In Ordnung, so weiter, und dann müssen wir den eigentlichen Dokumentationsdateipfad ändern. Also, was ich tun werde, ist alles den ganzen Weg nach oben zu entfernen bis sich der tatsächliche Name oder der Schlamm einen Dateinamen leisten kann. Und dann bin ich gegangen, um es durch bin zu ersetzen. Dann Schrägstrich Dollarzeichen, öffnen Sie Klammer Konfiguration, und schließen Sie dann Klammern. Dies würde es dynamischer machen und es wird tatsächlich sagen Januar, diese Datei im bin-Ordner. So ist der bin-Ordner im Grunde universell für jede seltsame, dass unsere Anwendung. Also auf mich und diese Änderung, um Konflikte auf dem Azara-Server zu vermeiden , wenn es anfängt zu sehen, oh, was ich nicht weiß, wo ich die Datei ablegen soll,
weil wir gesagt haben, dass die Datei nicht existiert. Das wird also all das umgehen. Die nächste größere Änderung wäre an der n log-Konfigurationsdatei. Und es ist eine ähnliche Situation hier, wo wir hart codiert hätten, wir wollten, dass die Akten Ziel haben. Stattdessen werde ich all dies auf das Basisverzeichnis setzen. Also wird es buchstäblich Dollarzeichen BCE lesen, Liebes. Okay, und dann, na ja, ich brauche meine Logs-Ordner Schrägstrich Protokolle Slush. Was also passieren wird, ist, dass unser n Protokoll
direkt in unseren Logs-Ordner würde , der in unserer Lösung existieren wird. Wir wollen das Gleiche für das interne Protokoll tun. Ich will nicht, dass das irgendwohin endet. Ich will es nur nicht auf dem C-Laufwerk. Ich wollte nur im Basisverzeichnis und habe nur einen Lose Ordner JETZT mit internem Protokoll und dem täglichen Aktivitätsprotokoll. So können wir jetzt zu unseren Blazer-Dateien übergehen und alle Konfigurationen hier sind nicht so viel. Es ist nur so, dass wir
wirklich möchten, dass die Endpunktdatei etwas dynamischer ist, weil Netzhaut und ich die BaseURL hart codiert haben, was für Entwicklungszwecke vollkommen in Ordnung war. Wenn wir jedoch tatsächlich bereitstellen, befindet sich
unsere API oder API nicht mehr an diesem Ort. Dieser Speicherort ist nur vorhanden, wenn unsere APIs ausgeführt werden. Wenn es im Web ist, brauchen
wir die Adresse, damit wir die BaseURL relativ zu dieser Adresse machen können. Also, was ich hier vorstellen werde, ist eine schnelle if-Anweisung. Also geht es vom NYC Hashtag if. Und dann überprüfen wir, ob es im Debug-Modus ist, dann wissen wir, dass wir diese Basis-URL verwenden können, richtig? Wenn es Debug ist, dann ist das in Ordnung. Aber sonst, was bedeutet, dass es nicht im Debug-Modus ist und ich werde einfach hier enden. Also, und wenn ja, dann können wir wissen, diese URLS
vorstellen, etwas anderes hier, ich weiß nicht, was es sein wird, weil wir noch nicht bereitgestellt oder Buchhandlung APIs. Aber wir wollen dies hier, damit wir, wenn wir ein Boot sind, um unsere Blazer Ups zu implementieren, nicht viel mehr zu tun haben, sondern nur das Leerzeichen mit
der Null-Homestead Adresse für die API auszufüllen . Also werde ich nur voran gehen und diese Änderung für beide Blazer-Projekte vornehmen. Richtig? Also haben wir unser Web-Assembly-Projekt, das nach Debug und nicht nach der Glühbirne sucht. Und dann haben wir unser Serverprojekt das Gleiche machen. Und in unserer Buchhandlung ist EPA jetzt mit seinen Konfigurationen etwas dynamischer. Wenn wir also zurückkommen, beginnen wir mit der Bereitstellung unserer API.
69. Microsoft Azure Konto erstellen: Hey Jungs, in diesem Video werden wir unser Microsoft als 0 Kegel erstellen. Wie ich bereits sagte, wir können umsonst loslegen. Um auf diese Websites zu gelangen, gehen
wir Punkt
Microsoft.com zu absorbieren und dann schätze ich die Straßen, die Sie nach Ihrer Region oder Ihrer Sprache. Aber das ist, was die Website sieht aussehen sollte. Und Sie können es durchlesen, um genau zu sehen, was 0 ist alle Boote. Es geht darum, futuristisch zu sein, mehr Zusammenarbeit zu ermöglichen und nahtloser in einem geschlossenen Raum zu arbeiten, oder? Sie sind überall auf der Welt und Sie würden
normalerweise nur die Region wählen, die Ihnen am nächsten ist. Also bin ich eigentlich in der Karibik. Also mein Joel sagt, Region ist nach Osten zu uns oder Ost USA zwei. Aber nicht für dieses Video. Dieses Video, das wir gerade schaffen, die Spalten waren nichts über Gründe
sitzen gerade noch. Und so, um loszulegen, schwächen Sie diese. Nun, wenn Sie bereits ein Live-Konto haben, dann können Sie einfach voran gehen und sich mit diesem Live von Kegel anmelden. Aber Sie können einfach auf Start free klicken. Und hier sagen sie Ihnen, dass Sie ein freies heute schaffen können und Sie können mit 12 Monaten kostenlose Dienste beginnen. Das ist also ein guter Deal für mich. Und wenn Sie nach unten scrollen, sehen Sie 12 Monate kostenlose, beliebte, kostenlose Dienste plus $200 Guthaben, die in 30 Tagen ablaufen. So geben sie Ihnen $200 ein kann V virtuelle Maschinen erstellen, wieder, Ressourcen in der Cloud erstellen und experimentieren, bis das Geld o.
Und das ist wirklich nur für einen Monat. Aber dann gibt es bestimmte Dienste, die Sie nur für den Rest des Jahres kostenlos erhalten, und dann haben Sie ein paar andere Dienste, die immer kostenlos sind. Alles klar, was wir tun werden, ist, einfach voran zu gehen und klicken Sie auf Kostenlos starten. Dann werden sie uns bitten, uns mit unserem Leben von Zapfen anzumelden. Wenn Sie noch einmal ein Live-Konto haben, kann
er voran gehen und das verwenden. Wenn Sie keinen weiteren Kegel haben, können
Sie voran gehen und einen erstellen. Und dies ist eine sehr aktuelle Option, um sich mit GitHub anzumelden. Also habe ich einen lebendigen Kegel, den ich benutze, aber ich werde dich nur durch die erstellen 1 zuerst führen. Wissen Sie, dass das Live-Icon nicht unbedingt live oder auf all.com sein muss. Es muss kein traditionelles Hotmail-Konto sein, es kann ein Gmail-Konto sein. Also kann ich tatsächlich die gleiche E-Mail-Adresse verwenden, die ich für GitHub
oder E-Mail-Adressen verwendet habe, die ich verwende, wenn ich mich für Dinge
anmelde , die ich verwenden kann, ob es Yahoo, Gmail, Hotmail, was auch immer es ist. Und klicken Sie einfach auf Weiter. Und hier ist es schon, es sagt mir, dass ich bereits einen Microsoft Punkt weg habe. Das treibt aber meinen Punkt an,
dass, wenn Sie eine E-Mail-Adresse haben, es dort keine Hotmail oder ein traditionelles lebendiges AECOM-Boot sein muss, wodurch ein Microsoft oder Collins für Sie mit dieser E-Mail-Adresse erstellt wird. So können Sie voran gehen und sich anmelden. Es ist ein ziemlich unkomplizierter Prozess. Jetzt sind sie Conda entschieden bereits existierte. Das ist ein Konto, mit dem ich mich für den kostenlosen Doppelpunkt angemeldet habe. So. Ich ging eigentlich gerade voran und meldete mich an und weil ich wirklich nicht viel mehr begleichen
habe, denke ich, dass Ihr Registrierungsprozess dem unabhängig davon sehr ähnlich
aussehen wird ,
so weiter, um die Hürde zu überwinden, Ihre E-Mail-Adresse und fortfahren, dann werden Sie wahrscheinlich am Ende auf einem Bildschirm wie diesem, wo Sie gehen, um für Ihre demographischen Informationen nur für ihre Aufzeichnungen gefragt
werden, halten mein Land Energien auf seiner Jamaika. Und ich zitiere ihm meine Telefonnummer, die ich auf Weiter klicke. Und dann sagen sie, willst du deine Identität per Telefon oder den Wunsch per Karte verifizieren? Oder ich werde wählen, nimmt mich telefonisch und ich habe gerade die SMS bekommen. Es hat überhaupt nicht lange gedauert. Also werde ich nur diesen Code einfügen und dann verifizieren. Jetzt ist hier der Teil, der Sie abschrecken könnte, wenn Sie nicht darauf vorbereitet sind.
Sie werden Ihre Identität per
Karte überprüfen möchten, Sie werden Ihre Identität per
Karte überprüfen möchten damit Sie nicht belastet werden, wenn Sie nicht upgraden,
was bedeutet, dass sie einen anderen YOU-Klausel Abonnementplan haben, so richtig. Nein, Sie melden sich für den kostenlosen Abo an. Sobald das kostenlose Abonnements nach Plan fertig ist, dann werden Sie nicht in der Lage, viel auf
der Plattform zu tun , bis Sie unsere neuen Abonnements auf Marke, die zusammenfällt, dass Upgrades. Also, wie ich bereits sagte, es gibt p Wie Sie gehen Und dann gibt es Pay-as-you-go Dev-Schräg-Test, der ist derjenige, auf dem ich bin, das ist wie die Hälfte des Preises von der regulären PICU cool. Also habe ich tatsächlich meine Karten-Entzündung zur Verfügung gestellt, als ich mich angemeldet habe. Und nachdem Sie das getan haben, können
Sie klicken Sie auf sie klicken Vereinbarung, wenn Sie keine Karte haben oder Sie nicht mit der Bereitstellung unserer Kartendaten vertraut sind dann. Lecker, und du kannst hier aufhören, das ist in Ordnung. Wenn wir später tatsächlich in Azure bereitstellen, können
Sie immer noch sehen, wie es aussehen wird, und sehen, wie nützlich es für Sie ist. Was, wenn Sie möchten, dann können Sie gehen und geben Sie Ihre Informationen und klicken Sie dann auf die Vereinbarung und akzeptieren Sie die Vertragsbedingungen und dann würden Sie auf der Plattform sein. Also werde ich mich einfach in meine Rayleigh Kegel anmelden, könnte zitieren unquote Rayleigh Kegel, aber eine, die ich benutze und Ihnen zeigen, wie eine 0 aussieht. Nun, eigentlich habe ich gerade in Porto dot 0.com getippt in der Hoffnung, dass sie mich bitten würden, mich einzuloggen, aber ich tat das und es hat einfach umgeschrieben und mus in einen Kegel, den ich gerade George Williams auf gmail.com einrichtete. Also dieses Dashboard, also ist dies das Dashboard auf der sehr einfachen Ebene, sie haben ein Panel an der Seite, das ODE auflistet. Eine ganze Reihe von Dienstleistungen, die Sie bekommen können. Aber dann, weil wir den Satz
von vier nicht abgeschlossen haben, weil ich die abgewickelte, zumindest dann, wenn ich zu Abonnements gehe, werde
ich sehen, dass ich kein Abonnement habe, richtig? So wie ich in dem Abonnement sehen wird, wie die Rate Sie als Kunde mit AARP, wie Sie gehen Unternehmen oder was auch immer. Also, wenn ich später beschlossen habe, dass ich meine Informationen bereitstellen möchte, kann
ich einfach zurückkommen und auf Hinzufügen klicken. Und dann bringt mich das dazu,
den Anmeldevorgang abzuschließen , wo ich das Abonnement tatsächlich hinzufüge. Und so ist dies eine kostenlose Testversion für den Krieg, der oben steht,
nur wissen Sie, dass Sie Pay-as-you-go Entwickler-Unterstützung haben. Uzziah von einigen von ihnen. Okay, also würde ich wahrscheinlich mit Lohn gehen, wie du gehst. Aber das ja, das ist alles in den Schritten der Anmeldung für Azur, und das ist, wenn Sie damit fortfahren wollen. Aber dann für diesen Umweg, wirklich und wirklich,
Ich wollte nur, dass Sie so weit wie das Dashboard, so dass Sie sehen können, dass dies eine 0 ist,
sieht so aus, als wäre dies langsam Workload-Management-Portal. Sie können Ihre virtuellen Maschinen einrichten. Aber für diesen Kurs werden
wir uns Dienstleistungen ansehen.
70. Book und Datenbank: Na gut, Leute, willkommen zurück. Also werden wir tatsächlich unser Web-API-Projekt-Tool oder Azur Hosting bereitstellen. Ich gehe davon aus, dass Sie Ihr Konto bereits erstellt haben. Sie müssen einfach mit der rechten Maustaste auf das Projekt gehen und dann sehen Sie veröffentlichen und es entgeht. Da gehen wir veröffentlichen. Sobald er darauf geklickt hat, wenn Sie noch nicht bei Azure angemeldet sind, gehen
Sie bitte weiter und tun Sie dies. Dann sehen wir die Ziele hier. Also, wenn wir auf unserem lokalen Server veröffentlichen wollten wählen Sie ja oder, wissen
Sie, wählen Sie diejenige, die nach unserer Situation funktioniert. Was soll ich eine 0 hier erleichtern? So wie Sie sind, klicken wir auf Weiter. Und dann wollten wir in einem App Service, richtig? Also gehen wir voran und klicken auf Weiter. Möglicherweise werden Sie zu diesem Zeitpunkt aufgefordert, sich anzumelden, wenn Sie nicht bereits mit Ihren cones angemeldet sind Ihr Microsoft-Konto. Aber an diesem Punkt, was wir tun wollen, ist erstellen einige Augen Ihre Instanzen. Also mein Abonnement hier ist, weil Sie Dev-Test gehen und Sie möglicherweise nicht unbedingt diesen haben, oder Sie können einen anderen haben, aber als IZ Zugriff erhalten, dann sollten Sie in Ordnung sein. Also werde ich fortfahren und auf das Pluszeichen klicken weil ich keine Ressource oder Ressourcengruppe habe oder ob ich hier ein paar Ressourcengruppen aus früheren Experimenten habe. Aber was ich tun werde, ist ein brandneues zu erschaffen. Das wird also Buchhandlung RG sein, richtig? Also klicke ich auf OK und dann fragen sie mich nach den ganzen Dampfanlagen. Also werde ich auf neu klicken und ich werde wählen, Ich verwende gerne East US, aber dann verwendest du diejenige, die deinem Grund am nächsten ist. Also wähle ich Ost US zwei, das ist die empfohlene aus meinem Grund, nämlich die Karibik. Und dann wird meine Größe frei sein. Also haben Sie frei und Sie haben andere, für die Sie bezahlen müssen. Also, wissen Sie, um am kosteneffektivsten zu sein, wir einfach kostenlos wählen, damit wir diesen Vorgang gut erledigen können, Sie können immer skalieren, das ist die Schönheit von Azure und Kleidung kann in der Regel immer skaliert werden, wenn Sie es brauchen. Dann haben wir diesen Hosting-Plan. Ich werde diesen Buchhandlung API-Blazer Plan nennen. In Ordnung? Und so benenne ich es einfach um. Das musst du nicht wirklich tun. Sie klicken auf OK und dann auf Erstellen, und dann müssen Sie tatsächlich geben, dass irgendwann. Sobald dieser Vorgang abgeschlossen ist, können
Sie fortfahren und auf „Fertig stellen“ klicken. Und dann hätte es die vorläufige erledigt für unser Publishing-Paket. Okay, also lasst uns einfach, ich werde dich hier durch ein paar Dinge führen, und wir haben diese kleinen Vorsicht und deshalb müssen wir alles nochmals überprüfen. Also werde ich nur auf Edit auf einem Gedanken veröffentlicht klicken. Und was es mir hier zeigt, ist, dass es einen Server
erstellen wird oder der Server, der es gerade
für den AP-Dienst erstellt wird, heißt, dass der Site-Name Bookstore Dash-API sein wird. Das wäre also komisch. Das EPI wird eingesetzt. Ich wahrscheinlich, wissen Sie, er kann wahrscheinlich Kunden ist ein bisschen Berlin Plutonian Name oder so. Du willst aber auch nicht hart. Die Ziel-URL wird durch den ST-Namen ish bestimmt, oder? So können Sie die Ziel-URLs wählen, kann ich sagen. Buchhandlung, API, Dash Kurs. Okay, dann wird diese URL nun von Assyrien übernommen. Gott hat diese URL zumindest verwendet, bis ich unveröffentlicht, mein Gericht unveröffentlicht ist Ihre aktuelle nachlässt. Ordnung. Also kann ich Buchhandlung API sagen. Und ich werde meinen Namen setzen. Okay, also das ist Society und dann Buchhandlung API. Und lassen Sie mich einfach einen Rasenkrieg sagen. Da gehen wir. Wenn ich also versucht habe, die Verbindung zu validieren, wird
es nur versuchen zu überprüfen, ob sie tatsächlich mit der Website in Kontakt kommen kann. Und ein grüner Zick bedeutet, dass wir los sind. Wenn wir uns die Einstellungen ansehen, würden
Sie sehen, dass das Ziel-Framework, das net fünf ist, für das letzte Upgrade
hochgeht. Und dann haben wir die Dateiveröffentlichungsoptionen, so dass Sie alle Dateien
entfernen können , die bereits vorhanden sind. Du liebst einfach frisch, applaudierst jedes Mal. Sie können sich die Gottheit BASECASE ansehen. Ja, die Standardverbindung hier, das ist unsere lokale Datenbankverbindung. Sie haben durch zustimmt Shuns, die sie tun können. Und Sie können auch erweiterte Protokollierungsdienste installieren. So wollen Sie vielleicht nicht, Sie wollen vorsichtig sein, was Sie ankreuzen, weil diese Dinge Geld kosten. Also, wissen Sie, je weniger Dinge, die Tick ist, desto weniger Geld theoretischer Wert als Ausgaben, aber nur um sehr vorsichtig zu sein. Also laufe ich nur durch das. Verstehen Sie, was Sie sehen. Also kann ich voran gehen und sehen, ob das ist und dann werden Sie sehen, dass meine neue
Website-URL wäre, dass, wenn sie veröffentlicht wird, wir noch nichts veröffentlicht haben. Das nächste, was wir tun müssen, ist die Datenbank einrichten. Jetzt wird dieser Geld kosten. Es gibt keine freie Datenbank, oder zumindest zum Zeitpunkt dieser Aufnahme gibt es keine freie. Also gehe ich einfach weiter und klicke auf Konfigurieren, wähle Azure SQL-Datenbank. Und es sei denn, Sie sind einer dieser Hybrid-Setup-Switches,
die normalerweise von großen Unternehmen erleichtert werden, und Sie können möglicherweise nicht in der Lage sein, lokale Datenbank zu tun. Lokal bedeutet, wo Sie sich im Code befinden. Wenn alles im Code ist, ist alles zugänglich. Wenn es lokal ist, benötigen Sie einige erweiterte Netzwerke und gute Möglichkeiten. Und wie gesagt, größere Kooperationen neigen dazu, das zu unterstützen. Ich bin keine einzige Strang-Unterstützung, die es billiger für mich ist, nur die SQL-Datenbank und lokal zu erstellen. Also ging ich voran und klicke auf Plus, um eine Datenbank hinzuzufügen. Also fragt mich dann, was bedeutet der DSMB S? Das ist ich will Buchhandlung Dash-API Unterstrich DB. Daher wird der Standardname wegen des Projektnamens angegeben und das ist sein. Ich meine, es ist offensichtlich, das ist in Ordnung. Ich wähle die Ressourcengruppe aus, die ich gerade erstellt habe. So ist es immer gut, vor allem in geschlossenen um alles innerhalb der gleichen Ressourcengruppe zu halten. Und alles kann in einem Behälter sein. Das ist es, was Ressourcengruppe bedeutet. Der Datenbankserver. Ich spreche nicht auf dem aktiven Server. Also, weil ich keinen aktiven Dienst für die Datenbank für Azure SQL haben möchte. Ich muss einen Server erstellen. Also ging ich los, um hier drüben neue zu erschaffen. Und dann wird es einen ganzen Server drehen. Es wird mich nach dem Benutzernamen fragen und ich werde einfach ein Passwort eingeben, das ich weiß, dass ich mich erinnern kann. Das ist also sehr wichtig. Stellen Sie sicher, dass Sie sich an den Parser erinnern können, da Sie ihn später anmelden müssen. Sie klicken auf OK und dann wird er den Rest für Sie
ausfüllen und sie gehen voran und klicken Sie auf Erstellen. Das wird also den Server erstellen und für die Konnektivität einrichten. Und nun, dieser Prozess mag eine Weile gedauert haben, aber sobald er endlich fertig ist, können
Sie weiter gehen und auf Weiter klicken. Es zeigt Ihnen die Verbindungszeichenfolge. Es weiß also, dass wir in unserem Projekt nach Standardverbindung suchen. So wird es nur Standard-Verbindung nennen. Dort werden Sie aufgefordert, Ihren Benutzernamen und Ihr Passwort anzugeben, das Sie gerade erstellt haben. Also werde ich das einfach tun. Und was passiert ist, dass es tatsächlich nur in diese Verbindungszeichenfolge setzen wird. So können Sie tatsächlich einfach diese Verbindungszeichenfolge kopieren. Sie können es sehen, wenn Sie möchten. Aber Sie können vorsichtig damit sein, weil es den Benutzernamen und das Passwort
haben wird , die Sie gerade hier eingegeben haben. Sie können auch wählen, dass die App-Einstellungen der Key Vault sind. Key Vault ist sicherer, aber das kostet noch einmal. Also lasse ich es einfach bei den App-Einstellungen und klicke dann einfach auf Weiter. Und alles andere, was es uns fragt, wir haben gerade als Ihre und Microsoft noch am besten angeklickt , so dass alles, was sie vorschlagen, er tut auf Weiter und lassen Sie es wissen, dass Sie interessiert sind, und dann können wir schließen, so dass Vorsicht Schaltfläche ist weg. Unsere Datenbank ist jetzt weg. Dachte, lassen Sie uns versuchen, ein veröffentlichtes zu tun. Also werde ich nur auf Veröffentlichen klicken. Und es wird nur weitergehen und einige,
einige Operationen dazwischen machen . Also, wenn unsere veröffentlichte Operation abgeschlossen ist, wird
es versuchen, alles aufgeregt zu starten und das ist, was ich im Moment bekomme. Also lass mich versuchen, zu meinen Kegel zu kommen. In Ordnung, also bin ich in meinen XHR-Kegel eingeloggt und
wollte versuchen, alle Ressourcen anzuschauen. Ich sehe hier. Ich habe das Web, den App Service, richtig? Dann haben Sie die SQL-Datenbank selbst. Und dann bekannter Bereich des Serviceplans
, der im Grunde nur eine ausgefallene Art ist, die server.js zu sagen, die den Dienst hostet, sowie den SQL Service Server, richtig? Also lassen Sie mich in unserer Webanwendung schauen. Also manchmal ist alles Knoten, weil es eine Konfiguration fehlt. Ich glaube, ich weiß, was es ist, aber ich wollte euch nur zeigen, wie ihr
irgendwie debuggen und herausfinden könnt , was passiert. Was wir also tun wollen, ist zu fortgeschrittenen Tools zu gehen. Und dann heißt dieses fortschrittliche Tool Khufu, richtig? So gibt es uns einige Operationen am niedrigsten tatsächlich unterbrochen den Dienst oder die zugrunde liegenden Dateien oder Infrastruktur. Also wollte ich zur Debug-Konsole gehen und ich werde zur Website www root navigieren. Und dann können wir alle Dateien sehen, die aus dieser Perspektive
veröffentlicht worden wären , richtig? Also von hier gehe ich zu do.net und Buchhandlung dash api dot DLLs. Das bin ich also nicht. Starten der Anwendung dort ist es, Bookstore dot DLL. Und diese Konsole gibt mir eine ganze Aussage. Also lasst uns wieder nach oben gehen und sehen. Das ist also eine Warnung. Okay, ich kann an dem gehen, aber dann siehst du das Scheitern. Tut mir leid, es springt immer weiter. Also an diesem Punkt sagt es fehlschlagen und es beschwert sich , dass eine Ausnahme für den Kontext aufgetreten ist. Und dann sagt es, dass es nicht finden kann, ist B net Regeln jetzt also, wenn es Unternehmen ermöglicht, Mit anderen
Worten, es kann die Datenbank finden. Es ist etwas los mit der Einmalung der Datenbanktabellen. Also lassen Sie mich einfach mitnehmen, dass Azur zur Datenbank rüber
geht und dann können wir es uns ansehen. Nun, nun, es ist ein wirklich wollen, dass sie Verbindungszeichenfolgen. Ich wollte nur wissen, wie ich mich mit diesem Datenbankserver verbinde damit ich meine lokalen Tools tatsächlich verwenden kann. Also habe ich mein Management Studio bereits installiert. Und so möchte ich eigentlich mit meinem, meinem, meinem,
meinem lokalen Server oder meinen lokalen Tools eine Verbindung zu diesem Server herstellen. So kann ich diesen Server gleich Teil auswählen, nur das TCP erhalten. Also die Portnummer, die meinen Server sagt. Also zur Schule mit Demand-Management-Studio und verbinden. Und dann verwende ich die Serverauthentifizierung, weil ich dieselben Anmeldeinformationen
verwenden muss, die ich gerade beim Erstellen des Servers verwendet habe, um diese für die Verbindung zu verwenden. Trends des Verhaltens kennen, wird Ihnen sagen, dass Sie keinen Zugriff haben, weil Sie tatsächlich einige Firewall-Regeln
einrichten müssen oder ein niedriges für die Firewall für externen Datenverkehr, um zu Ihrem Server zu gelangen. Von hier aus kann ich mich anmelden und dann aktivieren. Also geh ich einfach weiter und mache das und lass dich sehen. Sobald es bestätigt, dass ich YM bin, werden
wir fragen, ob ich meine Client-IP-Adresse hinzufügen möchte, einen weiteren Verkaufsklink, weil ich nicht das gesamte Internet brauche, um zu dieser Datenbank zu gelangen. Ich brauche meine Maschine nicht. Also, wenn ich hier bin, kann ich schauen und ich sehe meine Idee zu BCE. Und das ist irgendwie, also lass mich ein bisschen für dich heranzoomen. Und dann kann ich meine Datenbank erweitern und mir die Tabellen ansehen. Und wenn es Geld braucht, was siehst du dann nicht? Das ist also unser Problem. Es gibt keine Datenbanken. Also ja, er hat die Datenbank erstellt, aber sobald es gescheitert ist, war tatsächlich eine der Migrationen durchzuführen. Also lassen Sie mich zurück zu den visuellen Schülern,
sehen, welche Einstellung es dafür gab. Also glaube ich, wenn ich zu Bearbeiten
gehe, gehe zu Einstellungen, und dann wird es herausnehmen, um die Datenbanken dort zu entdecken. Okay, also kann ich das löschen, nicht,
aber ich sehe diese Migration unveröffentlicht, was bedeutet,
wenn ich das veröffentliche , was bewerbe ich mich? Richtig? Also kann ich einfach sagen speichern und dann eine weitere Veröffentlichung machen. Sobald wir also unsere Datenbank nochmals abchecken
, wird diese letzte Bereitstellung die Migration erledigt. Allerdings sind wir immer noch nicht fertig, weil wir nicht unsere Bücher und Autoren Tabellen haben. Also das Problem ist, dass denken Sie daran, dass wir Datenbank zuerst gemacht
haben, wir näherten uns diesem gesamten Projekt von der Prämisse , dass die Datenbank bereits existierte und sich mit ihm verbinden. Also haben wir keine Migrationsdateien für diejenigen, was ich sagen soll, diese Tabellen, richtig, diese Dateien. Also, was ich tun werde, ist nur eine Migration zu erstellen. Und dann können wir es versuchen. Das ist wieder jemand sagen einfach Migration hinzufügen. Und wir werden sagen, fügen Sie vorhandene Formulierungen anders, wenn Sie Tabellen wollen. Also werden wir einfach diese Migration erstellen. Und dann diese Migration, Nein, wir werden die Tatsache berücksichtigen, dass wir die Autoren Tabelle haben, die wir erstellen müssen, eine Büchertabelle, die wir erstellen müssen. Und wenn Sie es hinzufügen, haben
Sie möglicherweise andere Tabellen und so weiter. Also, jetzt, da wir wieder veröffentlichen, wo er es gesagt hat, dass es die Migration hinzufügen sollte. Lassen Sie mich einfach überprüfen, ob diese Option vorhanden ist. In Ordnung, also sagen die Leute, die Migration anwenden. Also, das ist in Ordnung. Lassen Sie mich voran und veröffentlichen ich bekomme. Und wenn wir in unserem Management Studio schauen oder kein CO, zwei Tabellen, die fehlten. Also sind Autoren und Bücher da. Also wissen wir, dass jedes Mal, und das ist nicht unbedingt die beste Praxis, dies ist uns tun, aber fremd für mich, Sohn krank in einer realen Umgebung, in einer Produktionsumgebung, Sie hätte nie automatische Migrationen. Ordnung, Best Practice wäre, dass Sie Crypt verwenden, nicht die Datenbank mit allen Tabellen und Artefakten und allem, was erstellt werden muss. Sie geben es Ihrem Senior ab,
egal ob es sich um einen DBA oder Ihren Senior Developer handelt, und dann erhalten Sie es in das System. Aber nie, es ist nie eine gute Praxis, Ihre Migration zu automatisieren. Okay, also wo Buck mit Putsch, nachdem wir die letzten beiden gemacht haben,
veröffentlicht, um zu wissen, dass du immer noch den 500-Fehler siehst, den Fehler, den wir anfangs gesehen haben. Also lassen Sie uns dies noch einmal versuchen, wo wir sagen eine.net Buchhandlung api dot DLL. Mal sehen, was diesmal passiert. In Ordnung, also hat unsere Anwendung keine Probleme, soweit dies anzeigt. Aber dann wieder einmal, wir bekommen immer noch diese URL aus. Es ist in der Lage, unsere Seite zu finden. Also wissen wir wenigstens, dass wir gewisse Dinge rausbekommen haben. Also jeder, der veröffentlicht müssen
wir sicherstellen, dass die Datenbank läuft und läuft. Und wir können sehen, dass das hier passiert. Gehen wir zurück zu deiner Hintertür und sehen, welche anderen Einstellungen da sein könnten. Da ich nicht weg bin, werden wir hier tun. Also, wie es Ihnen wirklich leid tut, dominieren Kern tatsächlich gibt uns die Möglichkeit,
Protokolle basierend auf Dingen, die in unserer Website schief gehen könnten anzuzeigen . Also gehe ich auf die Website,
gehe zurück zu w, w root, bringe unsere Web-Konfigurationsdatei auf, damit ich diese Datei direkt hier bearbeiten kann. Und ich werde dieses std-Protokoll ändern, aktiviert sie dies in true ändern. Was dies also tun wird, ist tatsächlich
eine Menge produziert , weil manchmal die Verpflichtung läuft, aber es gibt etwas anderes in der zugrunde liegenden Infrastruktur, das dazu führt, dass sie fehlschlägt. Also, indem wir dieses Protokoll aktivieren, können
wir nun eine physische Protokolldatei sehen und wir haben bereits TO Importe auf Protokolldateien etabliert sind. Und der Speicherort für die Protokolldatei wäre Einsicht in Wissen, die Root-Protokolldateien sind, und wir sollten sehen, dass es hier erscheinen. Lassen Sie mich also versuchen, die Anwendung noch einmal auszuführen, ein paar Mal und sehen, ob irgendetwas, ob eine Protokolldatei für mich erscheint. In Ordnung, also kam nichts in meinem Log-Ordner auf. Ich gehe zurück nach Uzziah und stelle sicher, dass alles in Ordnung ist. Also Buck im Web und ich sehe hier, dass die URL, die URL zurückgesetzt, der Euro, auf diese Werte zurückgesetzt
wurde. Das ist also unsere URL. Die ganze Zeit habe ich versucht, auf die URL zu gehen, die eingetippt ist, was Dash EPA Industrie Awards ist. Versuchen wir also diese URL und sehen, was passiert. Und voila, schöne, schöne Anblick, die wir sehen, sind Swagger API, wie wir wissen, dass wir sehen sollten. Und die Ausnahme ist, dass dies nicht auf unserem lokalen Computer ausgeführt wird. Das ist keine Last. Ordnung? Also, wenn Sie Post Geld verwenden, sollte in der Lage sein, über
das Internet zu gehen und auf Ihre API zugreifen, die Sie erstellt haben. Beachten Sie, dass wir unsere API gehostet haben. Was wir tun wollen, ist unsere Blazer Ups zu veröffentlichen, aber um sicherzustellen, dass sie auf diese
gehostete API verweisen , anstatt zu versuchen, die lokale zu sehen. Also machen wir das, wenn wir zurückkommen.
71. Blazor Server im Blazor: Hey Leute, willkommen zurück. Jetzt, da wir unsere API haben, müssen
wir unsere Blazer-Apps für das Leben in Azure drucken. So haben wir unsere API wird unter dieser Adresse gehostet. Also müssen wir dies erfüllen, die Basis-URL in unserem Ende, 0.5 für die Web-Assembly und der Server wird Server tun, oder? Nein, was? Wir wollten ihn zehn sehen, also vergiss nicht, was das ist. Unsere Basis-URL für unsere präsentierte gehostete API. Also gehen wir voran und werden veröffentlicht Aktivität,
Rechtsklick, klicken Sie auf, Veröffentlichen. Wir wählen eine 0. Das Web, die Azara beobachten ist, was wir den gleichen Up-Service wiederverwenden können, den wir bereits haben. Es würde es einfach überschreiben, oder? Also muss ich nur einen neuen Dienst hinzufügen, und dieser ist für die Buchhandlung UI. Also werde ich keine Namen ändern. Wir können die gleiche Ressourcengruppe wiederverwenden und ich kann es in den gleichen Hosting-Plan setzen. ist also alles in Ordnung. Aber der Dienst selbst ist der eigentliche Container für die Dateien für die Webanwendung. Der Hosting-Plan, noch einmal ist mehr, als die Maschine, die wir Hosting werden. So kann ich fortfahren und auf Erstellen klicken. Und diejenigen, die Erstellungsaktivität durchgeführt wird, können
Sie voran gehen und klicken Sie auf Fertig stellen. Und dann wird es uns zu diesem vertrauten Bildschirm bringen, außer es wird uns etwas darüber erzählen, welches Signal und welche Konfiguration sind. Aber wenn ich auf Veröffentlichen klicke, es wird mich dann aufgefordert, Signal r konfigurieren müssen. Also denken Sie daran, dass dies der Server ist, den der Blazer-Server, den wir bereitstellen. Und ich glaube, ich habe bereits die Sigma-Aliased-Dienste, die es ermöglichen. Also habe ich nicht so schnell Kugeln bekommen. Wenn Sie die Eingabeaufforderung erhalten, lade ich sie, um das Signal zu installieren. Unsere Dienstleistungen und all das werden nur Bootstrap für Sie sein und sie werden auf Ihre Projektreferenz entsprechend und veröffentlichen Ihre Website. Hier läuft unsere Blazer-Server-Anwendung. Also lassen Sie es uns testen. Also, wenn ich versuche, mich einzuloggen und mich daran zu erinnern, dass das bereits Meeresboden gewesen wäre. Einige Standardbenutzer haben immer noch admin, bookstore.com, Piazza und Na. Und dann, wenn ich den Erfolg mit jährlichen für kurz anmelde, spreche mit der API, da bin ich. Wenn ich zu den Autoren gehe, wird es aber abwandern. Die Autoren, es gibt keinen Autor zu laden. Ich kann ein neues erstellen. Ich bin nur da, wir gehen. So wissen wir jetzt sicher, dass unser Blazer up mit unserer API spricht.
72. Beteilige Blazor WebAssembly in Azure Web Blazor: Hey Leute, willkommen zurück. Daher haben wir unsere API veröffentlicht und unseren Blazer-Server veröffentlicht. Und wenn Sie genau zwischen den beiden hinschauen, würden
Sie sehen, dass es in Bezug auf die Veröffentlichung in Azure keinen großen Unterschied gab. Ja, desto besser benötigte einige zusätzliche Arbeit mit der Datenbank. Aber die beiden der App funktionierten ziemlich ähnlich wenn sie für die Webassembly veröffentlicht wurden, ist
es etwas anders, weil dies nicht serverbasiert ist. Es ist eine statische Anwendung. Und so hat Azure einen statischen Container für diese Art von Website. Wir werden also etwas andere Schritte für unsere Webassemblierung machen. Bevor wir jedoch mit dem Veröffentlichungsteil fortfahren, habe ich nur ein paar Codeänderungen, auf die ich für unsere Datei program.cs hinweisen wollte. Also die Datei program.cs in unserer Web-Assembly, werden
wir die folgenden Anpassungen vornehmen. Anfangs hätten wir eine Linie gehabt, die uns den Builder Dot Add Services gegeben hätte. Also hatte ich eine Zeile hier, um einen JWT-Sicherheitstoken-Handler hinzuzufügen. Wir werden diese Linie entfernen. Es hat sich als Buggy erwiesen. Und jemand hat darauf hingewiesen, dass wir das etwas anders machen müssen. Was wir stattdessen tun werden, ist darunter, wo wir unseren HTTP-Client initialisieren. Wir werden nur zwei Zeilen haben, die ungefähr so aussehen. Das ist also ein Unterstrich. Hier, ist ein Unterstrich. Da gehen wir. Hat OUT Header und Unterstrich gleich neuer JWT Nutzlast. Und dann müssen wir ähnliche Anpassungen an unserem Authentifizierungs-Handler vornehmen, genauer gesagt dem API Authentication StateProvider. Und was wir tun werden, ist zu entfernen, bevor wir entfernen, werden
wir den JWT-Sicherheitstoken-Handler in der Datei selbst initialisieren. Anstatt es zu injizieren, werden
wir nur einen privaten schreibgeschützten JWT-Sicherheitstoken-Handler haben. Und dann ist der Token-Handler gleich dem JWT-Token-Handler. Also, anfangs im Trie, begannen
wir mit dieser Zeile var Tolkien-Handler gleich neuen JWT-Token unter. So können Sie das entfernen und einfach das Objekt oben hier initialisieren. Und dann in der geliebten Funktion hatten
wir auch diese Linie, damit wir sie auch entfernen können. In Ordnung, also ist unser Tolkien-Handler-Objekt global für die gesamte Klasse bekannt. Es wird nicht injiziert. Und dann können wir es entsprechend verwenden, damit Sie diese beiden Anpassungen vornehmen können. Und dann werden wir in die lustigen Sachen kommen, die die eigentliche Bereitstellung unserer Anwendung ist. Melden Sie sich also im Portal an und während Sie dort sind, möchte
ich, dass Sie eine Ressource erstellen. Also vom Marktplatz, nach dem wir suchen, werde
ich nur statisch tippen. Und dann möchte ich eine statische Web-App. Es ist noch in der Vorschau, aber es ist stabil genug, um unsere Aufgaben zu konkurrieren. Also gehen wir voran und sagen „Erstellen“. Und es wird uns ein kleines Formular geben, um auszufüllen, so dass unsere Ressourcengruppe mit der gleichen Ressourcengruppe für alles andere. Ich werde nur dieses Web geben, den Namen Blazer Dash war ein Grund für mich, US Ost, US zwei. Dann müssen Sie sich mit GitHub anmelden. Was passiert, ist, dass die Standardeinstellung dafür die
kontinuierliche Bereitstellung und Integrationspipeline mit GitHub-Aktionen einrichten wird. Sie erfordern also, dass Sie sich mit GitHub anmelden. Also von Anfang würde
ich Sie ermutigen,
zu Hobart Kegel zu kommen, um Ihren Code auf GitHub zu überprüfen. Nun, hier wird alles integriert. Also gehen wir weiter und melden uns mit GitHub an. Dies autorisiert es. Und dann werden sie dir nur ein paar Fragen stellen. Also habe ich nichts Besonderes hier zu setzen, das Repository oder harte alle ihre positiven Repository auf GitHub. Ich werde meine Buchhandlung API wählen. Und dann ist der Zweig Meister. Dann gehen wir zu den Aufbaudetails, zu
denen ich keine Details angeben muss. Es ist nicht erforderlich. So sehen Sie immer das Sternchen, wenn etwas benötigt wird damit er weitergehen und überprüfen und erstellen kann. Der nächste Bildschirm ist nur der Blick über. Bist du dir sicher? Und dann werde ich sagen, gehen Sie voran und erstellen. Was das eigentlich tun wird, ist, meinen guten
TO Bob Doppelpunkt mit der Bereitstellungskonfiguration auf schnell einzurichten , wie er sehen kann, er versucht tatsächlich, dass es tatsächlich die Bereitstellung macht, richtig? Nein. Richtig. Und dann wird es die Verärgerung schaffen. Wenn ich zu Resource gehe, dann würde ich tatsächlich oder sollte tatsächlich in der
Lage sein , von hier aus zur Ressource oder zur Anwendung zu gelangen. Wenn ich also auf diesen Link klicke, sehen
sie nur, dass Ihre statische Web-App live ist und auf Inhalte wartet. Also müssen wir einige Änderungen vornehmen. Wenn du ein Senior bist, dann Lob an dich, kein Problem. Du hast es getan. Allerdings, wenn Sie nicht sehen, die oben, dann bleiben Sie einfach ein wenig herum, weil wir im Begriff sind, zu gehen. Also für den Bereitstellungsverlauf, ich werde nur klicken, sind gut, ich kann den Workflow bearbeiten. Es ist also wirklich die Workflow-Datei, die nur eine Konfigurationsdatei ist, die sie gerade innerhalb meines GitHub-Repositorys für dieses Projekt
erstellt hätten . Ordnung? Und es gibt einen wichtigen Teil in dieser Datei, wo es über die Anwendung spricht. Die Anwendung hier bedeutet also, wenn ich in diesem Repository schaue, wo finde ich die Web-Assembly? Also, wenn wir in zumindest meine eigenen schauen und wenn Sie auf war so eingerichtet, wie ich meine eingerichtet habe, dann werden Sie sehen, sind dann würden Sie es im Web Assembly-Ordner haben. Sie müssen also sicherstellen, dass Sie wissen, in welchem Ordnerjahr Web Assembly up ist. Also gehe ich zurück zu den Workflows und Mackenzie, das muss
ich, denn bei cento geboren vorher, aber wir konzentrieren uns auf diesen. Jahre werden nicht den gleichen Namen haben wie meine. Das ist in Ordnung. Einfach gut. Das eine und wir können nur von hier in GitHub. Und ich werde diese Anpassung hier treffen. Also für den Up-Speicherort werde
ich den Ordner in das Repository legen, in dem das OP gefunden werden kann, was Bookstore Bindestrich weißer Punkt war. Und dann kann ich weitermachen und diese Änderungen begehen. Nun ist die coole Sache, dass, wenn wir ein Commit machen, es tatsächlich wird
eine Bereitstellung jedes Mal starten , wenn wir Änderungen vorgenommen haben, die mit Bereitstellungen beginnen. Also, wo sehen wir diese Bereitstellungen? Wenn wir auf Optionen klicken, dann würden wir in der Lage, alle Workflows zu sehen. Jedes Mal, wenn wir ein Komitee machen, Candace, gehen zu Auktionen und Sie werden sehen, dass es seine bereits Setup mit der CIC-Pipeline einrichtet und diese ist im Gange, und wenn ich darauf klicke, wird es mir dann die laufenden Jobs zeigen. Ich klicke, klicke auf Build und Deploy und es wird mir zeigen, dass ,
okay, es macht einen Builder unter Nr. Also musst du dem ein paar Momente geben. Sie sehen also, dass wir eine Option bekommen. Ordnung? Und wenn Sie diese Aktion nicht erhalten und nur sicherstellen, dass Sie einen Warenkorbordnerpfad haben, sonst wird es fehlschlagen. Wenn du auf meine Aktionen
zurückblickst, würdest du sehen, dass einige gescheitert sind, und das lag hauptsächlich daran, dass ich nicht den richtigen Weg hatte. Mit dem richtigen Pfad würden
Sie also keine besseren Ergebnisse sehen. Und es wird durchlaufen. Okay, du siehst, nein, es führt diese Aktionen aus und weiß, dass es beim Erstellen und Bereitstellen von Ängsten ist. Und schließlich mein Axon Phil. Aber im Nachhinein habe ich wirklich nicht all die wunderbaren Änderungen eingecheckt, die ich gerade vorgenommen habe. Es versucht immer noch, den alten Code zu veröffentlichen, für den wir gerade Korrekturen hatten. Also werde ich nur voran gehen und ein Commit machen, wo ich schnell bekomme, Entschuldigung, ich muss Änderungen bekommen. Aufgrund des neuen Visual Studio haben
bestimmte Dinge Kinn, also sind wir in guten Veränderungen und ich habe meine Nachricht und dachte nur, alles zu übernehmen und zu synchronisieren. Und sobald wir das getan haben, und das ist der Kopf zurück zu git Hub und überprüfen Sie unseren Prozess. Wenn ich also erneut auf Aktionen klicke, dann würden Sie sehen, dass ich gerade das Einchecken durchgeführt habe und es nicht die Bereitstellung macht. Also lasst uns das ein paar geben, die ich bekomme. Und wieder dieses Feld. Vielleicht haben wir einen besseren Erfolg als ich. Aber das ist gut, denn wenigstens, wenn diese Dinge scheitern, ist
es gut zu wissen und zu verstehen, worauf man achten muss, wenn sie scheitern. Also vermute ich, dass es etwas falsch mit meiner mit
meiner YAML-Datei geben könnte , die die Bereitstellung für jemanden ist, der zum Code übergeht, sich die Workflows erneut ansehen und durchsucht. Und ich denke, ich sehe, was das Problem sein könnte. Also das Gute ist, dass eigentlich zwei dieser Dateien haben. Eine nicht, ich bin sicher, funktionierte und eine, die nicht. Es funktioniert nicht. Was ich also tun werde, ist, sie
nebeneinander anzuschauen und zu vergleichen und zu sehen, was ich ändern muss. Also werde ich hier mit meinen Leodes ein bisschen kreativ machen. Also werde ich Kopien dieser Art von Datei auf beiden Seiten haben. Also diese Seite ist diejenige, die wir brauchen, um zu arbeiten. Der linke Islam funktioniert nicht und rechts ist derjenige, der in der Vergangenheit für mich gearbeitet hat. Also schaue ich nur durch, um zu sehen, was in Bezug auf
diese Konfigurationen unterschiedlich sein könnte , da die Anwendung auf beiden Seiten gleich ist. Up Standort ist Buchhandlung, die Buchhandlung Ui.R. Guassian auf beiden Seiten haben dann API Lift. Ich hielt es ein auf einem Satz und gemeinsame UND andere. Lassen Sie mich das einfach normalisieren. Haben Sie auch www Rutan diejenigen, die nicht auf der anderen Seite sind, obwohl es optional sagt, aber an diesem Punkt bin ich nicht ganz sicher, was nicht funktioniert. Also wollte ich nur sicherstellen, dass ich alles berücksichtigt habe. Mit diesen Veränderungen sehe
ich also nichts anderes, was anders sein könnte. Richtig? Also werde ich einfach voran gehen und sparen. Und natürlich wird das Speichern einen weiteren Build auslösen. Also schauen wir uns die Auktionen an und sehen, was diesmal passiert. Und diese Veränderungen scheinen den Trick für mich getan zu haben. Also, was ist eine erfolgreiche Bereitstellung zumindest nach Github? Also gehe ich zurück, aktualisiere meine Websites und lade, entlade. Da gehen wir. Alles klar, das ist also unsere Web-Assembly-Anwendung, die von Azure aus läuft, um unsere Schüssel zu verursachen, wir kamen endlich dorthin. Also, wenn ich nur einen Login mache, um zu überprüfen, ob es mit den APIs spricht. Das ist also Admin-Buch store.com und sei das ein Punkt. Und dann versuchen wir uns einzuloggen. Und da gehen wir, wo erfolgreich eingeloggt. Wenn ich auf Autoren klicke, ist
es, wann ich die Autoren herbeiführen würde, die ich
zuvor von dieser Serveranwendung erstellt hätte . Beide sprechen mit derselben API, die beide in Azure gehostet werden. Epa ist in Azure. Alles wurde mit Wissen implementiert, um
einen API-Blazer-Server bereitzustellen und unsere Sub-Assembly kennen. Und das Beste ist, dass dies die progressiven Web-Apps ist. Ich kann dies tatsächlich einfach direkt aus dem Browser installieren und es wird eine tatsächliche Anwendung auf meinem Computer sein, nein. Ordnung. Dies ist also eine tatsächliche Anwendung, die vom Computer aus ausgeführt wird, aber mit dem EPA spricht in Azure gehostet
wird.