Transkripte
1. Einführung 1.1: Hallo und herzlich willkommen zur professionellen Erholung. Will AP I entwerfen mit FIFA Wohnungen. Ich möchte, dass kein AP Ice die Interaktionsschicht zwischen Ihrer Datenbank auf Ihren Clients ist. jedoch Es istjedochnicht so einfach, ein gutes FBI aufzubauen, das bestimmte grundlegende Konzept sind, das Sie
verstehen müssen . Das ist es, worum es in diesem Kurs geht. Wir werden mit einer Theorie und dem Konzept beginnen, das für Sie notwendig ist, um zu verstehen, was ein gutes Rezept Dame. Ich hätte das Teilchen im Detail abdecken sollen,
und dann gehen wir weiter, um tatsächlich von Grund auf neu zu programmieren und ohne Rest für die Bibliothek zu verwenden . Eine robuste AP I-Plattform, die diese grundlegenden Konzepte nutzen und in die
Praxis umsetzen wird. AP Ich Art das wichtigste Stück Wissen, das ein moderner Backing-Anwendungsentwickler in seiner Tasche haben
muss, und dieser Kurs gibt es für den Fall, dass Sie den richtigen Weg lernen, wie
man erfolgreich das Zeichen Architekt und codiert eine Standard-konforme Brust Platte. Hier. Wir sehen uns drinnen
2. Einführung 1.2: höher. Willkommen bei professioneller Erholung ful ap. Ich entwerfe mit Bisonkolben. Was wollen wir in diesem Kurs erreichen? Nun, wir wollen eine erholsame AP-Anwendung von Grund auf neu erstellen. Das folgt den Industriestandards. Wir schauen uns zuerst die Theorie an, wie das verhaftende FBI aussieht. Und dann werden wir Bett für Bett codieren und Schritt für Schritt, eine Kolbenanwendung, die alle Industriestandards auf einem
P.I Service eine der Voraussetzungen, die Sie wissen müssen. Python Grundlagen auf. Sie sollten den Kolben kennen. Einführung und Fortschritt. Wie Sie wissen, habe ich zwei gute Kurse. Eine für die Einführung in den Kolben auf der anderen, ein professionellerer Kolbenanwendungskurs. Was brauchst du, um den Kurs abzuschließen? Sie benötigen einen Computer, auf dem der neueste Docker-Client installiert ist. Und wir werden diesen Docker-Dienst mongo db als unsere Datenbank und natürlich
Flask installieren . Also lasst uns die Reise beginnen
3. API: Hallo und willkommen zu professionellen Rest ful AP I Design mit Kolben. Mein Name ist Jorge Escobar und ich werde Ihr Lehrer in diesem neuen,
spannenden Kurs sein, wo wir erforschen werden, wie effizient auf professionell gestaltete A p I Dienste für alles, was Sie auf einem P I vier benötigen, um eine Plattform zu betreiben denen du willst,
dassandere Leute ,
dass interagieren. Oder Sie wollen, dass Leute,
ah, konsumieren, dass über eine mobile Anwendung, die ein sehr häufiger Anwendungsfall für AP ICE ist heute. Also lasst uns anfangen. Was ist ein P? Ich meine, so AP steht ich für Anwendungsprogrammierschnittstelle, und es ist eine Reihe von Routinen, Protokollen und Tools zum Aufbau von Interaktionen zwischen Clients und Servern. Und das bedeutet, dass Sie eine Schicht abseits der Kommunikation zwischen Ihrer
Anwendung,
Ihrer Plattform und etwas da draußen erstellen Anwendung, , das die Daten verbraucht und damit interagiert. In der Tat können
Sie ein FBI haben, das nur dort richtig ist, wo Sie nur geben. Das ist eine Wetterinformation für Menschen, die bekommen wollen, ob für ihre für ihre spezifischen Standorte, oder Sie können wie ein Lesen tun, Schreiben Sie ein p I. Wo Sie ein Sie wissen, soziale Anwendung, wo Sie erstellen Benutzer und Sie lesen und schreiben Beiträge und Dinge wie diese. Es ist also immer dieses Konzept, Entitäten einen Client auf einem Server zu trennen, durch diese Schicht durch diese Ah,
äh Spezifikation oder spezifizierte Art der Kommunikation
spricht ,die ein P I
genannt wird , Äh, was ist Ruhe? Rest steht für Repräsentation. Repräsentativer Zustandstransfer. Ich brauche vernetzte Hypermedien-Architektur. Typifiziert, übrigens, was bedeutet, dass sagen wir, Sie haben auf einem P I, und vielleicht kann ich jede Form haben. Aber wenn Sie sagen, verhaften volles FBI, die Konnotation gibt es, dass Sie Web-Stil Ansatz verwenden, ist in der Lage sein, diesen
Inhalt zu dienen , um in der Lage zu sein, mit diesen Kunden zu interagieren, und wir werden ein wenig zu sehen weitere Informationen dazu. Aber der Schlüssel hier ist, dass Sie über die Objekte oder die Daten nachdenken. Es gab Ihre Rückkehr, als wären sie Webseiten mit einigen Metadaten für,
wie, wie, nächste auf der vorherigen Seite und Dinge wie diese, und Sie müssen auch darüber nachdenken, wie Sie interagieren. Der Client Tracks mit Ihrer Plattform verwendet HDP-Verben. So erhalten Sie Post, die wir in anderen Grippe-Kursen gesehen haben. Und dann haben wir andere wie Put und Elite, die nicht so häufig sind, es sei denn, Sie beginnen, an einem A P Augen zu arbeiten. Werfen wir einen Blick darauf, was die sechs ausländische Ap Rest voll einschränken. Vielleicht sehe ich so aus, dass Sie eine einheitliche Schnittstelle haben müssen. Er muss staatenlos sein. Es muss modisch sein. Es hat Zehenkonform, um Servermuster abzulehnen. Es muss optional ein geschichtetes System sein. Es gibt Mantel auf den Mann. Also werden wir jede von ihnen im Detail sehen. Die 1. 1, die einzigartige Fremdschnittstelle ist. Ich werde es dir in einer zweiten Lektion erklären,
weil ich denke, es ist ein Herz der Ruhe Will FBI. Also möchte ich, wie, ins Detail zu diesem hier
gehen. Also gehen wir in einer Sekunde dorthin. Also der nächste ist ah, staatenlos. Also, was das Staatenlose bedeutet? Es bedeutet, dass die restlichen Ah, die
Anfrage, die Sie an Ihre Plattform geben, im Grunde isolierte Instanzen sind, mit denen sie keine Sitzung haben, oder sie wissen nicht, was vorher passiert ist oder was
passieren wird , Wissen Sie, nach, und es mag nicht, können
Sie nicht identifizieren, dass diese Anfragen, indem Sie sagen, Oh, das ist Benutzer X Y C Stateless bedeutet, dass jedes Mal, wenn Sie eine Anfrage tun,
alles, was Sie brauchen dienen oder diese Anfrage grundsätzlich zu erfüllen, muss darin eingebettet werden, dass Sie wissen, ausgehende oder eingehende Anfragen. Und dann werden Sie basierend auf diesen Parametern die Daten zurückgeben, die diese Anfrage
benötigt , wo wir benötigen, so dass dies bedeutet, dass jede einzelne Anfrage eine neue Entität für sich ist. Und es weiß nichts über, Sie wissen schon, Feature Vergangenheit oder was bisher passiert ist in Bezug auf die, Ähm des Workflows eso, dass zustandslos eingreifbar. Das ist so, als ob Sie mehr oder weniger über das Einlösen nachdenken
können, was bedeutet,
dass statische Kopien von der Anfrage gespeichert werden. Dies hängt damit zusammen und was Ruhe voll AP ICE bestätigen muss, ist, dass Sie sagen abgelehnt. Das fordert Ihre Inhalte an. Wenn sie Bargeld oder kein Bargeld die Responsive
geben, so dass, ähm Sie eine skalierbarere Plattform haben können. Und das ist irgendwie verwandt mit sagen wir, wenn Sie Tausende von Anfragen haben,wissen
Sie, wissen
Sie, pro Sekunde, aber Sie könnten sagen, zum Beispiel, dass Sam John diese verlangt, Du weißt schon, Profil. Das Profil ändert sich nicht ständig. So können Sie dem Client mitteilen, wenn Sie die Profilinformationen zurückgeben. Hey, weißt
du, du kannst diese Anfrage einlösen oder diese Rictus Anfrage lokal für, sagen
wir,
einen Tag speichern , damit die Anzahl von Anfragen reduziert wird, die du von diesem Aufstieg bekommst weil vielleicht Ein anderer Benutzer fordert dasselbe an. Weißt du, John, Profil und du musst
die Datenbank nicht regenerieren und wieder aufheizen und all das. Sie können den Kunden entscheiden lassen, dass Sie wissen, dass er es kann. Sie können diese Informationen einlösen und die Art und Weise, wie Sie diese Informationen dem Kunden geben, ist im Grunde durch die Bargeldkontrolle. HDB hat einen Daten-Header erstellt. Und wie Sie in diesem Beispiel sehen können, sagen
Sie, dass max H gleich 1 20 ist, was wie zweite ist. Das bedeutet also, dass die Anfrage, die ich Ihnen zurückgebe, oder die Antwort. Ich gebe dir zurück, dass du zwei Minuten sicher aufbewahren kannst. Und es wird in der Zwischenzeit keine Veränderungen geben. also Siealsosicher, Seien
Siealsosicher,dass Sie, wissen
Sie, Sie diese Informationen nicht innerhalb von 120 Sekunden
anfordern müssen wissen
Sie,dass
Sie diese Informationen nicht innerhalb von 120 Sekunden
anfordern müssen. Ähm, also da als nächstes, um, gehen Fremde Client-Server. Clients bedeuten also immer,
dass es eine Trennung zwischen der Unterdrückung von Bedenken zwischen dem Client und dem
Server gibt,
was bedeutet, dass der Client nicht weiß,
was die es eine Trennung zwischen der Unterdrückung von Bedenken zwischen dem Client und dem Server gibt, was bedeutet, dass der Client nicht weiß, Server wie eingerichtet. Es ist wie, welche Datenbank sind die Verwendung oder was? Ähm, was ist das? Die Struktur der Daten, die nicht denken können, dass es auf der
gleichen Weise vollständig getrennt ist, wie der Server nicht interessiert ist oder nicht wissen muss, dass der Client ein iPhone six s oder ein Android-Handy oder ein automatisiertes System ist, das Informationen. Irgendwie wie ein Twitter-Feuerwehrschlauch. Der Server ist, weiß nichts über den Client. Und jedes Mal, wenn ich ersuche, werden
Sie nur prozentuale Informationen, die auf der Anfrage basieren, an den Klienten zurückgeschickt werden. also, Sie wissenalso,dass Sie keine Sorge darüber haben, wie der Klient aussieht. Die nächste Einschränkung ist das Layersystem. Und hier geht es um, wissen
Sie, ein Client kann nicht sagen, was die Ebenen sind oder was die Menge hinter der Anfrage ist, die Sie ihnen geben. Und das kann es Ihnen ermöglichen,
Load Balancing zu tun und mehrere Anwendungsserver zu haben,
oder sogar Readies Cash-Server zu haben, die zwischengespeicherte Versionen von den Informationen bedienen? und mehrere Anwendungsserver zu haben, Der Klient weiß das nicht. So, zum Beispiel, in diesem Diagramm, können
Sie sehen, dass es wie, wissen
Sie, die Cloud ist Internet, und dann die Blackbox auf der linken Seite ist ein Client, und, weißt
du, er ist irgendwie so, als würde er ältere Anfragen an den Server stellen. Der Server ist die schwarzen Bücher auf der rechten Seite, und dann hat der Server eine Datenbank, die sein kann, wie diese Anfragen zu
bedienen oder diese Anfragen durch wie ich bereits sagte Scotch Schicht dienen kann . Es spielt also keine Rolle, wie Sie diese Informationen wieder präsentieren, und das gibt Ihnen die Möglichkeit,
Ihre A-P-I-Plattform zu skalieren,
ohne die anmutigen AP I-Einschränkungen zu brechen , . Also, ähm, das letzte und das hier ist optional. Und um ehrlich zu sein, es wird nicht benutzt. Ah, Menge. Es wird auf den Mann gerufen und aufgerufen Der Mann ist im Grunde wissen Sie, wie wie vor, wissen
Sie, im Web, wie vielleicht vor ein paar Jahren gab es wie Java-Applets und die Java-Haustiere waren wie in sich
geschlossene kleine -Programme, die in Ihrem Browser ausgeführt wurden. Und er war wie eine kleine, vielleicht eine kleine Uhr oder eine Uhr, , oder ein kleines Spiel oder eine Spielseele, die ein P. Ich werde ein B I ringen, ähm Spezifikation sagt den Leuten, dass sie es können, Sie wissen, stellen Sie nicht nur Datenobjekte bereit, sondern können auch Codeausschnitte bereitstellen. Und ich konnte das sehen, als
wäre heutzutage vielleicht ein Blitz, eine Mini-Flash-Anwendung oder so etwas. Aber es ist nicht sehr benutzt. Und diese Ländereinschränkung, es ist nicht wirklich etwas, das du oft benutzen wirst. Ähm, das ist das für die, Sie wissen schon, unteren fünf Einschränkungen. Also werde ich mit Ihnen über die Uniformschnittstelle im folgenden weniger sprechen und so
bleiben bleiben
4. Uniform Interface im Detail: Willkommen zurück. Wir werden uns also weiter die Einschränkungen ansehen und uns
dieeinheitliche Schnittstellenbeschränkung ansehen,
die meiner Meinung nach das Wichtigste ist. und uns
die einheitliche Schnittstellenbeschränkung ansehen, Schauen wir uns an, wie das aussieht. So ist die uniformierte Schnittstelle in vier Teile unterteilt. Einer ist ressourcenbasiert. Die zweite ist die Manipulation der Ressource ist durch Darstellungen. Das dritte Jahr selbst beschreibende Nachrichten und die vierte ist hyper Medien als Motor aus Anwendung, Staat oder Hass schuldet. Also lasst uns jede von ihnen durchgehen. Also für die Ressource basiert, ist
dies im Grunde jede Ressource identifiziert wird. Verwenden Sie sind steigen, als Ressource identifiziert. Also, was diese Art von Übersetzen ist, dass die Handlungen, die Sie ergreifen werden, oder die angeforderten, die Sie machen werden, angeordnet sind oder haben eine A Cherokee und Struktur durch das Auge. Und Ihre Augen, vielleicht erinnern
Sie
sich, sind der Teil des Euro des Euro, der nicht die H zwei b hat. Was auch immer Server dot com Teil. Also nehmen Sie das beim ersten Schrägstrich heraus und dann, das ist, dass Sie oder ich, ähm ,
und
das ist, das ist, dass Sie oder ich,
ähm,
und
das ist,dass es sagen wird, welche Art von Anfragen oder was Sie verlangen? Und Sie werden Ihr A P I entwerfen, indem Sie Ihre l's oder Ihre Augen verwenden, während Sie Struktur sind . Also lassen Sie uns ein Beispiel sehen. Zum Beispiel, wenn ich einen p i Schrägstrich b einen Schrägstrich trage So ist das eine neue Ihr I. Aber was Sie hier betrachten, ist, dass Sie den A P I Abschnitt der Website hassen. Du hasst die Version eins der A P, und du hättest es vielleicht. Wissen Sie, Mann, es mehrere Versionen. Und jetzt verkaufen Sie dem AP mitteilen, dass Sie entweder eine Liste von den Bestellungen erhalten möchten. Wie Sie hier sehen können, gibt es einige, die Sie wissen, es ist irgendwie wie ein hier Schlüssel, und es gibt eine Strukturierung ihrer, die das a p I definiert durch eine gute, ähm, Strukturierung aus dem Auge , die Sie verwenden werden, um Informationen anzufordern. Aber lassen Sie uns ein anderes Beispiel sehen. Das hier ist jetzt, ich schaue mir einen P I
V an , der 15 44. Also, wie Sie sich vorstellen können, 15 44 ist ein Befehl, also was Sie hier sagen, ist, dass Sie mir die Details von dieser Störung allein geben. Das ist über 15 44. Und wie Sie anfangen zu sehen, gibt es dort eine Struktur. Wenn Sie Bestellungen bekommen, werden
nur Sie wahrscheinlich eine Liste aller Bestellungen bekommen, die sie sogar Bestellungen treffen. 50 44. Sie werden nur die Details der dieser Bestellung bekommen, die so elegant und professionell die Augen auf diese Weise eingerichtet sind. Du bist und die Art, wie ich mag, Denk darüber nach. Sind das Befehle? Ist der Kolben oben? Während wir, wissen
Sie, die Ordnerbestellungen haben und dann innerhalb Sie Modelle,
Tests
usw. verwenden ,
Tests , die mehr oder weniger mit dem ersten Teil davon übereinstimmen sollten, Sie oder ich, und dann die 2. 1 ist mehr wie ein Ich mag, weißt
du, es ist irgendwie wie eine Aussicht. Oh, unsere Controller-Art Situation, in der du bist oder wenn du vorbeikommst, dass ich dann gerade zurückgekehrt bin, dass ich d also werden wir diese Dinge in der Praxis sehen, wenn wir anfangen, an unserem FBI zu arbeiten. Also, ähm, die eine Sache, die Sie auch in diesem Golfstrom der
Ressourcenbeschränkung denken müssen , ist, dass sie Ressource sind, dass Ihre, ähm, die Sie an den Client senden, getrennt von der von den Repräsentationen oder oder der Struktur, die diese Ressource in Ihrem A P I hat. Also, zum Beispiel, wenn Sie Aufträge anfordern und und, Sie wissen, ohne das I d, Sie sind nicht wie eine Abfrage zu bekommen, werden, wie alle dergleichen die Felder, die in der Datenbank sind, erhalten
Sie einige Strukturinformationen und das hat normalerweise eine,
ähm,
eine Struktur, die definiert ist, abhängig von wie der Kunde aussieht. Wenn es,
ah, ah, es ist ein Computer, wenn es eine mobile Anwendung ist oder was sie speziell brauchten. So zum Beispiel könnten
Sie
zum Beispielhtml XML oder Jason zurückgeben. Also, aber die Sache, über die man hier nachdenken muss, ist,
dass
man nicht nur abwerfen die ganze Abfrageabwerfenwird, wenn man die Befehle hat oder all diese älteren Felder sind. Aber du wirst gerne , etwas
zurückgeben,das Struktur und das du in deiner
A-I-Definition definieren wirst. Also die 2. 1 ist die Manipulation von Ressourcen durch Repräsentation, und sie sagen, dass diese Art von wie es mit dem verbunden ist, wie die Kunden fragen, welche Art von Darstellungen, um auf sie zurückgeworfen oder zurückgegeben werden auf dem auf dem außer HTTP-Header , den sie senden. So, zum Beispiel, ein Client, der eine mobile Anwendung ist, könnte sagen, Hey, ich brauche die Aufträge 15. 44 Aber ich will es im Jason-Format Ihr A P. Ich sollte intelligent genug sein, um das zu lesen, außer HTTP-Header, dass sie Ihnen senden und die Informationen in dem Format
zurückgeben, das sie fragen, wo wir vielleicht mögen ah, Webbasierte oder eine browserbasierte Anwendung oder ein Client fordert möglicherweise HTML an. Und Sie werden Rückwurf anstelle der Befehle in einem Jason Foreman kennen, vielleicht, ah, Ausschnitt von HTML mit den verschiedenen Feldern in dieser Reihenfolge im HTML-Format. Sie sind also ein P. Ich muss flexibel genug sein, um Informationen oder Daten zurückzuwerfen oder die die
Daten verwenden, die der Client anfordert. Um so ist die 3. 1 selbstbeschreibende Nachrichten, und was diese mit sich bringt, ist, dass die, ähm, die Anfrage selbst über das HDP-Verb dargestellt wird, das abgelehnt wird, fragt. Und wir haben ein wenig von diesem Besitzer Flask Kurse durchgemacht,
was, Sie wissen, die Get-Anfragen sind. Denken Sie daran, dass, wenn Sie eine Get-Anfrage tun, Sie senden alle Felder in der tatsächlichen Sie sind auch Sie haben, wie, ein Fragezeichen. Sie wissen, äh, Feldname ist gleich Fühlungsdaten. Ich bin Prozent. Das sagte, in Ordnung, das ist wieder Anfrage. Während ein Beitrag mehr so war wie innerhalb des Körpers außerhalb der HTTP-Anfrage, die Sie gesendet wissen
Sie
,dass die tatsächlichen Felder, die Sie waren,
ähm, , ähm, Sie haben Zehe, Zehe,
Zehe den Server gepostet , Richtig? Nun, in einer P I Welt bekommen Post put und Elite sind eigentlich, sie sind das, was wir die Menge nennen, die lesen,
aktualisieren und die Lead-Operation erstellen . Also Gadd bedeutet, dass ich eine Anfrage senden werde, um etwas vom FBI zu bekommen. Wenn ich einen Beitrag schicke, bedeutet das, dass ich einen brandneuen Datensatz erstelle. Und ich schicke, dass die Daten dafür, für den Datensatz in der Post, wissen
Sie, Datennutzlast des H two B Anforderungsports ist eine ah, eine, die wir nicht viel benutzt haben und Sie normalerweise nicht wie in Web verwenden , Aber es kann sein, wie Sie verwenden
, Das ist ein weiteres Update. Sie erstellen also keinen neuen Datensatz. Aber Sie sagen im Grunde, aktualisieren Sie diesen Datensatz diese Bestellung mit diesen neuen Informationen , die eine hat eine neue Sie wissen, Rechnungssumme oder Sie möchten die Artikel innerhalb dieser Bestellung ändern. Also verwenden Sie Put, um das zu tun. Dieses Update auf dem Lead, das ein tatsächliches http-Verb
ist, ist, wie Sie wissen, Sie haben Torrey nicht gesagt, dass es referenziert. Sie wollen den Leader Record, und natürlich müssen
Sie die richtige Authentifizierung haben, und Sie müssen die Autorisierung für die Live-Aufzeichnungen haben. Aber wenn Sie dies tun, wenn Sie das implementieren und die richtige Authentifizierung haben, können Sie Datensätze
löschen. Das sind also selbstbeschreibende Nachrichten. Und das letzte ist Hypermedien als die Engine aus dem Anwendungszustand oder Hass ALS, was eine seltsame Art von wie Wort ist. Aber was bedeutet das? Als ich das las, war
ich ein wenig verwirrt und ich konnte nicht verstehen, wovon sie sprachen. Aber es ist auf den Punkt gebracht. Was das ist,
ist, dass Ihre a p i. Wenn es verhaftbar ist ein p I. Er muss sich wie eine Webseite in dem Sinne verhalten, dass Sie nicht nur senden können, wenn Sie die
Befehle erhalten Sie eine Anfrage kennen. Sie deponieren nicht nur die Aufträge zurück an den Kunden, sondern Sie setzen auch einige wichtige Links, die besagen, dass es insgesamt 1500 Bestellungen gibt. Das ist Seite Nummer eins. Und wenn Sie auf die nächste Seite schauen möchten, ist
dies der Euro, den Sie treffen müssen. Sie sich also vor, dass, wenn Sie, wenn Sie Bestellungen treffen,
obwohl wir Jason-Informationen zurückgeben, was wir wiederverwenden werden meist daran denken, dass es nicht nur Daten hat, aber denken Sie daran, als ob es eine Anwendung ist. Es ist eine Webseite. Und du hast wie einen Tisch, wo du die Reihenfolge wie Dump siehst. Aber es sind nur die ersten 10 Ergebnisse, und sie haben, wie, eine vorherige nächste auf der Unterseite. Und Sie haben auch eine Art von wie,
vielleicht setzen Brotkrume auf der Oberseite. Art von wie, Also das ist, was hey bedeutet, ist, dass du ein B bist. Ich sollte irgendwie Hypermedien auf wichtigen Links verwenden und so etwas wie Sagen Sie dem Kunden A
,ich bin hier, , aber Sie können auch diese Dinge tun. Oder wenn Sie das Guthaben aktualisieren möchten, können
Sie diesen Vorgang durchführen, usw. Also mal sehen. Irgendwie ein Beispiel dafür. Ähm, hier haben wir eine,
ähm eine Anfrage, um die Kontonummer 12345 zu bekommen, also ist die oberste Zeile ähnlich, was der Kunde dem FBI und der HDP 11 200 geschickt hat. Okay, ist das, was das FBI zurückkehrt. Und wie Sie dort sehen können, haben Sie, wie, wissen
Sie, die Kontonummer, Sie haben die Saldowährung, und Sie könnten dort aufhören. Du könntest sagen, OK, das ist alles. Aber da Sie tun hey, hat Ihr auch diesen Link Rehl, das ist eine tatsächliche, wie gültige HDP, wissen
Sie, oder extreme el Tagging. Und du sagst, wenn du es passieren willst, kannst
du zählen. 12345 Schrägstrich den Pass es. Wenn du dich zurückziehen willst, weißt
du, und du bekommst die Idee. Sie sind irgendwie so, als würde man dem Kunden helfen, Entscheidungen zu treffen, und das beinhaltet die Übertragung oder Schließung des Kontos. Aber es gibt noch eine andere Schicht. Also lassen Sie uns
zum Beispiel sagen, zum Beispiel sagen, dass jetzt die ah, dieses a Landkreise überzogen ist. Und wie Sie auf dem Guthaben auf der Währung sehen können oh, sind auf dem Balance-Feld, sehen
Sie das? Es ist minus 25. Also sollte das A P, das ich höre, intelligent genug sein, um zu sagen: Warte mal. Also die einzige Aktion, die die Person hier tun kann, ist Einzahlung wie Bedeutung. Bringen Sie dieses Konto zurück zu, wie, positiv, Richtig. Aber sie sollten sich nicht zurückziehen können. Sie sollten nicht in der Lage sein, zu übertragen, oder sie sollten nicht in der Lage sein, dieses Konto zu schließen. Also, weißt
du, die großartigen Linien werden uns gefallen, dass sie verschwinden lassen. Und das ist, was Sie bekommen werden, wenn sie die Kontosalden negativ sind. Also das ist hey, tut genau, es gibt wie, Sie geben nicht nur Daten zurück, Sie sind auch wie auf die Daten zu reagieren, die Sie irgendwie verwenden, so dass Ihr, ähm, Ihr Client in der Lage ist, die richtige Entscheidungen, und Sie sind wie eine Art wie Leitfaden, sie durch die richtigen Kanäle
führen. Ähm, das ist
also das. Das ist, dass die ganze Sache, die ich weiß, dass es hier eine Menge Angst gibt, und leider muss
ich vorher ringen. Kann ich den Schülern einfach diese Konzepte geben, während wir mitmachen? Aber ich denke, selbst wenn du das Ganze nicht kapierst, ist
es in Ordnung. Sie können dies später überprüfen, wenn Sie den Kurs absolviert haben. Oder vielleicht, weißt
du, überprüfe es. Ah, zu einem späteren Zeitpunkt. Aber das wird Ihnen irgendwie eine sehr gute geben. Ähm, du weißt schon,
mach dich ab. Was für ein Profi. Nun, das Zeichen Rest wird FBI sieht aus wie. Also lasst uns anfangen, unsere FBI-Anwendung zu umwerben.
5. Core richten: Willkommen zurück. In dieser Lektion werden
wir damit beginnen, unsere grundlegende Umgebung einzurichten. Und wie ich bereits erwähnt habe, werden
wir Docker benutzen, den Arzt-Client für Mac oder Windows. Und wenn Sie eine Bettwäsche Maschine haben, dann können Sie das Docker-System oder die Bibliothek für Grenzen verwenden. Aber ich schätze, die meisten von uns werden am Docker-Client für Windows oder Mac arbeiten. Sie müssen Dr. nicht im Detail kennen. Ich werde Schritt für Schritt gehen. Das einzige, was Sie brauchen Zehe vorher tun immer herunterladen Sie den Arzt kletterte, um, für Ihre für Ihre Maschine. Und wenn Sie mehr über Docker wissen und mehr erfahren möchten, wie Sie Ihre Docker-Datei satt haben
und Sie wissen, Docker komponieren. Ich habe einen Kurs, den du auschecken kannst. Aber in der Zwischenzeit, lasst uns einfach , anfangen,Dinge zu tun, die für Schritt und einfach weitergehen, und so fangen wir an. Okay, das erste, was Sie tun möchten, ist, dass Sie zu docker dot com gehen und hier mit
Docker beginnen möchten. Und danach bekommst du einen Download-Arzt für Mac. Wenn Sie auf einem Mac sind,
natürlich und wenn Sie nach unten scrollen,
gibt es auch einen Arzt für Windows. Wenn Sie auf einem Mac sind, natürlich und wenn Sie nach unten scrollen, Obwohl sie in dem Betriebssystem positioniert sein sollten, das Sie haben. Aber in irgendeiner Weise laden Sie das herunter. Und danach bekommst
du den kleinen Andocker Aiken, Ähm, und folge nur
den , Setup-Installationen,nachdem du den Docker-Client heruntergeladen hast , und Sie führen wir es aus. Du solltest diesen kleinen Wal dort sehen. Und es sollte sagen, Dockery läuft jetzt. Eine Sache und das habe ich auf meinem Kurs erwähnt, sollten Sie das Dateifreigabe-Volume haben , das Sie für Ihre Anwendung hier verwenden werden. In meinem Fall wissen
Sie, dass ich gerne an der
O.P.T.Ah-Mappearbeiten O.P.T.Ah-Mappe O.P.T.Ah-Mappe würde. Also habe ich o p t. Und wenn Sie nicht sehen, die Sie kennen den Vater dort, genau wie klicken Sie auf Plus und dann gehen Sie zu dem Ordner, den Sie hinzufügen möchten
und ah, und dann , wissen
Sie, anwenden und neu starten wird wie, wissen
Sie, Einfach abschalten und wieder zurückkommen. Stellen Sie also sicher, dass Sie das
6. Grundlegende Containerstruktur: in dieser Lektion. Wir werden unser Basiscontainer einrichten, indem wir die Docker-Datei verwenden. Wir werden einen Docker schreiben, CMO
zusammenstellen und wir werden auch die Anwendungsfabrik für die Fleischanwendung haben. Also lasst uns das schnell durchziehen. Wir haben dies in anderen Kursen gesehen, also sollten wir nichts Neues sehen. Also gehen wir weiter und machen das, okay? Hier sind wir in unserem Terminal, wir gehen zum
O.P.T O.P.T Ordner, und im Moment habe ich nichts drin. Also werde ich meinen Ordner erstellen, und ich werde dieses Haustier Dash a p I nennen. Also jetzt sollten wir besser ich da sein. Wir werden uns darum kümmern und diese tolle Creme mit Come on,
K und s klären . Also fangen wir von Anfang an an, schätze
ich. Ah, die Anforderungen. Txt. Damit ich das tun kann, starte
ich meinen Adam-Redakteur. Und hier bin ich Ach, Haustiere. Ap I Also, wenn ich eine Datei mache und es Anforderungen txt und ah nenne, hat
Anforderung 60 all diese Bibliotheken. Einige von denen, die Sie gesehen haben, werden
wir Flask Ihre 11 flache Skript finden Mongo, Mongo Motor Kolben, Mongo Engine und dann von B Crypt und Jason Scheme ist diejenige, die wir noch nicht gesehen haben. Aber es ist ah, es ist eine sehr nützliche Jason-Validierungsbibliothek, die wir verwenden werden. Nun, denken Sie daran, Sie müssen all diese genauen Zahlen und Bibliotheken in dieser Reihenfolge setzen, damit ah Sie in der
Lage sein , entlang des Kurses zu folgen. Sonst wirst du hier und da kleine Probleme sehen und ah, auf und natürlich. Wenn Sie eine Frage in Bezug auf Sie
posten, wissen, eine Bibliothek und Sie diese Anforderung nicht befolgen 60, werde ich Ihnen nicht helfen . Das sind also unsere Anforderungen. Txt. Das nächste, was wir tun werden, ist eine Einstellungsgeschwindigkeit. Warum? Und wir werden einen
geheimen Schlüssel haben . Debug ist gleich true. Und wir werden Munger benutzen, um Host und Mongo DB Devi zu sein. Das ist ah für Flashman. Geh zu sein Und hier müssen wir Munger TB benutzen. Fragen Sie den Gastgeber. Das ist also das. Lassen Sie uns jetzt voran und erstellen Sie ein Manage b y, das wir mit
dem Fleisch-Skript verwenden das wir mit
dem Fleisch-Skript verwenden. Und wieder nichts zu kompliziertes. Hier. Wir sagten, dass Pfad, wo die Datei ist, dann importieren wir Monier und Server aus flachem Skript erstellen eine App. Dies ist wie die Factory-Methode oder das Factory-Muster. Und dann haben wir auf dem Kommando Drohnen-Server, der auf 4 5000 laufen wird und schließlich laufen
wir die Anwendung. Wenn es ist, wenn es vom Terminal aus ausgeführt wird. Also, ähm, so weit so gut. jetzt Lassen Sie unsjetzteine Bewerbungsgebühr Y erstellen, und das wird wie folgt aussehen. Wir werden Kolben und Mongo-Motor importieren, und dann wissen wir, dass wir anfangen, ein lebensfähiger für den mongolischen Motor zu sein. Instanz, wir werden eine Anwendung erstellen,
um, um, um, um, Anwendung Factory-Anwendung, äh, die mit den Einstellungen B y einrichtet und die Überschreibungen vom Test erlaubt, beginnend da d sein . Und dann werden wir nur wichtige Blaupausen von zu Hause aus betrachten. Wir werden eine Home-App haben und dann diesen Plan registrieren. Jetzt bemerken Sie etwas hier. Ähm, ich denke, dass
ich im Repository eine etwas andere Version davon habe. Ich glaube, es steht Kolben. Dottie Exterieur Mongo Motor. Aber beginnend mit Kolben, denke
ich, Cyril 10 oder 11, die sich geändert haben,
um wie diese Flasche auf der Partitur verwendet zu werden. Mongo-Motor. Es wird umgekehrt funktionieren, aber ich denke, Sie werden einige Veraltungswarnungen bekommen. jetzt Lass unsjetztden Home-Ordner erstellen und wir werden AAA haben, nicht wahr? Akte. Sie sind so, dass es,
ähm, ähm, betrachten Sie ein Python-Paket. Also in es nicht sein, warum wir nichts auf diese Datei setzen. Und dann werden wir hier einen Blick haben. Und wir werden folgendes in dieser Akte haben. Wenn unser Import-Blueprint ist, werden
wir diesen Blueprint registrieren. Und sie wollten sagen, dass
wir auf dieser Route Hallo drucken werden, Welt. Das ist noch so, wissen
Sie, dass der Container richtig funktioniert. Okay, wir sind fast fertig. Lassen Sie uns die Docker-Datei und die Doktor-Datei erstellen. Also werde ich so aussehen. Also werden wir ein Basisbild mit 3.4 schlank haben. Wir werden laufen und apt, bekommen Update und installiert diese Bibliotheken. Dann machen wir ein lokales Verzeichnis in den Container und sagte, dass das Arbeitsverzeichnis gefragt, und dann kopieren wir den ganzen Code, den wir hier haben. Führen Sie Peeping Stall und fangen Sie an, 5000 zu hören, wenn wir den Container gestartet. Und schließlich haben wir das Kommando um 13 Minuten ausgegeben. B y ro server, das ist Theo der Sie wissen, der Flask-Skript-Endpunkt. Also, das ist es fast. Das Letzte ist, der Arzt komponierte Klavier. Also brauchen wir den Stalker, der das e m o komponiert und das ist, was wir da reinlegen. Version 2 Dienste Web, auf dem diese Volumes installiert sind. nun daran, Denken Sienun daran, diese Volumes mit denen übereinstimmen müssen, die Sie auf Ihrem lokalen Computer haben. Und dann haben wir eine DB,
die aus dem Bild Mongol 302 gezogen wird, und wir werden diesen Container nennen. Und dann haben wir eine DB, Betsy P I d. Seien Sie ein und die Web-Container Haustiere ap I Web ein. Ähm, und das muss so sein, wie dein lokales Verzeichnis. Also in meinem Fall, es ist, ähm, dieser Ordner hier Ups Opt-Wetten, a p I, und das sollte mit dem dort übereinstimmen. Und dann vor Ort, werden
wir das da drin haben. Das war's also. Das ist alles, was wir brauchen, um unseren ersten Container einzurichten. Also lasst uns voran gehen und ah, und bauen diesen Container
7. die Container führen: Willkommen zurück. In der letzten Lektion richten
wir unseren grundlegenden Docker-Container ein, der sowohl einen Anwendungscontainer als auch einen
Datenbankcontainer haben wird . Und jetzt werden wir testen, diesen Container zu bauen und zu sehen, ob alles
richtig funktioniert . Also lasst uns anfangen. Okay, das erste, was wir tun werden, ist, dass wir uns in die O P setzen T. . Ah, wette FBI-Ordner oder was auch immer Ordner, den du benutzt hast, und stelle sicher, dass
du deine Docker-Verfasserdatei drin hast. außerdem Sieaußerdemsicher, dass DACA ausgeführt wird. Ich glaube, ich führe es hier nicht, also beginne ich es einfach und ich sollte ein paar Sekunden dauern und eine studiert. Dann werden wir folgendes benutzen. Wir sagen Docker, komponieren, bauen und was? Das wird es tun. Es wird ah, schauen Sie sich die Docker komponieren. Ähm, oh, dass wir hier haben und diese Bilder für oder die,
du weißt schon,
Container-Bilder bauen du weißt schon, , von denen wir dann laufen können. Also lasst uns das machen. Also jetzt bekommt es alle, äh im Grunde die Bibliotheken, die in der Docker-Datei für den
Webanwendungsordner beschrieben werden. Okay, jetzt werden die Anforderungen erfüllt. Txt perfekt. Also, jetzt ist es Ah, es hat die Container gebaut. Und jetzt werden wir,
ähm, im Grunde kopieren die nicht Kopie. Falsch die, äh, Mangan werden Server getrennt vom Beobachter. Und der Grund dafür ist, dass, wenn wir den Anwendungsserver neu starten müssen, weil wir einige Fehler gemacht
haben oder müssen, wie, eine harte Aktualisierung des Codes haben wir nicht toe, wissen
Sie, bringen alle die Docker-Container auf, bringen Sie sie zurück. Wir machen das einfach mit dem Anwendungscontainer. Also werden wir die Datenbank bringen, ähm, unter anderem durch den Arzt, den Dutch Day zusammengesetzt hat, was Dämon und dann DB bedeutet. Und jetzt läuft der Docker-Container für die Mongo DB. Und wir können das überprüfen, indem wir Dr. Ps machen und Sie können dort sehen, dass wir... die Ach unter den hier sind. Ich habe einen anderen Container, ich denke, von dem ich denke, das ist von dem anderen Kurs. Ich werde den Container aufhalten, damit wir nicht verwirrt werden. Schalten Sie Wi do Ducker ps aus. Siehst du das? Unter der DVD läuft dort. Jetzt werden wir den,
ähm,
den Anwendungsserver laufen ähm, lassen. Aber wir werden hier einen Trick machen, den ich auf dem Docker-Kurs behandelt habe, der es
mit der Service-Ports-Option ausführt , die es uns erlaubt, PDB die Spur auf dem Container auf jedem Stück des Codes zu tun. Und es wird aufhören und uns erlauben, zu untersuchen, oder ah, den Fehler, unsere Anwendung. Also lasst uns weitermachen und das tun. Perfekt. Es steht also, dass es jetzt ernsthaft auf HDB läuft. Oder 5000, das ist das lokale Verzeichnis. Ich meine, lokaler Gastgeber. Und wenn wir einen anderen Browser hier starten und wir setzen lokalen Host, wir haben Hallo Welt. Das ist also unser Container, der auf läuft. Wir können das überprüfen. Es sagt in der Welt hier auf dem Haus V S B y. Wenn wir ändern, dass Zehe Hallo, Welt Ausrufezeichen und speichern. Wir sollten sehen, dass dies neu geladen wurde, dass es eine Änderung erkannt hat. Und wenn wir die Seite neu laden, sehen
Sie die Änderung. Sie sind so perfekt. Wir haben einen funktionierenden Container, der Mongo DB und eine Web-Anwendung hat. Ähm, und Sie werden sehen, dass es Ah,
ähm alle Operationen hier in diesem Fenster auflistet . Sie können das auch als Dämon laufen, wenn Sie dash D passieren ,
aber im Moment werden
wir einfach ah, wissen
Sie, glücklich
sein und feiern, dass eingerichtet sind, ist es richtig läuft.
8. Steckbare Ansichten: in der letzten Lektion haben wir erfolgreich unseren Flats-Container erstellt, und jetzt werden wir eine erste erste Version aus dem a p i n Punkt erstellen. Nun, es wird nicht vollständig als der Prophet Professional oder der Production
One aufgestellt werden . Aber ich möchte Jungs vorstellen, um wahrscheinliche Ansichten zu flasken und dann einen sehr einfachen
Haustierendpunkt einzurichten , so dass Sie beginnen können, die Konzepte rund um Flachmann Puggle Views zu erfassen. Also fangen wir an, das aufzugreifen. Okay, also werfen wir einen Blick auf plausible Ansichten, und das ist neu von Version oder 0.7. Um, und wahrscheinliche Ansichten werden von den generierten Ansichten von Dango inspiriert, was es Ihnen im Grunde erlaubt, Ansichten basierend auf Klassen zu machen, anstatt sie Funktionen zu machen. Und er ist ein grundlegendes Beispiel. Sie haben in der Regel eine Show Benutzer und, um, und dass Benutzer erhalten ah, Sie wissen, zuerst alle Objekte aus der Datenbank und dann rendern die Vorlage übergeben die Benutzer toe diese Ebene -Vorlage. Wenn Sie dies als Plug einer Ansicht tun, erstellen
Sie stattdessen eine Show Benutzer Ansichten der Klasse. Unterdrücken Sie es von Flat-Ansichten und sie haben dieses Konzept der Absendung einer Anforderung, und dann setzen Sie Benutzer dorthin und geben dann die Rendervorlage zurück. Und dann machst du das. Sie fügen die Ural-Regel hinzu und haben dann die Ansichtsfunktion v die Methode deaktiviert, die die Benutzeransicht anzeigen . Und das ist ein wenig komplizierter Zeh zu greifen,
wenn Sie keine
wahrscheinlichen Ansichten oder oder klassenbasierten Ansichten im Winkel verwendet haben . Aber es ist im Wesentlichen ein Versuch, abstrakter zu bekommen oder die Vorlagen
von den tatsächlichen Methoden oder Dinge zu trennen , die Sie versuchen zu tun. Zum Beispiel könnten
Sie etwas tun,das wie eine Listenansicht ist,
und es ist eine sehr generische Um ah,
Methode oder Klasse. Zum Beispiel könnten
Sie etwas tun, das wie eine Listenansicht ist, und es ist eine sehr generische Um ah, Und dann hätten Sie so etwas wie eine Use Review, die
zumindest für Sie eine Unterklasse von ist . Und dann wurdest du wie diese beiden Dinge weitergegeben, und du bist sofort in der Lage, , alles
zu zeigen,was eine Liste von Dingen ist, ohne das immer und immer wieder wiederholen zu müssen . Ähm, es ist ah, es ist etwas, das
einfacher zu verstehen ist , indem ich ein wenig damit praktiziere, aber ich werde dich nicht darum bitten, das zu tun, weil wir diese spezifische Umsetzung
des Missbrauchs nicht nutzen werden sondern wir werden etwas verwenden, das die Methode basierte Dispatching genannt wird, die perfekt für Ruhe Philadelphia ap Augen und das hier ist. Was wir tun werden, ist,
dass wir
einen Kurs für jeden AP haben werden. Ich Methode, die verschiedene Methoden haben wird, und Sie können sie nur finden, indem Sie Post usw. erhalten. Und dann können Sie eine Regel für diesen Benutzerendpunkt hinzufügen,
um die, äh,
diese Klasse und Ah zurückzugeben um die, äh, , und, wissen
Sie, intelligent weiterzuleiten,
wenn es wieder ist, wissen
Sie,
intelligent weiterzuleiten,
wenn es wieder ist,wenn es angeblich ist. Ähm, aber wir werden sehen, dass wir in diesem ersten Wettbeispiel mitmachen. Also fangen wir an, einen,
äh,
diesen Basis-Wette,
Endpunkt zu bauen äh, diesen Basis-Wette, , , damit wir irgendwie anfangen können,
die Konzepte von den wahrscheinlichen Ansichten zu entfernen und wie wir das verwenden können. Also werde ich diese Tops hier schließen, und ich werde einen neuen,
ähm,
einen neuen Ordner namens Ah uh pet erstellen ähm, . Und das Haustier wird der Ah, Haustier Endpunkt sein. Und natürlich brauchen
wir einen benötigten Mich. Warum da? Und wir werden eine Ah Views Sicherung B Y haben, und wir werden auf eine P I P haben. Welches ist derjenige, in dem wir die eigentliche Klasse für die wahrscheinliche Ansicht haben werden, und wir werden das später ausfüllen. Aber das erste, was wir wollen, um einen Bildschirm haben, einen Blueprint und fügen Sie das zu der Anwendung Menschen, I Also lasst uns beginnen, dass. Also hier haben wir, ähm, äh, aus, äh, Haustier-Ansichten importieren und dann die Blaupause registrieren, die unter dem Register Brot drucken. Okay, es ist eine andere, die wir bekämpfen, dass wir jetzt anfangen können, an der A P I P
Yzu arbeiten Y und was das haben wird, ist, dass wir den Meth-Missbrauch benutzen. Wie ich schon sagte, aus, äh, Kolbenansichten, Import Methodenansicht und von Flask importieren seinen Sohn. Wenn ich beantrage und
abbreche, brauchen wir die. Diese drei Dinge auf unserem Haustier, ein P I. Also das erste, was wir tun werden, ist, dass wir,
ähm, wir werden ein Haustierfeld erstellen. Und
das ist natürlich so, dass wir das sehr schnell überprüfen können. Aber die Idee hier ist, dass dies in einer Datenbank gespeichert wird, nicht in einem in einem Dummy-Array oder statisch. In Ordnung. Richtig. Aber ich will nur so rauskommen,
ähm,
rauf ähm, und rennen. Also habe ich meine, äh, in einer großen Drei. Ah, Haustier-Objekte hier. Und das sind eigentlich meine schönen Wetten,
Mac, Mac, Leo und Brownie. Okay, das
nächste, was wir schaffen werden, ist eine Methode dafür,
um, ähm für den Get und du setzst das einfach ein. Und im Gegenzug bestätigen
sie die ah, diese Wetten Array, dass wir die Finanzierung hier für die Klasse waren, und wir sollten ein wenig Platz drinnen. Okay, also lasst uns das retten. Und jetzt werden wir, ähm, zu ihren Ansichten
gehen, B y und wir werden zulassen, dass die, ähm diese Ansicht, auf den Stecker über Ihnen zugreifen kann. Also, aber das erste, was wir die Blaupause dafür erstellen, wie wir definiert haben. Also von diesem a p importiere ich, dass ein p I, was das ist. Nun, ich habe vergessen, das Glas hier zu stecken. Das ist richtig. Also habe ich die Klasse hier Klassenwette ein p I, und das ist eine Sub-Methode off Methodenansicht. Jetzt. Wir sehen so, wie wir Methodenansicht hier oben haben. Also Methodenansicht ist diese Klasse, um, und wir unterklassifizieren sie am Zahltag p I und diese Methode hat eine get, um, get Methode eine post-Methode, ein Löschen auf, setzen genau wie die Create lesen Sie aktualisieren und löschen Methoden aus einem A p I und, um und hier können wir,
ah, ah, Referenz selbst Haustiere, weil es eine Klasse ist. Das ist also das ist das Selbst, das Wetten, die dort definiert wurden. Also das jetzt importieren wir aus der Parität unsere Importtherapie, die diese Klasse hier ist. Perfekt. Also, jetzt machen wir weiter. Also haben wir,
ähm, die Haustier-App wird die Blaupause sein, Ähm, die Wette auf und dann Name. Und jetzt bemerken, wie wir das tun werden, als die wahrscheinlichen Ansichten, die wir beispielhaft zeigen, dass wir
ihre früheren Soap it up überprüfen . Regel hinzufügen. Entschuldigung. Bei deiner Regel, und wir werden Slash Haustiere haben und bemerken, dass ich das mit einem Schrägstrich beende. Wir machen das also nicht so, wie Sie es erwarten könnten, und das ist sehr wichtig. Das ist irgendwie wie ein A P I, ähm Syntex, was bedeutet, dass es irgendwie so aussieht, als einen Ordner zu denken, oder? Wenn Sie einen Ordner eingeben, setzen
Sie diesen Schrägstrich am Ende. Und was das bedeutet, ist, dass wir eine Sammlung von Objekten erstellen, die sich innerhalb
dieses Ordners befinden . Das ist irgendwie das, ähm, das Denken dahinter. Aber denken Sie daran, dass, ah ah ah Schrägstrich am Ende zu setzen, wenn Sie gehen, um eine Reihe von Dingen von der,
ähm von diesem a p i n Punkt zu bekommen . Also dann werden wir sehen Funktion gleich, dass ein p ich für Sie und dann Haustiere Perfect fragen. So sehen Sie, wie einfach es aussieht Sehr einfach, sehr elegant. Also haben wir unsere Blaupause. Wir haben das Baby, das ich von unserer Wette importiert wurde, a p i B y und wir haben nur Beispiel, dass sie die Blaupause gegessen hat. Und dann fügen wir einfach eine Regel hinzu, die besagt, Wenn jemand die Haustiere trifft, Endpunkt hat uns gerade die View-Funktion die ah Perry p I.
Klasse übergeben und in der Klasse werden wir Gadd Beiträge und all die Dinge definieren. Aber im Moment machen
wir nur das Get Teil davon. Also mal sehen,
dass wir das laufen ließen. Ich nehme das an,
steh auf, damit ihr darauf zugreifen könnt, aber lasst uns,
ähm, wenn ich die Theorien wieder aufführen kann. Oh, okay. Perfekt. Also, wenn ich jetzt den lokalen Schrägstrich treffe,
äh , Gruben, bekomme
ich das Ergebnis dort. Und lassen Sie mich das etwas kleiner machen, damit Sie sehen können, dass es beiseite zurückgegeben wird . Jason, listen Sie Objekte auf. So perfekt. Das ist, das funktioniert perfekt. Und jetzt lassen Sie uns eine Post-Methode erstellen. Aber davor werden
wir etwas erforschen, ein Werkzeug, das sehr nützlich sein wird. Ähm, das heißt Postman. Also möchte ich Ihnen das vorstellen. Und, ähm, es ist ein unverzichtbares Werkzeug für eine P I, äh, Entwicklungsarbeit. Also lassen Sie uns das überprüfen.
9. Installieren und Verwenden von Postman: auf unserer letzten Lektion, wir Instanz, erstellt unsere erste Version von der A p I mit einem sehr einfachen Wette Endpunkt, der es uns ermöglicht,
eine get Anfrage zu tun und eine Liste von Haustieren, die wir als Sauna Ray innerhalb der Klasse eingerichtet. Aber jetzt wollen wir, ähm, komplexere Sachen
machen, wie Beiträge machen und, ähm, vielleicht ein paar Nutzlastdaten innerhalb dieser Anfragen senden. Und es ist ein Ärger, dies mit dem Browser oder sogar einem Terminal zu tun, ähm, wie, Terminal wie Befehlszeile. Stattdessen gibt es ein sehr gutes Werkzeug namens Postbote, das ich seit vielen Jahren benutze,
mit dem Sie gibt es ein sehr gutes Werkzeug namens Postbote, das ich seit vielen Jahren benutze,
mit dem
Siediese Anfrage
verwalten und erstellen und die Ergebnisse auf eine sehr schöne Art und Weise zurückbekommen können. Schön formatiert. Schauen wir uns an, wie man Postboten installiert und wie man es benutzt. Okay, also gehen wir weiter und
suchen die, ähm , , Post Minze. A p I Sie können Post für Mac gemeint tun, und das war zunächst ein, um ein Plug in, und es ist immer noch applaudiert für die für Chrome, Aber dann bauten sie eine Art wie die native, ähm ah Programm oder -Anwendung für Sie zum Download. Und es gibt eine für Mac-Fenster in Chrom. Also werde ich das für Mac benutzen, das ist der Computer, den ich habe und es Ah, es wird jetzt direkt hier heruntergeladen. Und dann klicken Sie einfach dort und Sie sollten es auf Ihren Downloads haben, und dann können Sie einfach per Drag & Drop auf Ihre Anwendungen. Also, jetzt habe ich Postbote da drin. Ähm, und das war's. Es ist ziemlich einfach. Also, jetzt werde ich,
ähm, ähm, doppelklicken Sie dort, klicken Sie auf öffnen und hier haben Post besetzt. Nein, ähm, wenn du deine A P.
speichern und synchronisieren willst wenn du deine A P.
speichern und synchronisieren willst.
Ich mag Endpunkte oder Anfrage. wenn du deine A P.
speichern und synchronisieren willst.
Ich mag Endpunkte oder Anfrage. . Sie können sich anmelden und Sie können global verwenden,
was, glaube
ich, das ist , was ich getan habe. Ähm, oder Sie können Ihre E-Mail mit und Reisepass. Und es ist eine nützliche Sache, denn wenn Sie, sagen
wir, das auf Ihrem Computer zu Hause
testen und,
äh, und dann wollen Sie etwas, wissen
Sie, in einem anderen Computer im Büro, Vielleicht können Sie das Konto einfach , versenken, und dann haben Sie alle Ihre Sammlungen,
ähm, ähm, außerhalb von Endpunkttests. Aber jetzt lassen Sie uns das einfach überspringen und das ist wie der Hauptbildschirm , für
die Anwendung und die Art,wie Sie mit Ihnen getestet haben. Anfangs machst du hier nur eine Get-Anfrage, also werde ich zu Es ist,
um, ähm,
lokaler Gastgeber und dann Haustiere zu sein um, ähm, , was wir auf dem,
ähm hier im Browser hatten . Und wir haben diese Ergebnisse hier. Richtig? Also, wenn ich das mache und sie auf Send treffen, sehen, wie ich die,
ähm, ich bekomme die formatierte Version von den Jason Hodges, was wirklich schön ist. Ich meine, ich bekomme diese Dinge wie prägend und so. Ähm, hier
heißt es, dass Sie Ihre Anfrage speichern können, damit Sie sie verwalten können. Und das habe ich dir gesagt. Wenn Sie sich registrieren, können
Sie diese Dinge auf verschiedenen Computern synchronisieren. Aber was ich tun werde, ist, dass ich eine Sammlung erstellen werde,
und hoffentlich haben ,
ähm Sie,
ähm, die synchronisierte Version davon und ah, ich werde das nicht brauchen. Das ist irgendwie wie ein Test. Er wird das löschen,
und ich werde eine neue Sammlung erstellen, und ich nenne es Wetten a p I und du kannst das für deine,
du weißt schon, jede Anwendung, dein Schreiben und so. Also innerhalb einer Sammlung, dass Sie Anfragen haben können. Und jetzt kann ich das speichern erfordert, weil ich weiß, dass jedes Mal, wenn ich benutze, um die get Anfragen wollte. Ich werde es damit machen. Du bist in Ordnung. Also werde ich das speichern, und es wird sagen, in welcher Sammlung und ich werde Haustiere sagen, A p I Und hier können Sie eine Beschreibung schreiben. Ähm, ich mag es, einen Namen so theatralisch wie,
ähm,
die Fertigstellung,was das tut, zu setzen ähm,
die Fertigstellung, . Also werde ich sagen, äh, bekommen Haustiere Endpunkt oder so etwas. Ähm, und dann bist du sicher und du hast deine Beschreibung da beschreibende, du weißt schon, du weißt schon,
Informationen. Das ist also, dass das im Haustier ist. CBS. Also, wenn ich auf Haustiere FBI klicke,
sehen, wie er kommt, um dort zusammenbrechen genannt. Nun, was ich auch tue, ist, dass Sie Unterordner erstellen können. Also, wenn Sie, sagen
wir die Haustiere FBI, können
Sie hier einen so Ordner erstellen und dann werde ich alles tun. Das sind die damit verbundenen Zehenwetten. Ich kann diesen Ordner dort erstellen und dann kann ich ziehen. Es gibt, wie, wissen
Sie, wie lange Klicks und Ziehen Sie es zu den Haustieren. Und jetzt habe ich meinen Unterordner mit meiner Anfrage dort. Warum? Denn danach
werde ich einen Laden haben, weißt
du, und darauf hinweisen, dass ich ältere Endpunkte bekomme. Also dann habe ich alles irgendwie wie schön organisieren ihre Also das ist das im Grunde Postbote in einen Blick. Es ist ein wirklich gutes Stück Software, die ich benutzt habe, weißt
du, ich mag es,
ich habe schon seit Jahren benutzt, als er gerade als Chromstecker angefangen hat, und jetzt, wo er es hat, ist
es, ah, Standalone-Version. Es ist wirklich nützlich. Damit wäre
der nächste Schritt, einen Post-Endpunkt für Haustiere zu erstellen und es sieht, wie wir das tun.
10. Unser erstes POST: Willkommen zurück, eso in dieser Lektion, wir werden sehen, wie wir tun. Ähm, tatsächlicher Beitrag, der, wie Sie wissen, Post A ist äquivalent zum Erstellen eines neuen Datensatzes. Ähm, und wie wir in der letzten Lektion sahen, begannen
wir, Postbote als Methode oder eine Möglichkeit zu verwenden, um mit unserem A p i auf eine
einfachere Art und Weise interagieren zu können . Und er wird in diesem neuen Beispiel wirklich glänzen, das ein Objekt aufstellt, das wir dem Post-Endpunkt unserer Haustiere zuschicken werden. Also lasst es uns aufnehmen. Also hier sind wir. Sind ein p. Ich wette ein p I und wir werden eine neue Methode hinzufügen, die die Post-Methode ist. Also, was wir tun werden, ist folgendes. Wir definieren einen Posten genauso wie die USA selbst, und dann prüfen wir,
ob es keine und dann prüfen wir,
ob es keine
Jason-Nutzlast gibt. Oder wenn der Name nicht auf der Anfrage steht,
Jason, Jason, dann werden wir einen,
äh,
einen 400-Fehler zurückgeben äh , der auf ist, werden wir einen Blick auf einige der h zwei werfen, weil aber das ist irgendwie wie ein , wissen
Sie, irgendwie wie ein erwarteter Erbe. Also, wenn wir diese Dinger haben, dann werden wir, ähm, im Grunde ein i d toe die Länge von dieser Vergewaltigung hinzufügen, die Array ist und um eins erhöht wird. Und dann haben wir den Namen, der auf dem Posten weitergegeben wurde, Toby, den Namen auf dem Haustier. Und schließlich werde
ich das dieses Objekt in das Array bringen und zurückkehren. Ähm, dieses neue Objekt, das irgendwie wie ein normaler, äh, sagen
wir, Mechanismus oder oder ah,
Philosophie, wenn Sie eine neue Platte erstellen,
ist, dass Sie irgendwie, wie zurück, um den Datensatz abzulehnen, den Sie gerade erstellt haben, so dass der Client bestätigen kann dass Sie den richtigen Datensatz erstellt haben und, um und auch wir werden ein uns haben, können Sie hier ein zwei ein eins sehen, was eine andere Kante ist, um Code zu sein, der sagen soll, dass dies erstellt und, um oder einfach oder Bruder. Die Anfrage wurde empfangen, und ich gehe zu Ah, ich habe tatsächlich eine neue Platte erstellt, also werden wir die HDB-Mäntel in ein Bett nehmen, aber fangen wir einfach an, damit zu bleiben. Ich werde das retten. Und ich habe Docker hier, äh, in meinem Computer. Also gehe ich jetzt zum Postman, und wir werden , im Grunde eine neue,
äh,
eine neue Bitte entwerfen äh, , die widersprochen wird. Also hier wähle ich Post. Und wie Sie sehen können, habe ich eine neue Registerkarte ausgewählt. In diesem Pluszeichen werde
ich erschaffen,dass ich die Haustiere hierher stecke. In diesem Pluszeichen werde
ich erschaffen, Oh, und ich habe es auch vergessen. Ich habe gerade bemerkt, als ich die Aufnahme überprüfte, dass dies kein nachgestelltes Leerzeichen hatte. Wie Sie sehen können,ist
da ein kleiner roter Punkt drin. Wie Sie sehen können, Das bedeutet, dass das hier in der Sammlung nicht gespeichert wurde, also können Sie Ah,
ähm, ähm, Kommentar S O R, äh,
Sache, die Sie sammeln können. Oh, hier, du dieser Safe. Oder du könntest das loben. Also werde ich das retten. Und jetzt, da dieser Endpunkt Sicherheit hier im Indischen hat, ist die Kollektion so perfekt. Also, jetzt haben Sie den Posten. Aber wie Sie wissen, Post sendet nicht die eigentliche Anfrage oder die Daten auf dem Euro wie die get Anfrage uns . Also bin ich eigentlich die Hälfte. Ich habe hier eine Leiche, die eine,
ähm,
irgendwie,
eine Registerkarte ist ,
ähm, irgendwie, , die ich an die Anfrage übergeben kann. Und hier schicke ich eine rohe, ähm, die meisten ausgewählten Rollen hier. Sie können Formulardaten auswählen. Ähm, Sie können Ah ah wählen, für das Wandbild codiert. Du kannst binär haben. Wie, wenn Sie sind, wenn Sie Bilder hochladen, und hier können Sie wählen, was? Geben Sie aus, ähm, Rohdaten. Und ich werde Jason hier auswählen. Jetzt. Was das tut, ist jetzt, dass Sie sehen, dass Headers dort eine neue Option hat. Wenn ich dort klicke, sehe
ich, dass es Content-Typ Anwendung sagt. Jason. Also senden wir das auf den Header. Also das Klettern schickte das mit Haaren sagen:
Hey, Hey, Mr. A P Ich schicke Ihnen eine Anfrage. Haben Sie einige Daten im Körper auf diesem Inhaltstyp ist Anwendung, Jason. So
schickst du das sagst dem FBI, FBI an und
sagst dem FBI,welche Art von Inhalten du einrichtest, was Teil der Verhaftung ist. Voll. A. P I, um Einschränkungen, wie wir früher gesehen haben,
ist, dass das Klettern bildet, welche Art von Off-Informationen es sendet, und auch durch die durch die Verben, die Post hier bekommen sie. Es kommuniziert auch was das, was du bist, ähm, deine Bitte oder was? Was Ihre Absichten sind, wenn Sie sind, wenn Sie das posten. Also, ah, hier. Ich muss nur so etwas hinzufügen. Ich habe nur eine Klammer und dann einen Fußnamen gesetzt. Und dann werde ich,
ähm,den Namen
meines Hamsters Lalla setzen ähm, . Das wird also die Bitte sein. Also, wenn ich das schicke geht
es in die Post hier, und es wird den Namen auf dem Antrag haben, Jason. Und dann werde ich in der Lage sein, das dem Objekt hinzuzufügen und dann an das Schlepptau anzuhängen das dieses Spiel setzt,
äh , Array. Also lasst uns weitermachen und das versuchen. Ich lasse mich das retten, und es wird sagen, wo ich es retten werde. Ähm, ich werde sagen, das ist Post Pets Endpunkt, und dann werde ich diese Wahlboxen a p i in den Haustierordner legen und sicher. Also jetzt habe ich den Posten in ihrer zweiten. Sehen? Okay, perfekt. Also lasst es uns ausprobieren. Ich werde etwas Licht hier reinbringen und dann perfekt schicken, also lassen Sie es hier eine Menge Informationen geben, die Sie sich ansehen sollen. Also eins, ich bekomme den Status zu einem erstellten. Und wie Sie sehen können, hat der
Postbote diese sehr raffinierte Bibliothek von HDP-Codes, die besagt, dass die Anfrage erfüllt wurde
und dazu geführt hat , dass eine neue Ressource erstellt wurde. Also haben wir im Wesentlichen eine neue Ressource geschaffen. Es sagt uns auch, wie viel es dauerte und die Größe von der Antwort zurück, die 204 Bisse auf, dass war. Sie können sehen. Hier ist, was der Server zurückgibt. Sie können sehen, dass ich D vier jetzt das I d dafür ist, Laleh. Und natürlich macht
es Sinn,
weil wir
bis zu Nummer drei hier hatten macht
es Sinn,
weil wir
bis zu Nummer drei hier hatten. Und zusätzlich, Antwort zurück mit Headern, die Informationen über den Inhalt enthalten, Länge außerhalb der zurückgegebenen Informationen. Es sagt auch, dass es die Anwendung Jason Format zurückgeben wird. Er hat ein Datum der Anfrage und auch welche Art von Server, was in diesem Fall, es ist ein Sie wissen, äh, Arbeit Soja durch Spaß. 34 So wird dies automatisch von der durch Kolben gesetzt, und es ist wirklich nützlich für Kunden. Aber auf jeden Fall haben
wir hier erfolgreich , einen neuen Rekord
erstellt,und
das bleibt natürlich im Gedächtnis. Wir speichern dies nirgendwo in einer Datenbank,
aber auf jeden Fall ist
es immer noch eine ziemlich gute Idee oder ein Konzept aus. Was? Ähm, die verschiedenen Endpunkte für diesen a p werde ich anfangen, wie
11. HTTP-Statuscodes: in der letzten Lektion haben wir einen Blick auf das Erstellen eines neuen Datensatzes mit der Post Request geworfen. Und natürlich haben
wir diese Art von wie eine kurze Einführung in das Bild zu fangen bekommen, was zu einem mit,
ähm, ähm, was der Schaffung eines neuen Objekts entspricht,
ähm, in Bild, das aufgerufen werden soll. Aber ich wollte,
wie, wie, kurz über einige der http-Statuscode gehen, weil ich denke, es ist wichtig, dass Sie beginnen sich mit Leichtigkeit vertraut zu machen und wirklich sicherstellen, dass Sie wieder die richtige Luft Nordländer die richtigen Statuscodes, da sie sehr spezifisch für Operationen sind. Und ich habe Dies ist eine sehr gute Ressource, auf die ich den Link auf den Kurs setzen werde
, der über einige der, äh, oder die meisten der Status geht geht, aber auch eine kleine Art Stern auf die wichtigsten setzt, und wir sind gehen, um durch sie gehen schnell. Beginnen wir also mit S 0 200 Also zwei x Achse, es ist Zehe einbis vier, und jeder Code, der mit Nummer zwei beginnt, ist
die 1. 1 200. Okay, welche Augen im Wesentlichen eine Anfrage gelungen ist. Das ist diejenige, die wir auf dem Ah zurückgekehrt
sind, hier auf der Abfahrt. Obwohl wir es nicht ausdrücklich sagen,
aber Kolben gibt es für uns zurück. Aber vielleicht ist es eine gute Sache,
eseinfach ,
es explizit zu nennen. Und wie Sie sehen können, können Sie in der Flasche
zurückkehren, dieses kleine Komma und dann einen inmitten von Schreibkraft Stellen Sie alten Code
, der wirklich nützlich ist. , Also lassen Sie uns sagen,dass wir uns die Statuscodes ansehen,
ähm,
und bemerkten, dass, wenn ich hier klicke, ich das bekommen habe, wie wenig wie erweitert, äh, Abschnitt und hier überschüssige auch, was Sie auf dem Kopf auf der Post und Spur haben sollten, was ist ,
Sie wissen ,
anders , irgendwie wie, äh, Methoden oder h, um, ähm, irgendwie Anfragen zu sein, die getan wurden,
aber, aber, ähm, also 200 ist es okay, ein bedeutet, dass sie genau wie wir gesehen haben, bevor erfüllt ist und dazu geführt hat, dass eine neue Ressource erstellt wird. Ähm, die Sie wissen, die neu erstellte Ressource kann von Ihren Augen referenziert werden. Return in der Entität der Antwort mit dem pazifischen Ihr Auge für die Ressource
nach Standort gegeben . Kopfzeilenfeld. haben wir nicht getan. Also, wo wir gerade zurückgekehrt sind? Wie Sie sich erinnern, die,
ähm, wir haben gerade die Ressource selbst zurückgegeben, oder wir haben das nicht zurückgegeben. Und das ist eine gute Sache, darüber nachzudenken, was gibt es Hass schuldet Art aus wie, Annäherung an Dinge. Richtig. Also werden wir das in einer in der nächsten Lektion reparieren. Der nächste ist zwei oder vier. Kein Inhalt. Und das bedeutet normalerweise, dass, ähm, die Bitte Waas eingegangen wurde, und er war richtig, ähm, Prozess. Aber ich muss Ihnen keine Daten zurückgeben, weil Sie die Ressource nicht geändert haben. Ähm, und ich denke, wir nutzen das, wenn wir die Elite machen. Das ist richtig. Sie also den DaSie also denDatensatz erstellen, müssen
Sie nicht unbedingt den alten Datensatz zurückgeben, da dieser bereits gelöscht wurde. Eso Sie? Normalerweise willst du die 200 nicht zurückgeben. Okay, weil, ähm, es ist irgendwie so, OK, ich habe die Verantwortliche. Du erzählst mir nichts davon. Es ist genau so, als ob ich antworten muss, so dass eine Vier dafür geschaffen wurde. Es ist irgendwie so, als würde ich dir eine Bestätigung geben, dass ich die Anfrage bekam und etwas getan habe , aber ich schicke dich nicht zurück,
Ähm, Ähm, das irgendein Objekt oder irgendein Date, also zu einem Viererstück. Perfekt dafür. Also, jetzt kommen wir in die 400. Gewöhnlich nicht. Das sind Luft. Also 400 schlechte Anfragen. Das bedeutet, dass die Anfragen Ismael Foreign, es bedeutet, dass Sie etwas senden sollen oder Sie das nicht zurückschicken. Wir haben den hier auf dem Posten. Wenn dort, wenn die Person oder der Kunde die Jason-Anfrage nicht sendet oder kein
Feld namens Name in der Anfrage sendet , senden
wir eine 400, die der richtige Weg ist, um dies zu erstatten. , Also 400 bedeutet,dass du,
ähm, weißt
du,
die Informationen geschickt hast ähm, weißt
du, , über die wir ein paar Informationen bekommen haben, jemand oder andere bekommen eine Anfrage. Aber du musstest etwas anderes tun. Entweder. Fügen Sie neue, äh, neue Felder da drüben ein. Du kennst den Namen des Feldes. Es ist nicht richtig, diese Art von Sache, Uh, für jemanden wird sehen, wenn wir Autorisierung haben. Was bedeutet, dass diese Art von wie ein Login, richtig. Wir implementieren ein Anwendungsprotokoll in eso, dass Onley registrieren Anwendungen mit unserem FBI
fahren können für eine eine bedeutet, dass Sie nicht die richtigen Anmeldeinformationen senden. Also bin ich irgendwie nicht,
äh, äh, wissen
Sie, ich werde nicht in der Lage sein, Ihre Anfrage zu erfüllen, ähm, ähnlich vier oder drei, obwohl der Unterschied, dass wenig Sie wissen, Art von wie anders, aber es ist für drei verwandt, wird zurückgegeben, wenn Sie die richtige
Anmeldung und das Passwort übergeben , aber Sie sind nicht speziell dazu autorisiert. Aktion deaktiviert kann das Erstellen eines neuen Pads sein. Also, zum Beispiel, lassen Sie uns sagen, dass Sie eine Art von Benutzer haben, die alle Haustiere von Ihrem
Server bekommen können , oder? Aber Sie haben eine andere Art von wie Autor oder Administrator Benutzernamen und Reisepass, mit dem
Sie tatsächlich erstellen können . Also, ähm, das würde zum Beispiel
für den ersten Benutzer zurückgegeben werden , dass es nur ist, obwohl er geliebt ist und das Passwort korrekt ist. Er hat versucht, Post zu mögen und ein neues Objekt zu erstellen, und wir haben das für drei 44 bedeutet, dass ich die Ressource nicht gefunden habe, und das kann irgendwie sein, wenn Sie das Sie wissen,
das Mädchen auf buchstabieren können . Normalerweise ist das der Fall. Bist du falsch geschrieben? Ähm, das ich von einem bestimmten Objekt oder einer bestimmten Ressource. Also, weißt
du, für vier schien du in der Vergangenheit für vier, wenn du irgendwie gehst und du verpasst hast, auf eine Website
gehst und du verpasst hast,den Seitennamen falsch zu tippen, oder die Tonhöhe wurde irgendwo verschoben sonst und hat keinen 300-Code zurückgegeben, um, für neun ist Konflikt auf. Das bedeutet, dass Sie vielleicht versuchen, ein neues Haustier mit dem gleichen Namen auf
vorhandenes Haustier einzufügen , damit Sie ein für neun zurückgeben können, was bedeutet ,
dass das,
ähm, dass der Benutzer Informationen sendet, die Sie wissen schon, widersprüchlich. Und schließlich die Fünf, die 500 Siri. Sie fragen sich, dass du die meiste Leichtigkeit nutzen wirst. Fünf Finanzierung interner Server, die Rückkehr ist, wenn etwas wie schlechtes passiert auf der Serverseite. Das wäre so, weißt
du, dass Steinbock runtergegangen
ist oder der Anwendungsserver , einen Spiegel erzeugt,der nicht in einem Versuch außer Code gefangen wird. Es ist wie, wissen
Sie,
werfen, wissen
Sie, wissen
Sie, also Flask wird normalerweise automatisch zurückkehren und und der Kunde wird informiert, dass es ein Telefon für,
AH 500, die ist, weißt
du, im Grunde das es ein Problem mit dem Server gibt, nicht mit deinen Anfragen oder der Art, wie du Dinge tust, sondern etwas an unserem Ende. Also, die wichtigsten, wissen
Sie, es ist gut, nur einen Blick auf einige dieser anderen zu werfen und mit denen vertraut zu machen. Und wir werden Ach,
Haufen das während des ganzen Kurses nutzen . Also gehen wir weiter. Irgendwie fangen Sie an, ein paar Daten zu unseren Haustierobjekten hinzuzufügen, eso, dass wir ,
ähm, eher wie, hey, tut konform.
12. Eine echte CRUD: In der letzten Lektion
haben wir die HTTP-Statuscodes ausgecheckt, die für den Client nützlich sind, um Informationen
darüber zu erhalten , was mit der Anfrage passiert ist, die den A
P.I Server abschleppen sollte . Aber jetzt, was ich tun möchte, ist die Arbeit ein wenig mehr auf diesem Haustier Endpunkt und ah, mehr Hass zu
machen ,
schuldet konform, haben einige einen später dort gemacht sowie ermöglichen, ein bestimmtes Haustier durch ihre I
d. Implementieren Sie auch die Put- und die Lead-Methoden. Also fangen wir an, das zu tun. Also lasst uns damit beginnen, zu dem Haustier der Verwendung B y zu gehen,
und ich möchte ,
ähm ,
ich schätze,
Ah,
etwas skalierbarer
machen ich schätze, Ah, . Und was? Ich werde einfach gehen. Ich werde die Ansicht Toby a ersetzen, äh ein Lebensfähiges, damit ich dann verschiedene Methoden dafür machen kann. Also die eine, wenn ich das mache, ist, dass ich eine Tieransicht machen werde, die gleich dem Haustier ap sein wird, das ich von dir auf pet frage,
ein p, das ich mir so ankündige, jetzt auch diese Zeile
zu den verschiedenen Methoden einzufügen . Also die 1. 1, die ich tun werde, ist, dass ich zum Get gehe, aber das ist das Get für alle Haustiere. Also werde ich dieses Haustier bei unseren Euro-Haustieren machen. Und wenn ich weitergebe, kannst
du diesen Standard bezahlt machen denn denken Sie daran, dass wir eine Person abschleppen, später
kommen,
ähm, und dieser wäre für alle Betten. Und hier kann Haustier uns die View-Funktion ansehen, und dann werden die Methoden, die für diese für bestimmte Ihre Regel sein werden, bekommen. Diese Antwort wird also sein, wenn wir Wetten bestehen. Und aber es gibt nichts anderes, also um ältere Haustiere zu bekommen. Aber da die Funktion über die Methode, die ich hier auf einem P erstellen werde, wird ich
für den get keine Aufteilung zu sein, ähm eins. Es wird sein, wenn du vorübergehst und ich und die anderen. Wenn du das Id nicht und dann werde ich diesen Standard setzen, Toby Haustier, ich bin gleich keiner. Also der nächste, der zu tun ist, ist der Posten, und er wird in Ihrer Regel ähnlich sein und dann klopft. Aber hier, ich werde einfach die Methode Toby Post hier setzen, die wir nicht haben, wissen
Sie, verschiedene Routen. Es ist genau wie diese eine Route, denn man soll immer zu den Haustieren und Punkt. Und schließlich werde
ich die Methode für das machen,
um für das Individuum zu bekommen, das ich setzen und löschen, weil alle diese ein i.
D.
Toby benötigen D. . Also werde ich sagen, dass Pats kein Interviewer aus bezahlten i d sie werden funktional verbrachte Sicht, und dann werde ich die Methoden setzen und Elite perfekt haben. Also, jetzt sehen Sie, wie wir haben , wissen
Sie, die verschiedenen Anwendungsfälle der 1. 1 wäre, wenn ich alle Haustiere bekomme, und in diesem Fall muss
ich passieren. Schlechte Idee war nicht, weil ich das auf der A-I-Ebene erwarten werde. Und dann werde ich die,
ähm,
die für die Post haben ähm, , was ist, jemanden zu erstellen, der keine in den Anwendungsfällen hat. Und dann schließlich, wenn ich Haustiere mit einem Interviewer Haustier gebe ich d. Das kann gelten, um auf den Deckel gelegt zu bekommen. Also keine Notiz, dass wir es nicht tun, sie auch dann, Art wie die Switch-Fälle im Interview selbst, was eine nette Sache ist, dass anwendbare Ansichten uns bekommt, die hier entschieden werden. Wann? Wenn wir das Perry P I angerufen haben wird
es uns intelligent die richtige Methode schicken, je nachdem, ob wir Postboot bekommen oder löschen. Okay, das nächste, was ich tun werde, ist, dass ich rüber zu der A P I und ich werde
,
ähm hier einfügen , . Ah, ein bisschen Hass schuldet. Also werde ich den Luchs haben, einen Luchsektion, der sagen wird:
Was ist der Euro, um zu dieser Ressource zu kommen? Also werde ich das einfach kopieren und einfügen und es sagt Links und es ist ein Array, so dass Sie mehrere Links im Objekt haben können. Aber derjenige, der definiert hat, ist das Selbst, und dieses Reh-Augen-Thema. Es ist irgendwie wie eine Verwendung von hdb, ähm, acing Steuern, wo das sagt,
Was ist der Verwandte, die relative Art aus wie was? Was ist die Beziehung aus diesem Link und Sie können Rail selbst verwenden oder Sie können Rail
gleich verwenden , Ich glaube unterstrichen neu Wenn wir in einem neuen Fenster öffnen wollen. Aber auf jeden Fall bezieht sich
dies auf sich selbst. Und es sagt, um zu dieser Ressource zu kommen, müssen
Sie zu diesem Bereich treff gehen, das Haustiere ist. Ah, Schrägstrich eins. Jemand ist das Gleiche hier, aber in diesem Fall wird Wetten Schrägstrich sein. Und wie Sie sehen können, stimmt
das mit der Idee überein, oder? Also, wenn Sie Wetten treffen, dann wird es Leo bekommen. Wenn du triffst
, wirst du das bekommen, Mac. Und schließlich, Wetten drei. Dann lasst uns Ah holen, lasst uns an der Arbeit machen, das war ein schlechter Witz. Also werden wir jetzt ein Haustier haben, wie ich bereits erwähnt habe, und erinnern uns daran,
was wir hier gemacht haben ,
was ist wenn wenn die Haustiere abschalten, kein i d danach hat, dann sind wir immer noch vorbei. Bezahlt habe ich bekannt, damit das hier nicht einbricht. Siehst du, das war nötig. Dies ist ein erforderlicher Parameter für die einzige Funktion. Also sagen wir Eve, ähm, wenn das ich und das ist, wenn du das,
äh,
das spezifische Haustier bekommen willst äh, , dann wirst du folgendes tun. Also haben wir die Haustiere Array und dann sind wir diese behindernde ein, denn denken Sie daran, dass unser Rennen oder zumindest bei Null beginnen. Also sage ich nur, besorgen Sie mir das Paar , das dort passiert wird. Und so Drohung eins, damit das i d für, ähm, für Mac, was man dem Null-Element entsprechen würde, und dann für Leah wäre das eine Element und so weiter. Und dann, ähm, können
wir das loswerden, und dann haben wir es nicht. Dann sagen wir einfach „Rückkehr“. Hoppla. Also, das ist für, wenn ich alle Haustiere pats bekommen will. Und dann habe ich gerade den,
ähm den ganzen A-Strahl da drin passiert . Okay, das ist
also, um Funktion zu bekommen. Ähm, und die andere Sache, die wir hier ändern wollen, ist durch die sind die Links. Also werden wir das Gleiche hier haben, also werde ich Links haben. Aber ich hatte das Falsche, kopiert und eingefügt. Er verbindet auch, und dann wird es relative Selbst h Ära ein Floß Haustiere sein, plus die Schnur aus der Länge, die Haustiere. Ah, Ray. Ähm, plus eins. Also lasst uns er so haben die Stärke von der Länge von Selbsttieren plus eins Also das ist die Länge plus eins hier, und das ist die Schnur davon. Ach, warum? Weil ich einen neuen Datensatz erstelle, und es wird im Wesentlichen eins sein, plus die, ähm, die Anzahl der Elemente da drin. Perfekt. Ähm, ich glaube, das ist das für die Dinge, die wir tun wollten. Wir machen das Setzen auf den Deckel in der nächsten Lektion, aber lasst uns das testen.
13. PIT und LÖschen: Also lasst uns das ah versuchen, zuerst Anfragen
bekommen, um sehen, ob wir die gleichen Ergebnisse bekommen. Also müssen wir hier Endpunkt bekommen. Ähm, ich habe Dr. Running
und ich glaube, ich habe das Yeah, dieses Zeug läuft sehr gut. Also lasst uns tun, wir kommen hier und perfekt. Also hier sehe ich die, ähm die anderen. Ah, lass mich sehen, ob ich kann. Nein, es ist zu kopieren. Ähm, ich wollte das erweitern. Oh, da gehst du. Ein bisschen. Okay. Also sehe ich ihre Spucke. Weißt du, ich verlinke HF-Haustiere. Ein echtes Selbst. Der Name ist smack die gleiche Sache mit Haustieren etcetera. So dass das funktioniert hat. Wirklich gut, ich übergebe kein i d sie sind also das bedeutet, dass
die ,
ähm, ,
ähm,die Funktion in diesen anderen Fall gerät, weil es keinen Pfad gibt. Und natürlich, dieses Bett I d. Sagte zu keiner gesagt, weil dies Einstellung auf der get Anfrage bekannt ist. Ähm, weil ich danach nichts habe. Ähm, wo wir, wenn ich das Individuum mache. Ähm, ich habe dieses Haustier,
danach. Ähm, und ich denke, wenn wir darauf klicken. Sie sehen, wie es anklickbar ist. Ich denke, es wird funktionieren, und es wird eine neue Registerkarte erstellen. Aber mal sehen, dass das passiert. Ähm, okay, perfekt. So erstellen Sie eine neue Registerkarte. Sie haben es nicht für uns geschickt, aber es sagt, dass wir ein Haustier bekommen. Also, wenn ich ihre großartigen schicken könnte, also habe ich in diesem Fall, weißt
du, Max Record von selbst, es sagt seine i d eins und die Links selbst und, äh, und der Name. Also, wenn ich das in
ändere, hole ich Leo. Wenn ich das auf drei
ändere, bekomme ich Brown. Das ist fantastisch. Also lasst uns, lasst uns das in das speichern, denke ich. Lassen Sie uns das umbenennen bekommen alle Haustiere. Zielpunkt. Und dann werde ich diesen Toby retten, bekommen einen Haustierendpunkt
bekommen, und ich werde ihn in die Mets-Sammlung stecken. Ehrfürchtig. Also, um, versuchen
wir einen Beitrag und sehen, ob wir,
ähm,
die richtigen,
ähm,
die richtigen Ergebnisse bekommen ähm, die richtigen, ähm, . Also haben wir hier, äh, sehen Haustier namens Lalla. Da ich denke, wir wurden gestartet, der Server waren Wir haben da nicht la LA. Ja, wir haben nur bis zu Brownie. Also lassen Sie uns das senden und sehen, was passiert und perfekt. Wir haben Wetten, für die Lalla ist. Und wenn ich jetzt versuche, vier zu kriegen, bringe ich Lalla mit ihren Haustieren. Ah, Treff genial. Sieh mal, dass es sagt, dass wir es nicht gerettet haben. Wir wollen es nicht retten, weil wir nur sagen wollen, dass es eins ist. Also werden wir es dabei belassen. Das nächste, was wir tun werden, ist die Arbeit an den Put- und Delete-Methoden. Okay, jetzt werden wir an der Update-Operation arbeiten, die die Put X zu sein Methode ist. Aber ich wollte Ihnen ah Abwehr Beratung hier geben, weil Put kann auch behandelt werden, um zu aktualisieren oder einen Datensatz zu erstellen. Und die Create-Website kommt, wenn Sie es sind. Wenn Sie geben abgelehnt die Option, um, um, senden Sie auf Objekt mit seinem eigenen I. D. Also, zum Beispiel, lassen Sie uns sagen, dass ich, anstatt unsere Schaffung der Idee der Wette Ich habe eine, äh, legte eine Methode, wo, wenn Sie das i d übergeben, dann das, das Paris mit der Idee erstellt hat, die abgelehnt wurde, passiert,
Ich finde diesen Anwendungsfall nicht sehr oft. Was ich normalerweise persönlich mache, ist, die Put-Methode als Update zu verwenden, und das wird irgendwie so sein, wie ich es im Rest des Kurses benutze. Aber, ah, der Vorbehalt ist, dass Sie auch unter den HDP-Spezifikationen setzen können, als Post. Aber in einem Beitrag, in dem Sie dem Client erlauben, einen Datensatz mit einem I D zu erstellen, Arse
abgelehnt hat, wählt Ähm ,
und technisch, wenn wir nur ein Feld aus Datensatz aktualisieren wollen, oft Objekt . Dann verwenden Sie einen anderen Ausgang, um Methode kalten Patch zu sein. Das Problem mit Patches, die eine Menge aus, Nehmen wir an, Sie wissen, wo Klein JavaScript, und noch mehr über Clients unterstützen keine Backs. Sehr gut, aber wieder, Patch bedeutet, dass Sie diese Idee senden und dann nur ein Gefühl, aktualisiert zu werden gegen setzen. Sie müssen die Idee und alle Felder senden. Sie können nicht einfach ein Feld für dieses Objekt senden, das ich mag, sagte
ich. Persönlich habe ich uns Assay-Patch verwendet,
was bedeutet, dass Sie das I D und nur ein Feld oder alle Felder übergeben können. Aber das ist ein etwas, das ich kaufe das Zeichen uns wählen zu tun, und ich kommuniziere, dass an die A P I und Benutzer. Also, ja. Ihr habt also wissen, das dieser Vorbehalt im Sinn und vergewissern Sie sich, über Patch zu lesen und auf die
Ressource zu setzen , die ich auf die Lektion setzen werde. Okay, also lasst uns jetzt an der Put-Anfrage hier arbeiten. Und so werden wir folgendes tun. Wir werden die Methode mit dem Haustier i d
als Parameter finden . Und dann prüfen wir, ob die Anfrage ein Jason-Objekt hat. Ähm, oder wenn es keinen Namen in der Anfrage hat, dann werden wir mit einem 400-Fehler an Bord gehen, was
schlechte Anfragen ist was . Als nächstes werde
ich die Anzahl des Arrays um eins reduzieren. Und ich möchte sagen, Haustiername ist gleich der Anfrage Jason Name. Und ich werde das Objekt zurück an den Benutzer zurückgeben. Ähm, ich werde hier eine 200 zurückkehren, was bedeutet, dass die Operation erfolgreich war und ich das auf dem Objekt
zurückgebe , aber weil es kein Objekt ist. Ich gebe keine Tour eins zurück, sondern eine A 200 und ah, nur damit wir verstehen, was hier passiert. Die ich unterwerfe einem Zeh das Bett I d. Das ist vorbei, weil wieder Ah, Rasse. Haben Sie einen Null-Index für die 1. 1 Also, wenn Sie übergeben, sagen
wir eine Anfrage, Leo zu aktualisieren. Sie übergeben eine Nummer zwei, aber ich bin eigentlich ich will das Ah,
das Haustier Element von eins bekommen . Also ist das Ihre Syrer sein einziges Recht? Also, ähm, das war's. Das ist das Anziehen. Gehen wir voran und machen das Löschen. So finden Sie die Methode die Elite. Und denken Sie daran, dies dies die Lead ist die eigentliche Methode sein. Es ist einfach keine Funktion, die wir einfach ewig diese Spur nennen. Und hier werde ich das del Schlüsselwort für ein Rennen nennen, das führende ist, das ein spezifisches Ah, Element aus dem off Thea des Arrays. Und schließlich gab ich ein leeres Jason-Objekt mit ihm mit zwei oder vier und erinnere mich daran, was wir über zwei ein vier gesagt. Es bedeutete, dass die Operation durchlief, aber dass ich keine Objekte an den Client zurückgebe. Aber ich bin, indem ich ein Forum mache, das bestätigt, dass die Elite durchgegangen ist OK, also lasst uns voran gehen und versuchen, das auf dem Postboten Client. Also lassen Sie uns wirklich schnell überprüfen, was das Beste, was wir haben. Also haben wir Mac Leo Brownie. Also werde ich diesen Post-Zeh klonen, um ein,
ähm der Putt zu sein , weil wir die Leiche hier mit einem aktualisierten
Namen übergeben müssen. Es gibt also eine Funktion hier, ob Sie öffentliche acht dulden. Und lassen Sie uns das umbenennen. Ah, oben sie spezifische Wette. Und so müssen wir ein i d
hier passieren . Also werde ich,
ähm, ich habe die Spitze hier verloren, und wir haben das gerettet, oder das ist Port Save und lassen Sie mich hier ein neues Top erstellen. Lassen Sie uns den Putt da reinlegen würde. Also lasst uns wieder alle Haustiere holen. Also habe ich Mark, Leo und Brownie. Also werde ich Brownie in Lalla umbenennen. Also, das sind Haustiere Drei, die nach den besten drei klopfen. Und ich habe Lalla dort hingelegt. Okay, wenn ich das mache, wird
Operation Brown in Lalla umbenannt, also lassen Sie uns das schicken. Und jetzt bekommen Haustiere drei seinen Namen Lalla, und beachten Sie, dass ich 200 bekommen habe. Okay, was, ähm, es im Grunde akzeptiert, dass die Anfrage erfolgreich bearbeitet wurde und es
zurückgibt ,
um , und wenn wir alle Objekte hier bekommen, Mal sehen, Yeah, wir kriegen eine Menge da raus. Okay? Also lasst uns einen neuen machen. Und ich werde die Elite machen, und ich werde das Get dafür klonen. Also werden wir diese Elite anrufen, und ich werde die dritte Platte löschen, die Layla ist, und ah, lassen Sie mich das aktualisieren. Toby die Spur. Ein Haustier, sie sparen das Sparen. Richtig. Perfekt. Also, jetzt werde ich Nummer drei löschen, was Lava ist. Lassen Sie mich senden und perfekt. Ich bekomme zwei oder vier, was bedeutet, dass der Serverprozess, die Anfrage, aber es gibt keinen Inhalt zurück. Und wenn ich das tue, komme
ich hierher. Ich sehe, dass sind jetzt nur Mac und Ansicht
14. Einfache Authentifizierung: So haben wir alle großen Aktualisierungs- und Löschvorgänge gesehen. Die Crowd-Operationen für sind sehr einfach im Speicher, Art off pet, A p I und Punkt. Aber jetzt wollen wir, wissen
Sie, es eine Kerbe
nehmen. Und wenn Sie es mit einem P-Auge zu tun haben, Sie es immer mit Authentifizierung und Autorisierung zu tun, weil Sicherheit eine große
Sache ist , über die Sie so normal nachdenken sollten, was ich empfehlen würde, ähm, zu tun, wenn es ist, wenn Sie gehen wollen, wie der ganze Weg ist zu studieren, wie man es ausschalten. Also Büro, dieses Protokoll, dass viele der, wissen
Sie, sehr professionell ap, die ich benutze, ist wie Twitter. Ähm und, äh, es ist ein wenig kompliziert einzurichten, und ich könnte es tun, ah, viele natürlich oder YouTube ernst mit der Einrichtung eines Python-basierten Off-Servers. Aber was ich in der Vergangenheit in Projekten gemacht habe, sowohl für mich selbst als auch für professionelle Anwendungen, ist eine Token-basierte Authentifizierung, die sehr ähnlich ist. Aber es ist nicht 100% Rabatt. sehen, sehen, Mal
sehen,wie wir das tun können. Es ist , so,als wollte ich zeichnen, bis ihr es überprüfen könnt. Also, was wir hier tun werden, ist, dass wir eine,
ähm, wir werden die Kopfzeilen benutzen. Also in acht im Ausgang E p. Sie haben im Grunde, wissen
Sie, Schichten aus Informationen. Also haben wir, wissen
Sie, das eigentlich Ihr Auge, wo Sie Informationen weitergeben können. Zum Beispiel. Vergiss Anfragen. Sie haben die Leiche,
was wir sahen, als wir den Posten machten und,
ähm,
und Informationen,
die irgendwie wie Daten sind. Sie haben die Leiche, was wir sahen, als wir den Posten machten und, ähm, und Informationen, Das ist Ah, das ist das ist
Teil der Anfrage,
aber wir haben auch Header. Teil der Anfrage, Und wir sahen die Kopfzeilen,
als wir über die
Jason-Anwendung sprachen . Jason ließ sie sich daran erinnern. Es ist also sehr üblich, dass Sie die Header auch für die
Authentifizierung verwenden . Und was wir normalerweise tun, ist, dass wir dieses Ding verwenden, das auf X Header X dash genannt wird. X Stash bedeutet also, dass du sagen wirst, du weißt schon, x up. Ich d zum Beispiel, für die Anwendung I d oder on und ex wie Ah, es ist ein Token. Und das ist eine Art wie ein Passwort Art Sache,
wo Sie, wo Sie haben,
wie, Informationen in der Lage sein, auf Ihre,
ähm,
Ihre ah,
Ihre A p I Inhalt zugreifen ähm, Ihre ah, und Sie kaputt Header für jede einzelne Anforderung. Ähm, so wie es funktioniert und es ist ähnlich wie mit einem Benutzernamen und Passwort, ähnlich wie beim Einloggen. Es ist ah, es ist im Grunde das Folgende. Sie haben eine, ähm Sie haben keine App, die Schreibanfragen oder Zugriff auf Ihre A P I gelesen hat und diese App wird eine App haben und es wird ein App-Geheimnis haben und sich das als Benutzername und Passwort vorstellen, Richtig. Das wird also funktionieren. Sie benutzen ihren Namen und ein Passwort. Nun, die Sache ist, du willst nicht jede Anfrage weitergeben, deinen Verwendungszweck als Reisepass, denn es ist irgendwie so, ähm, du weißt schon, wenn jemand zufällig Diese Kopfzeilen, du wirst freigelegt werden. Sie möchten also trennen, verwenden
sie sie im Pass von den tatsächlichen Kopfzeilen, die Sie übergeben. Die Art und Weise, wie es funktioniert, ist, dass ,
ähm für Schritt Nummer eins, Sie eine Art Endpunkt getroffen haben. Das ist irgendwie wie „get Token“, auf das Punkte-Token und dann das. Reden Sie. Wenn du arbeitest, wirst du, ähm, du wirst die auf dem Posten weitergeben. Ähm, von der Post-Anfrage, haben Sie das Ich und das geheime Geheimnis übergeben. Nun, diese Informationen, die Sie auf dem Posten auf dem Körper auf dem Datentier senden, können nicht von
ihm gelesen werden . Tschüss. Server, die Zwischenserver sind. Das ist also eine sehr sichere Operation, oder? Und dann, nachdem Sie posten, dann kommen Sie zurück vom Server. Ein Token. Und dieser Token ist eine zufällige Art wie eine Kombination aus Buchstaben und Zahlen, und wir werden sehen, wie wir eines davon generieren. Aber es hat auch ein Ablaufdatum aus, Sagen
wir X Stunden oder einen Tag. Ähm, warum? Denn was Sie tun möchten, ist, dass
Sie, weil dieses Token, die Header übergeben werden. Vielleicht kann jemand lesen, dass am Tag vorübergehend Zugriff auf Sachen
mit dem A P I bekommen wird . Aber wenn Sie wissen, dass der Kunde irgendwie erkennt, dass jemand diese Informationen liest oder, wissen
Sie, informiert Du, ähm, dann können sie diesen Token widerrufen und dann weißt du, du bist dein alter, du bist gut. Du, der Klient oder dieser Hacker, hast dein Geheimen nicht. Sie haben nur das Up I d und das Token und das Token ist, weißt
du, oft
generiert. Also, nachdem Sie diesen Token haben, ist Schritt Nummer zwei auf jeder Anfrage. Nehmen wir an, Sie wollen den Endpunkt der Haustiere bekommen. Du wirst die einzigen Header übergeben, die du das F I T übergeben wirst und das Token, und dann auf jede Anfrage wirst
du die Anfrage durchgehen und sagen: Ist das Idee und Token, weißt
du, irgendwo
registriert und das ist, was wir tun werden. Wir werden, wissen
Sie,
dass das Gespräch in der Datenbank gespeichert wird. Es hat ein Ablaufdatum. Nach einer gewissen Zeit ist
dieses Token nicht mehr gültig. Das erste, was wir tun werden, ist, dass wir einen Dekorateur für jede Anfrage erstellen ,
damit wir überprüfen können, dass die Sie wissen, die Anfragen, die wir bekommen, es ist eine gültige ist und dass der Benutzer Zugriff auf, wissen
Sie, trifft die Endpunkte. Also lasst uns anfangen, daran zu arbeiten
15. Unsere einfache Authentifizierung testen: Okay, also fangen Sie an, an diesem Dekorator zu arbeiten und was wir tun werden, Ace, erstellen Sie, ähm, einen Add-App-Ordner, in dem wir die Modelle und die Ansichten auf dem Test für die
App-Erstellung haben werden. Und, ähm, um, testen Sie die verschiedenen Clients oder die, Sie wissen, die Benutzeranmeldung und das Passwort, sozusagen. Sie werden auf unsere P I zugreifen. Also machen wir diesen Ordner hier, ähm, App. Und dann wollen wir ein Wesen ein B y erstellen, so dass Python weiß, dass dies ein A-Modul ist, und wir werden ein Dekorator B Y nicht unter der größeren Geschwindigkeit erstellen, warum? Wir werden etwas tun, was du in der Vergangenheit gesehen hast, was ein Dekorateur ist. Also beginnen wir mit den funktionalen Werkzeugen und importieren Wraps. Dann werden wir die Anfrage und J Sohn importieren, wenn ich von Flask und dass wir diesen Dekorator namens App erforderlich definieren werden. So erstellen wir die reguläre dekorierte Funktion mit den Argumenten und Schlüsselwortargumenten. Und das erste, was wir überprüfen werden, ist sogar Header anfordern, und wir werden diesen Header ein X oben nennen, wie das, was ich zuvor erwähnt habe. Und wenn nicht, dann werden wir einen Nair Code 403 zurückgeben, der nicht autorisiert ist. Dann werden wir das aufstellen, ich bin lebensfähig. Toby, das X up i d Header. Und wir werden auch das App-Geheimnis bekommen, das als X-App-Geheimnis bezeichnet wird. Ich werde es einfach ausdrucken auf die auf den Schlössern eso, dass wir sehen, dass das Lager
derzeit funktioniert. Und für diesen ersten Test, was ich testen werde, ist, dass sowohl die oben I d, um die f i d sagte Zehe Jorge und die AB-Sequenz auf mein Geheimnis ist. Und wenn es nicht der Fall ist, dann werden wir auch eine Luftmeldung zurückgeben. Andernfalls haben wir die Funktion zurückgegeben, was bedeutet, dass die Funktion von diesem Punkt an weiter funktioniert. Perfekt. Beachten Sie also, dass ich hier das up i d und up Geheimnis mache, das auf den Headern übergeben wird. Natürlich werden
wir das mit einem Token modifizieren. Dies ist der falsche Weg, es zu tun. Aber ich möchte Jungs sehen, wie diese potenziell funktionieren. Okay, jetzt gehen wir zum Haustier, , einer P-i-Akte und fügen den Dekorateur hier hinzu. Also sagen wir von AP. Ah, Dekorateure importieren erforderlich. Ok. Und, ähm, das ist eine besondere Art von, wie Methode, die wahrscheinliche Ansichten bietet, die nur in der Lage ist, Dekorateure zu übergeben, ich sage eine Setliste. Also werden wir sagen, Dekorateure entspricht erforderlich, und es ist eine wirklich schöne, sehr sehenswerte Sache, die diese Flasche für uns implementiert. Also müssen wir das at Schild hier nicht benutzen, weil es nicht funktionieren würde, richtig? Es ist eine Klasse ist keine Funktion, so Flasche. Wenn Anzug uns diese Hilfsmethode gibt, die wir können, können wir die Dekorateure als wenigstens von Dekorateuren weitergeben. In diesem Fall werden
wir nur einen benutzen. Also mal sehen, was passiert, wenn wir versuchen, jetzt die älteren Haustiere anzufordern. Also lassen Sie mich das klären und dann einfach die Besorgung l ah, holen Sie alte Haustiere und zeigen Sie. Wenn ich das schicke,gehe
ich auf vier oder drei,
was bedeutet, dass es richtig funktioniert. Wenn ich das schicke, gehe
ich auf vier oder drei, Und wenn ich die Protokolle sehe, kann
ich sehen, ähm, ich schätze, es hat das nicht gedruckt, weil es ah sehen, was es tut. Wenn es also ist, wenn es von diesen keins ist, dann gibt es das für drei zurück. Damit wir die Idee nicht im Geheimen abdrucken können. Also, das funktioniert gut. Aber jetzt sagen wir diese Header. Ich bin nicht hier drin, also sieh mal, wie wir Schlüssel und Wert haben. Also hier, wir werden sagen, X hoch ich bin IHS Ah, wir sagten Jorge, richtig? Also, Jorge, es ist genau wie der Benutzername. Und lassen Sie uns das einfach schicken. Schicken wir nicht das Geheimnis, um zu sehen, was jetzt passiert. Wenn ich das schicke, bekomme
ich noch eine 43 und erhalte das Schloss. Sagen Sie etwas. Perfekt. So sehen Sie, wie es den Header hier druckt, das Jorge Bodied Sprichwort bekannt für ihre für die App Geheimnis. Also lasst uns das nochmal machen. Und diesmal ist es auch. Die falschen Passwörter würden das Passwort sagen. Wieder 123. Schicken Sie es. Ich bekomme ein verbotenes dann Jetzt sehe ich die zu ing da, aber es ist immer noch nicht die richtige Kombination. Also endlich, wenn wir die richtige Kombination einstellen, was mein Geheimnis ist, und dann schicken, bekomme
ich 200 okay, und ich verstehe die Leiche. Ich sehe, dass die Haustiere zu mir zurückgeschickt werden. Ähm, perfekt. So funktioniert
die Standardauthentifizierung. Ähm und, ah, wissen
Sie, das ist eine sehr gute erste Einführung, wie wir die
A-P-i-ah-Autoritätsprüfung auf unserer Haustieranwendung einrichten wollten.
16. Token Model und API: in diesem neuen Abschnitt beginnen
wir mit dem Erstellen der rial token basierten Anwendung. Und so werden wir anfangen, daran zu arbeiten, indem wir modernen TV verwenden, um diese APS auf den
Anmeldeinformationen zu speichern und auch Token zu speichern, die, wie Sie asi nein, aus der vorherigen Erklärung eine Erkundung haben, um, auf diesen Token. Also fangen wir an, daran zu arbeiten. Okay, beginnen
wir mit der Arbeit an den Modellen für die App, ähm, oder den Ups, die in der Lage sein werden, ähm, Protokollierung oder Zugriff auf die Endpunkte. Es ist, wo ich ein Modell B y erstellen und in diesen Modellen Leute, Ich werde zuerst die folgenden einrichten, Wir importieren nicht die Abgabe aus der Anwendung, Dann werden wir ein Modell für die APS erstellen, und das Modell ist Ich werde ein Nickerchen machen. Ich... was so sein wird, als würden sie ihren Namen benutzen. Und dann werden wir auch ein geheimes Geheimnis haben, das wie das Passwort sein wird. Und wir werden das Ass nach oben indizieren es gibt ein Modell, das wir erstellen werden, oder die andere Sammlung wird die Axis-Kollektion sein , in der wir
die Token aufbewahren, also wird es ein Nickerchen haben, was ein Fremdschlüssel oder Referenzfeld sein wird, wie wir sie unter Go aufrufen, Wir werden ein Token haben, das nur eine Zeichenfolge sein wird und schließlich in einem Geschäft war. Das Ablaufdatum für diese Token. Perfekt. OK, nein, lassen Sie uns an der a p I für die App arbeiten. Und so werden wir sagen, dass dies die A P ist ich b y duckte und was wir hier tun werden, werden
wir die beiden Klassen haben. Möchten Sie mit der Up-Erstellung interagieren und eine andere für die Tolkien-Schöpfung, die der Zugriff A B I sein wird. Und es ist in Ordnung, wenn Sie mehr als eine AP I-Klasse auf eine einzelne Datei setzen, also lasst uns anfangen, daran zu arbeiten. Also werden wir,
ähm, ähm, die Methodenansicht von Wohnungen Ansichten importiert haben. Dann brauchen wir eine Anfrage, ähm, an Bord und Jason. Wenn ich von Flask, werden
wir die B-Krypt-Bibliothek benutzen, und wir werden auch das Jahr haben, dass ich zwei tolle Token habe. Und schließlich die Tages- und Zeit-Delta, um die Token-Validierung zu überprüfen. Also werden wir das Modell aus AP importieren. Ähm, sowohl die Aufwärts- als auch die Achse. Das sind also erste Klasse. darin Und wir werden sitzen unddarinfunktionieren,
was sagen wird, wenn die Anfrage keinen Jason hat,
lasst uns einfach an Bord gehen, das direkt vom Fledermaus abnimmt. Wenn die Anfrage Jason drin hat und wenn nicht, dann sollten wir nicht mit der Klasseninstanz,
Luftfahrt, weitermachen , dann definieren wir keine Post-Methode, und das erste, was wir überprüfen, ob wir oben oder bis geheim in der Anfrage selbst . Jetzt beachten Sie, dass wir das nicht mehr auf den Headern übergeben. Wir geben dieser Leiche an, weil wir jetzt den richtigen Weg machen und etwas, das Sie hier sehen werden. Ähm, ich werde anfangen, Fehlercode zu verwenden. Und diese Ära Mäntel sind in der Regel mache ich sie Strings von Großwörtern mit auf diesem Kurs dazwischen, so dass es irgendwie wie eine Konstante ist und der Client tendenziell auf diese Fehler überprüft. Wenn wir also keine Geheimnisse haben, dann geben wir einfach einen Fehler zurück. Dann werden wir überprüfen, ob die APP bereits existiert. Also werden wir den Mongo treffen, um Objekte zu bekommen, die das gleiche nach oben haben, i d Wenn das oben existiert, dann werden wir auf Sendung zurückkehren sagen, dass die oben, die ich d bereits existiert, habe ich bemerkt, Cold Air 400 verwendet. Jetzt haben wir unsere andere, also sind wir gut zu gehen. Wir werden die Anmeldeinformationen erstellen. Und eine Sache, die ich hier machen werde, werde
ich das Passflugzeug nicht aufbewahren, weil das wie normaler Reisepass ist. Ich werde entschlüsselt werden, so dass, wenn jemand böswillig die Datenbank hackt, er keinen Zugriff auf die tatsächlichen Passwörter hat. Und sie sollten immer Ihre Praxis sein, wenn Sie mit Passwörtern arbeiten, auch wenn seine App-Passwörter auf ah, auf einem p I-Server. Und jetzt, endlich, erstellen
wir das App-Objekt mit dem up i d und unserem gehashten Passwort, und dann wird schließlich ein Ergebnis in Ordnung, zurück an den Client und bemerken, dass ich hier nichts zurückgebe. Ich sage nur Ergebnis. Okay, das wird jetzt ein 200 sein. Das nächste, wenn ich arbeite, ist die Token-Seite der Dinge. Also lasst uns anfangen, daran zu arbeiten, wird der Zugang A P I genannt und wo das
Gleiche tun . Wir haben nicht drin. Welche Schecks? Wenn die Anfrage Jason leer ist, würde ein 400 zurückgeben. nun Lassen Sie unsnuneine Post-Methode definieren. Nun, der Beitrag hier wird sein, ein Token zu erstellen. Also werden wir überprüfen, ob es kein Geheimnis in der Leiche gibt. - Und jetzt bekomme ich, ähm, eine Fehlermeldung für den Klienten. Als nächstes werde
ich überprüfen, ob die APP existiert. - Und dann sonst bedeutet es, dass ich die App gefunden habe, die ich d. zuerst werde
ich den Fehler dort vier oder drei zurückgeben. Und hier werde ich das Token generieren. Wenn Thea, wenn das Passwort ist, richtig
ist, werden
wir mit der B-Krypt-Bibliothek überprüfen und das nehmen, das ist gleich unserer
Datenbank über das geheime Geheimnis, das von der Datenbank zurückkehren würde. Also, wenn es ist, wenn es durchgeht, dann existieren wir mit dem kleinen Die vorhandenen Token verursacht diejenige, die wir sagen , dass das neue gültige für diese App ist. Also werde ich nur alle Zugriffstoken erhalten, die mit dieser App und den Lippenbegriffen übereinstimmen. Wenn ich das nächste Mal ein Token mit der U I.
D-Bibliothek erzeuge , werde
ich die Token-Zeit festlegen, Toby. Und wie wir sagen können, werden
wir das Sie benutzen, um zu sehen. Und als ich sagte, dass Sekunden und Mikrosekunden Toby Zero nur an Stunden und
Minuten interessiert waren . Und wir werden das Ablaufdatum festlegen. Toby, 30 Tagen. Schließlich speichere ich diese einzige Datenbank selbst Namen, wenn ich diese
gespeichert und ich möchte die generieren, um RFC 3339 Was ist Theo? Verlängern. Irrte für eine p A s A p Eis, auch. Entschuldigung. Rückgabezeit für Fäustlinge in ah, in einem PS. Sie sollten dies also verwenden, wann immer Sie möchten. Ich benutze ah, tagsüber ist auf Ihrem a p I also werden wir das Token zurückgeben und wenn es abläuft. Und hier haben wir noch einen. Also Pass sie auf? Was ist nicht richtig? Das geheime Geheimnis. Also werden wir nur sagen, ähm hat einen Fehlercode mit falschen Anmeldeinformationen zurückgegeben und zurück zum Client mit
dem für drei dort. Okay, das nächste, was wir tun werden, ist, dass wir zurückkehren oder an den Ansichten von diesem
Punktarbeiten Punkt
17. Token API und Dekorator: Okay, also der nächste Schritt, den wir hier tun werden, ist die Erstellung der Ansichten B y für unsere App, ähm, Endpunkte. Und mit Blick, warum? Und das wird dem anderen Zeug ähnlich sein, das wir getan haben. Wir werden, ähm, eine Blaupause
machen. Also importieren wir den Blueprint aus Flask, und wir werden diese beiden Klassen aus dem a p i dot b y importieren wir unseren Blueprint erstellen
, der oben sein wird . Dann richten wir eine Ansicht mit der ask you Methode für plausible Ansichten mit dem AP AP I ein und schließlich werden wir die Regeln hinzufügen. Die 1. 1 wird also der Beitrag zum Erstellen einer App sein. Und denk dran, ein Nickerchen. Es ist wie ein Client, wie ein Benutzername und Passwort. Und dann haben wir Zugriffsansicht, die Thea Other Ah ist, ein P I das die Token-Generation sein wird. Also werden wir die Regel hinzufügen und wir werden das das APS-Slash-Zugriffstoken nennen. Und Sie waren dagegen, wenn Sie ein neues Token erstellen möchten. Perfekt. Also, das ist, ähm, jetzt müssen wir diesen Entwurf zu unserer Anmeldegebühr hinzufügen Warum? Also werden wir importieren, ähm, von Ansichten importieren, und dann registrieren wir das hier oben. Ok. Damit können
wir zumindest anfangen, Token zu erstellen und, ähm, ähm,zu
generieren. Obwohl wir nicht überprüfen, müssen
wir einige Arbeit an den Dekorateuren machen, um zu überprüfen, ob das Token gültig ist. Also lasst uns weitermachen und ah, und daran arbeiten. Also gehen wir zu Dekorateuren B y und wir werden jeden Tag hier sein, um die Gültigkeit der Token zu überprüfen. Und wir werden auch die Up-Modelle benötigen, um den AP und die auf den überschüssigen Token abzurufen . Also werde ich das löschen, und ich will sagen, dass ich Theo der X bin und alles andere hier drin wird ein neues Zeug, neue Dinge. Also werden wir das APP-Token bekommen, das auf den Headern sein wird. Und das ist, wenn wir Esel Ex-App-Token übergeben. Und ich würde überprüfen, ob Thea Pi d es keine ist oder der Up-Token ist keiner wird ein vier oder
drei zurückgeben . Das nächste, was wir überprüfen, ob die App um i d existiert. Und wenn wir keine finden, dann werden wir auch eine 43 zurückgeben. Und schließlich schnappen
wir uns das Token, und dann sagen wir, wenn es kein Token gibt, das wir gefunden haben, dann geben Sie das Stockwerk drei zurück. Dann machen wir das,
äh,
den äh, Zugriffstoken. Es ist nicht das gleiche wie das App-Token, das wir gefunden haben. Dann geben wir es für drei einen Schwung zurück. Und schließlich überprüfen wir, ob das Token abgelaufen ist. Der Weg, das zu tun, ist, dass wir überprüfen, ob es niedriger ist als die Tageszeit, die Sie jetzt sehen. Und wenn das der Fall ist, dann werden wir keine leere Zeichenfolge zurückgeben. Aber wir sind nicht wirklich eine Fehlermeldung mit einem 43 Okay,
perfekt zurückgegeben . Also lassen Sie uns voran und testen Sie dies auf der APP
18. Bcrypt und bcrypt installieren: Okay, die letzte Lektion. Wir richten unsere Ansichten und den Dekorateur ein, um die Apsis registrieren zu können und auch überprüfen,
generieren und überprüfen
zu Token für die Achseüberprüfen,
generieren und überprüfen
zukönnen. Also lasst uns jetzt voran gehen und den Kuchen zu installieren, den wir
die Passwörter einbezogen haben und dann unseren Postboten einrichten,
äh, Test, um zu sehen, dass alles richtig funktioniert. Also gehen wir und machen das. Okay, gehen wir zu einem Anforderungen txt. Und wir werden hier eine neue
Bibliothek hinzufügen, die Pie Be Crypt genannt wird,
und das wird kritzeln für,
ähm und speichern Sie das. die Pie Be Crypt genannt wird, und das wird kritzeln für, Wie installierst du
Bibliotheken
, , nachdem der Docker-Container die Augen eingerichtet ist? Nun, Sie müssen nur, ähm, genannt Peep Installation Anforderungen von außen. Also es gegen hier beginnt der Container, weil er keine große Krypta darauf gefunden hat, eine p i p y liegend drei, die genau hier in Port Secret sein würde. Also, ähm, wir müssen das nur tun, um diese Bibliothek zu installieren. Also, was Sie tun müssen, ist, dass Sie tatsächlich rufen Sie den Arzt komponiert bauen und was dies wird es tun. Es wird die,
ähm alle Container wieder aufbauen . Aber die Datenbank wird Ihre Daten nicht ändern, wird tatsächlich ohne
Änderungen aufbewahrt werden . Und
der , Anwendungscontainer ist derjenige,der den neuen Stopp installieren wird, aber Sie werden sehen, dass er sehr schnell geht, weil er nicht das
Ganze erzeugt . Lassen Sie mich den Bildschirm löschen, damit ihr das besser sehen könnt, damit der Doktor ziehen,
verschüttet und sehen kann , dass er fast alles hält. Er geht gerade, um Anforderungen zu installieren. Und da drinnen gehst du, äh, es ist erledigt. Also haben wir Hecht Pie Krypta installiert werden. Jetzt können
wir weiterlaufen und wieder der Container
sein. Also gehen wir voran und machen die Postboten Endpunkte. Also werden wir hier einen neuen Ordner erstellen, der heißt, äh, App und das werden Sie die Endpunkte sein? Und, ähm, wenn ein Ende
ist, spart das nicht. Okay, das erste, was wir tun werden, ist, dass wir gegenüber dem lokalen Gastgeber posieren und es wird aufstehen und ah, lasst uns überprüfen, was der Wert sein sollte. Also mit Post, werden
wir sagen, wir brauchen... und haben ein Geheimnis als Jason Payload. Also werden wir Körper haben,
äh, äh, roh. Ich sagte, ich werde Jason sein. Und wenn ich i d habe, sagen wir, das ist die mobile App, auf die zugegriffen werden wird. Und Sie können an den Abszess anders denken. Wissen Sie, verschiedene Arten von Geräten oder wenn Sie eine P I Spotlight Sache sind. Eigentlich werden die
Leute ein Putting sein. Sie sind irgendwie wie ihr Benutzername und ihr Passwort. Also, Also, zum Beispiel, im Safe, Ihrem, äh, äh, E-Commerce, weil es besser ist. Vielleicht bin ich ein E-Commerce-Geschäft. Das ist Petco. Also wäre Petko hier, und sie müssten ihr eigenes Geheimnis wählen. Ähm, und die andere, die ich denke, sie werden das Geheimnis aussuchen. Also lassen Sie uns einen hier passieren, und wir werden diesen
Test nennen, äh, äh,sagte mir Nein,
dass, um sich anzumelden oder ein Token zu generieren, wir das Handy haben und testen. Also lasst uns das retten. Und das wird,
ähm, ähm, erinnern Sie sich an die Art, wie wir waren. Es wird gut. Ich wollte nur das Format überprüfen. Also werden wir diesen Arschposten speichern, neue
erstellen, und dann speichern wir ihn im Pets ap i App-Ordner. Okay, also lassen Sie uns hier nachsehen. Es läuft gut, und wir werden posten,
und da steht, dass er das, was ich sehe, nicht gefunden hat. Nein, ich glaube, es ist APS. So sieht sie krank auf seine Apsis. Richtig. Also buchstabiere ich das, vielleicht speichere das und schicke dann wieder. Ehrfürchtig. Also haben wir etwa 200 okay? Und das Ergebnis ist in Ordnung, was meiner Meinung nach passiert, wenn alles gut läuft, was genau hier ist. Also haben wir diesen Ah ah Hash an Bord erzeugt. Und Ah, und wir die meisten f um, speichern das auf der Mongodb. Also lasst uns gehen und überprüfen, ob das der Fall ist. Also gehen wir in Mongo db. Damit wir das überprüfen können, werden
wir hier einen neuen Tab öffnen, und wir werden im Grunde was tun,
Dr.
Außer, Dr. dass ich zuerst raus bin. Davor müssen
wir es überprüfen. Aber der Name des Containers ist jetzt. sehen Sie
, , Hiersehen Sie
,dass das Bild Betsy FBI Web heißt, aber der Name des Containers ist eigentlich Haustiere. AP I Web Ron 15. Das liegt daran, dass wir das mit Web-Ports ausführen. Erinnern Sie sich, wie wir das mit dem Service Sport Web laufen? Wir kommen hier nicht vorbei. Der Name. Also, ähm, Docker wählen im Grunde eine Nummer für uns, und ich denke, es erhöht sich eins nach dem anderen. Sie müssen also den Containernamen vor Ihnen überprüfen. Sie haben diesen Befehl ausgegeben. Du kannst es auch mit einem Container machen,
aber weißt du,
es liegt an dir. Du kannst es auch mit einem Container machen, aber weißt du,
es liegt an dir. aber weißt du, Also werden wir das tun, Doktor, außer ich und den Namen des Containers. Und dann werden wir hier setzen, was auch immer Kommando wir in diesem Fall verwenden wollen, wir werden Mongo mit der Host Mongo db machen. So würden Sie sich vom Anwendungsserver aus mit mongo db verbinden. Also, wenn ich das da drin tippe Ah, sieht
es so aus, als hätte ich falsch geschrieben. Also vielleicht ist es nicht Alter sein Gastgeber. Lassen Sie mich das überprüfen. Richtig. Es ist Gastgeber. Also lass mich die Haut und ihren Wirt so reinigen. Da gehst du. Also jetzt sind wir mit unserer unter go db Instanz verbunden, können
Sie zeigen, dass die Bienen und Sie Haustiere haben. Ap ich da. Also verwenden wir das ist ein P I. Und dann zeigen wir Sammlungen und Sie sehen, wie wir App jetzt haben. Das ist also unsere Up-Sammlung, die wir aus dem Endpunkt erstellt haben, den wir gerade gemacht haben. Also, wenn ich das tue, werden
sie wach sein. Finden Sie dort, gehen Sie. Du siehst also, wie wir ein i d haben , das erzeugt wurde. Das ist unter wäre i. D. Dies ist die Anwendung i d s mobile und das Geheimnis. Wie Sie hier sehen können, ist
es von B crypt codiert. Also das ist perfekt, weil wir wissen, dass es Test ist, oder? Es ist, ähm es ist, dass die Obsequies testen, aber in der Datenbank, es ist keine Statusgeschichten gespeichert, acerbic Witz. Und das ist eine gute Praxis, um immer. Wenn Sie mit Passwörtern und oder solchen Dingen zu tun
haben, sollten Sie diese Dinge definitiv nicht im Klartext speichern, sondern eine große Kryptbibliothek verwenden. Ehrfürchtig. Also, ähm, lassen Sie uns einen Token generieren, und ich lasse das Fenster dort, falls wir etwas anderes überprüfen müssen. Ähm, also ein neuer Endpunkt hier, also werden wir das einfach also ein neuer Endpunkt hier,
also werden wir das einfach
duplizieren und es wird sein,
ähm,ich erinnere mich an den Endpunkt Waas. duplizieren und es wird sein,
ähm, Lassen Sie uns in Ansichten sehen. Okay. APS Zugriff Toking. So APS Akte des Stoking Perfect. Und was musstest du, äh, posten? Ich glaube, es war das, hier zu sagen, es war die Uppity und das Geheimnis. Also ist es im Grunde dasselbe. Wir können das so weitergeben, wie wir es dort haben, aber speichern wir das, ähm, sparen. Und wir werden dies umbenennen, um neue up sprechende Update zu erstellen. Ehrfürchtig. Also lasst uns diesen Beitrag machen und sehen, was wir bekommen. Ehrfürchtig. Also haben wir 200 okay? Und wir haben abgelaufene 2017 generieren 26, die in einem Monat ist. Und dann ist das Token das du du i d. Und wieder, wenn wir zu unserem Munger gehen, um zu sein und jetzt zeigen
wir Sammlungen, werden wir sehen, dass wir jetzt Zugriff haben. Und wenn ich db-Zugriff tue, finden Sie dort. Ich habe das i. D. das Objekt i d. Oh, was ist der Zugang? Nein, der App-Fremdschlüssel. Richtig. Und dieses Objekt, das ich gehört oder korreliert mit diesem hier. Und das Token ist Gewebe. Ich d und läuft ab und sehen, wie es ist es Store STIs auf einem I o u i i s o Datum. Weil Munger in der Lage ist, diese Form es so genial zu handhaben. Wir haben unsere Token-Generation. Und was wir jetzt tun wollen, ist, dass ,
ähm für jede,
ähm, für jede einzelne Anfrage wir
für jede,
ähm, für jede einzelne Anfrage,
das Reden hier passieren müssen . Lasst uns das oben offen lassen. Und lassen Sie uns einfach versuchen, ein jetzt bekommen alte Haustiere und Punkt. Aber jetzt müssen wir die,
ähm,
auf den Kopfzeilen verwenden ähm, . Wir müssen das benutzen,Wissen
Sie,
dieses Wissen
Sie, Token und die oben... Aber lassen Sie uns gehen und kopieren das und sie bekommen alle Haustiere in Punkt. Wir haben einen Schlüssel namens X Up I D ,
und das wird mobil sein. Und dann wird der X-Up-Token das Token sein, das wir gerade kopiert und eingefügt haben. Um, schauen wir einfach einen Moment nach, ohne das zu passieren und sehen, was passiert ist. Also, wenn ich besitze klicken, dass diese Header nicht gesendet werden und wir können überprüfen, was
dort passiert und sehen, ich bekomme jetzt. Ah, 43 verboten. Und das bedeutet,
dass es in die Dekorateure
geht. Es ist nicht das ideale Token zu bekommen. Nun, mal sehen, was passiert, wenn ich die i d übergeben habe. Ich bekomme immer noch eine vier oder drei, und dann mal sehen, ob ich das falsche Token mache. Also statt E am Ende hier, werde
ich nur sagen, f Okay, senden. Das Gleiche. Ich bekomme ein Verbotenes. Das bedeutet, dass, ähm , wissen
Sie, das überprüft die App,
und dann überprüft es, dass das, um das Token ist nicht das gleiche, ähm, wie sie sprechen, dass Wir haben hier. Das ist also auch eine 43. Endlich Endlich geht
es schnell. Das richtige Zeichen. Dann senden und sehen. Ich bekomme 200. Okay? Und jetzt sehe ich die Liste von Streicheln hier, wie erwartet. So perfekt. Wir haben unsere Authentifizierung, ähm, Schicht integriert. Und, äh, jetzt werden wir anfangen, ein paar Tests dafür zu bauen. Für dieses Stück des A P I
19. Entwicklung der App-Tests: Jetzt, da wir unser APS-Tokensystem kein Autorisierungssystem haben, lassen Sie uns voran und bauen Tests, weil wir bisher keinen Test erstellt haben. Und es wird ein guter Einstieg sein, wie wir Tests für AP,
Augen im Allgemeinen und speziell für Wohnungen setzen oder erstellen . Das FBI ist also fangen wir an. Okay, also machen wir voran und erstellen die Tests. Ah, hier testet die Datei B y, und ich werde kopieren und einfügen, weil dies etwas ist, das Sie in anderen Kursen gesehen haben weniger Kurse, die getan haben, und es ist ziemlich dasselbe. Also haben wir hier
eine Anwendungsfabrik eingerichtet . Wir richten die Mongol-Engine ein, erhalten die B-Importeinheit, Tests, Import und einige andere Dateien. Und ich bin auch Importieren von Up-Modellen geschehen Achse, und ich bin immer mehr Host von den Einstellungen zu sein. Dann erstelle ich meinen APP-Test. Ah, Unit-Testfall
, der ah typischerweise eine Create-up-Methode hat, die es mir ermöglicht, die Anwendung
selbst schnell einzurichten . Dann mache ich eine Einrichtung, die, ähm, nur diese Methode verwendet und eine neue App erstellt. Und dann habe ich eine Träne Ach, die den aktuellen Fernseher bekommt, den ich gerade erschaffen habe, und dass diese Epen fallen lassen, weil ,
wie Sie wissen, wir,
wie Sie wissen,bei jedem Test von Grund auf neu beginnen wollen. Also, ähm, Auf- und Abreißen wird von jedem einzelnen Test aufgerufen werden. Schließlich haben Sie ein App-Wörterbuch mit einem Sie wissen,
Dummy-Back-Zeile erstellt und das Geheimnis, dass wir an die verschiedenen ah übergeben werden, Testfälle. Und wie Sie sehen können, gebe ich einen Jason Dumps zurück. Dies ist eine, ähm, eine Funktion aus der Jason-Bibliothek, mit der Sie ein Jason-Objekt aus einem ah erstellen können, entweder einer Zeichenfolge oder einem, ähm oder in diesem Fall, einem Wörterbuch, das ich mit dem Python-dicked uhm Ki Station oder Funktion. Also, das ist der Anfang davon an. Und dann werde ich mit dem eigentlichen ersten Test beginnen, der Ersteller-Test ist. Okay, also unser erster Test wird der Create-App-Test sein, also lasst uns das machen. Also erstelle ich eine grundlegende Registrierung, die das App-Wörterbuch verwendet, das wir auf der,
ähm auf der,
äh auf der Klasse selbst erstellt haben ähm auf der, . Also veröffentlichen wir das einfach in die Apsis und zeigen mit den Daten aus dem Wörterbuch. Und das ist eine sehr wichtige, die wir haben, um den Inhaltstyp in dieser Anfrage übergeben. Und das wird die Bewerbung sein, Jason. Also die Behauptung hier wird sein, dass der Statuscode 200 ist, was bedeutet, dass die Anwendung waas richtig erstellt wurde Okay, lassen Sie uns jetzt simulieren, dass wir ein fehlendes App-Geheimnis haben und überprüfen, dass eine
Fehlermeldung zurückgibt . Ähm, also werden wir das haben, das wir aus der App neu erstellen, ähm, Wörterbuch, aber wir werden den geheimen Teil davon vermissen. Und jetzt werden wir auf die Apsis und den Punkt posten, und wir übergeben das Wörterbuch, das nicht das Geheimnis hat. Und schließlich behaupten
wir, dass es das up i d oder Geheimnis fehlt, und das ist die Luftmeldung, die von der A P I p.
Y Perfect weitergegeben wird . Ok. Und das Letzte, was wir tun werden, ist,
wennwir ,
wenn die Registrierung
wiederholen. Also werden wir das Gleiche sagen. Senden Sie das gleiche Wörterbuch nach oben. Also richten wir das Wörterbuch hier ein, setzen die Inhaltstyp Verpflichtung, Jason, und wir sollten aufstehen. Ich existiere schon. Okay, also lasst uns das testen oder die Statistiken ausführen und sehen, wie das gemacht wird. Also, zuerst werde ich das speichern, und ich sollte einige dieser Wasserhähne abschließen, und ich werde eine A Top-Level-Tests erstellen, warum? Das wird der Läufer sein. Und du hast gesehen, dass ich es schnell durchmachen werde. Ähm, wir haben zuerst den Weg gesagt. Dann werden wir Komponententest importieren und dann den Test importieren, den wir gerade erstellt haben und dann Komponententests ausführen. Das Haupt. Also, wie führen wir den Test durch? Nun, wir müssen herausfinden, wie der Name des Dockers ist, äh, äh,
Container. Also lassen Sie uns das überprüfen. So verbringt es eine p i Web, Ron 15. Und ich werde die folgenden Dr. ex sec I t Haustiere ap I Web Run 15 das ist der Name
des Containers hier zu tun . Und ich tippe einfach Python drei Tests B y ,
also sollte das laufen. Das ist, damit sie sehen, wie das läuft. Perfekt. Wir haben also etwas veraltet. Warnung. Jason hat sich getrennt. Besorgen Sie stattdessen Jason. Das ist aus der Flasche, ähm, Paket selbst von der Arbeit,
also und wird so eine von Mongo Engine bekommen,
was wieder eine Veraltungswarnung ist. Paket selbst von der Arbeit, also und wird so eine von Mongo Engine bekommen, Aber wir sehen, dass wir hier einen kleinen Punkt haben und es hat einen Test in eine Sekunde durchgeführt. Also, das funktioniert perfekt Spaß. So großartig, dass wir unseren ersten Test laufen und jetzt gehen wir weiter und arbeiten weiter
am Abszess.
20. Token: Also lassen Sie uns weitermachen und weiter am Test arbeiten. Also, jetzt werden wir die einige Token-Test machen. Also fangen wir an, das zu tun. Die erste 1, die wir tun werden, ist, dass wir die sprechende Generation testen. Also werden wir Tuapse mit dem AB-Wörterbuch posten und einfach großartig sind unsere erste App. Und das nächste, was wir tun werden, ist, dass wir ein tatsächliches Token erstellen, und das tun wir durch den Zugriffstoken und Punkt, und dann holen wir uns das Token von der, ähm von der Rückkehr, Jason. Aber sehen Sie, in diesem Fall laden
wir die Daten, die für den zurückgegebenen Wert für den
Antwortwert zurückgegeben werden. Wir nehmen es mit der Pflicht auf, wenn acht. Und dann bekommen wir das Token. Ähm, ah. Hab Eigentum oder das Token, äh, Stück von der Jason. Das ist kostenlos im Gegenzug. Ähm, und der Test hier drin wird sein, dass sie reden. Ist es nicht. Nicht so. Wenn das Token ist, ist es nicht, dann bedeutet das, dass die Tess versagt hat. Der nächste Test, den wir tun werden, ist, dass wir testen, wenn wir das
geheime Geheimnis verpassen , dann werden wir überprüfen, ob das Token nicht funktioniert. Und wir werden auch überprüfen, ob das geheime Geheimnis falsch ist. Und so übergeben wir das falsche, wissen
Sie, bis geheim und oben, oder in diesem Fall, die 1. 1 ist
das Es ist das, was wir das geheime Geheimnis vermissen. Und im zweiten Fall vermissen
wir den oder den Bericht, der A falsch übergibt. Absolut. Also diese 1. 1 es war eine Rückkehr fehlt bis i d. Europa Geheimnis, und der nächste wird sagen, falsche Anmeldeinformationen. Das nächste, was wir testen werden, ist zu sehen, dass das Token funktioniert, Umgehung des richtigen Token. Und wir sollten 200 da rauskommen. Und wir werden auch testen, ob wir das falsche Token bestanden haben. Wir versuchen, die Haustiere mit einem falschen Token in Punkt zu bringen, also sollten wir eine vier oder drei von dieser Anfrage bekommen. Der letzte Test wird ein Ablauf-Token sein. Also werden wir , versuchen,in 31 Tagen Zugriff zu machen und wir werden jetzt versuchen, mit dem vorhandenen Token, und das wird bereits abgelaufen sein. Also sollten wir uns unterhalten. Abgelaufen in der in den Daten. Also, das war's. Das sind all die Tests, die sie für die APP erstellen würden. Gehen wir weiter und führen die Tests durch. Also gehen wir voran und gehen Sie zum Terminal, wenn ein löschen Sie den Bildschirm hier und denken Sie daran, dass Ihre ,
uh, Docker-Container sollten sowohl e um, die Munger auf der Anwendung sein. Also werden wir wehtun. Gehen Sie weiter, Doktor. Genau. I t Haustiere AP I. Weber auf 15, die der Name des laufenden Containers Bison ist. Drei Tests,
P. Y. perfekt. Wieder. Wir erhalten einige Veraltungswarnungen,
aber nichts, worüber man sich Sorgen machen muss. Ah, aber es steht, dass es zwei Tests in vier Sekunden durchgeführt hat und alles in Ordnung ist, also ist das. Das ist es für die Apsis. Und wir sollten jetzt anfangen, an den Läden zu arbeiten und auf die FBI-Seele hinweisen. Lassen Sie uns anfangen, daran zu arbeiten
21. den Store Endpoint starten: wir haben gerade die Arbeit an der Apsis und Punkt beendet. Und jetzt werden wir anfangen, am Endpunkt des Ladens zu arbeiten, der die physischen Läden beschreiben wird, in denen wir unsere Betten zur Verfügung haben werden und letztendlich werden wir Haustier zugewiesen oder damit in Verbindung gebracht haben. Also fangen wir an, an den Läden A p I zu arbeiten. Und natürlich beginnen
wir mit den Blaupausen für vier Läden. Mal sehen, wie wir das machen. Ok? Das erste, was wir zu einem gehen ist, werden wir einen neuen Ordner hier namens Haustiere erstellen. Ich meine, Shop tut mir leid, Shop, und wir werden einen NDP erstellen. - Warum? Damit wir das ein Telefonmodul importieren können, und das nächste, was wir tun werden, wird einen Blick haben, B. Warum? Und wir werden etwas Ähnliches tun wie das, was wir vorher gemacht haben. Welche Augen, um den Speicher eine p i,
um,
Datei zu um, erstellen und dann einen Blueprint daraus zu erstellen und dann die Ansichten für, um, die Geschäfte und Punkt für die get und post für Geschäfte sowie sowie sowie wir werden Enable get put und Elite vier Geschichte die Dies ist das erste Mal, dass wir setzen in die Führung. Das wird also ziemlich aufregend Port. Es wird verwendet, um die Läden zu aktualisieren und die Führung wird für die Führung in den Läden sein. Also lassen Sie mich das sagen, damit das die Ansichten sind. Und lass uns weitermachen und die Modelle B y erstellen und er wird
auch etwas ziemlich Standard sein. Also haben wir den Laden mit einer externen, die ich eine Nachbarschaft haben werde, eine Straßenadresse, einen Stadtstaat und einen Schluckcode und die volle Nummer und wir werden auf Indizes auf externen
wie die jetzt haben . Eine Sache, die hier zu bemerken ist, dass, , Bei den Haustieren,als wir waren, hatten wir die Haustiere. Anfangs, natürlich, wir speichern dies aus der Datenbank, aber wir hatten, wie diese ich d, das war 123 Jetzt hier konnten wir X Tex drehen wie der Manga zu sein I D. Aber es ist wirklich keine gute Sicherheitspraxis, um Ihre ah internalisiert die Ihre wie Mongo db i d. Oder noch schlimmer für meine Fortsetzung, ich d. Also immer so etwas wie ein externes I d, das Sie generieren werden. Und nochmal, wir werden dich benutzen. Seid ihr Ideen dafür? Aber das ist eine sehr wichtige, wie Sicherheit Sache, die Sie immer achtsam sein sollten, ist, immer extra wie
diese zu haben , wenn Sie wollen, ähm, erlauben Sie Menschen, diese Objekte auszuwählen.
22. Die JSON Schema Bibliothek: Nun, als wir anfangen, an der Geschichte p I Eine Sache, die speziell für mich war waas das Validierungsstück. Also, jetzt haben wir ein sehr komplexes Geschäft, ein Modell, das all diese Felder hat, wissen
Sie, Straße und sitzen Code und Nachbarschaft und solche Dinge. Und ich wollte sehen,
wie er diese und einen Ansatz
validieren könnte , ,den ich darüber nachgedacht habe, Waas irgendwie wt t-Formen zu hacken , obwohl sie technisch keine Formen sind, die wir validieren, vielleicht auf ihrer Validierungsklassen und fest, dass. Aber dann begann ich, wissen
Sie, über eine andere Bibliothek
nachzudenken, dass
es hübsch ist, Es ist ziemlich nützlich, und es wäre gut für dieses Projekt passen. Und ich denke, es ist
auch wirklich gut im Allgemeinen, auch wirklich gut im Allgemeinen, wenn Sie
Jason-Objekte und Bibliotheken haben wenn Sie
Jason-Objekte und Bibliotheken haben,
uh,
Jason Schema genannt,
und wir werden eine schnelle ,
uh,
Jason Schema genannt uh, , Sieh es dir an. Ähm, eine Sache, die Sie bemerken werden, ist, dass Jason Schema auf einem Vorrat aus der Bibliothek installiert werden kann . Und, ähm, wenn wir uns das Beispiel hier ansehen, ist
es perfekt für eine A-P-I-Validierung, um ein Programm, denn wir können, ähm, wir haben eine sehr flexible Art wie Schemadefinition, und wir können definieren, wissen
Sie, dass die Dinge Strings sind, also sind sie wie Zahlen und Dinge erforderlich sind, wie Sie aus diesem Beispiel sehen können. So gibt es hier viele Beispiele, die sie durchlaufen. Aber ich gehe nach Korea. Ein kurzes Beispiel für uns, um Ihnen das Jason-Schema näher zu bringen. Meine Bücherei. Bevor wir etwas tun, jedoch brauchen
wir
jedochbei dieser Bibliothek eine Anforderung 60. Also werden wir Jason-Schema haben, ähm, mit dieser Version dort. Und wir müssen den Besitzer auf unserer Tochter installieren, ähm, Container. Also werden wir die Container wieder bauen. Also lassen Sie mich den Bildschirm löschen, und es wird das Jason-Schema installieren. Meine Bücherei. Großartig. So können wir den Container wieder ausführen, und es ist los und erstellen Sie eine schnelle Datei hier, die wird. Ich würde es nicht auf dem,
ähm,
im Repository speichern ähm, , aber nur damit ihr es seht? Also, ähm, wie ich Jason Schema würde aussehen und lassen Sie mich das ein bisschen mehr auf die linke Seite setzen . Ähm, also müssen wir von Jason Inhibing importieren, schlechte Validierung. Und dann können wir ein Schema von einem Objekt haben, gegen das wir validieren wollen. Also in diesem Fall ist
dies eine Art von Objekt, und die Eigenschaften sind Preis, Name und externe, wie der und erforderliche Preis und Name. Also von diesen Feldern aus diesen Eigenschaften, sobald ich unseren Preis und Namen gefragt, hier beschrieben und bemerken, dass wir ein perfektes,
um,
Muster für Sie Idee haben um, . Also erwarten wir, dass sie
die Eingabe oder das Jason-Objekt dieses Format haben und dann die Art und Weise, wie wir Sie
,
ähm,
Sie ,
ähm, validiert haben, ist er gerade „Validate“ genannt? Du hast das Objekt gesetzt. Also, das ist unser hier und Sie vergleichen es mit dem Schema und Sie bekommen,
ähm, entweder eine, entweder eine Sie wissen schon, einen Erfolg oder eine andere Nachricht. Also lasst uns das aus schnell laufen, also werde ich es tun Oh, tut mir leid, habe ich. Da gehst du. Ich habe einen Streit auf drei, und wir sagen Valle Test B Y , also habe ich jetzt wohl einen anderen Namen, richtig? 16. Entschuldigung. Oh, das ist so, es ist jetzt 16. Okay, also habe ich keine Antwort bekommen,
was bedeutet, dass es validiert wurde. Aber zum Beispiel, sagen
wir, dass ich hier keine Eier gebe und das speichere und dann mache ich es wieder. Sehen Sie, ich bekomme ah, äh Validierung erforderlich in Schema und, äh, und es sagt die erforderliche Preis- und Namenstyp-Optik. Also im Grunde ist
der, der, wissen
Sie, wissen
Sie,
der Validierungsfehler, den ich von dort greifen kann, dass der Name eine erforderliche Eigenschaft ist. Sie können also sehen, dass es eine sehr flexible kleine Bibliothek ist, und wir werden es für einen Store in Point verwenden und eso Wir werden dieses Schema
für den Laden definieren . Mal sehen, wie wir das machen. Also lasst uns weitermachen und unsere Läden erstellen, Chema, und lasst uns das hier wieder reinlegen und ich werde diese Datei das Schema p y nennen und hier ist das Schema. Also habe ich Es ist ein Typobjekt, und dann haben wir Eigenschaften Neighborhood Street, Adresse City State und sehen, wie ich benötigt werde, dass es ein zwei-Buchstaben-Großbuchstaben ist. Dies ist ein regulärer Ausdruck. Ich glaube, dass wir in der Vergangenheit ein bisschen davon gesehen haben. Wir haben auch einen Schluckkern
, der fünf Zahlen sein soll, und wir haben auch ein Telefon, das eine Art wie die Vorwahl hat und dann drei Ziffern und dann vier Ziffern mit Bindestrichen dazwischen. Also, wenn etwas nicht mit den Dingen übereinstimmt, die eine Luft bekommen würden, und ich sage , dass alte von allen Eigenschaften benötigt werden, also das ist, ähm, das wird das Schema sein, das wir verwenden werden. Die andere Sache, die ich hier verwenden werde, um das A P I zu erleichtern. Ist das Konzept aus einer Vorlage? Also schon wieder? Weil es so ein kompliziertes Objekt ist. Ich will nicht jedes Mal die Jason-Objekte bauen. Also, was ich tun werde, ist, dass ich eine Vorlage b y mit zwei Funktionen erstellen werde. Eines wird dieses Store-Objekt sein, das, wenn Sie den Speicher von der Mongol-Engine oder dem
Mongo-DB-Objekt an ihn übergeben , zurückgegeben wird. Weißt du das gut? Ähm, irgendwie adressiert oder formatiert, ähm, Jason-Objekt, das das i.
D.hat D. ,
den Stadtstaat der Nachbarschaft usw. Und ich kann dort jede Art von Transformationen machen. Und wie Sie sehen können, habe ich auch schon einen Link Abschnitt dort drin. Das bedeutet, dass jedes Mal, wenn ich das Jason-Format ändern muss. Ich kann es hier sehr leicht machen. Und auch für die Geschäfte, wenn ich die Geschäfte habe, Ähm, wie eine Abfrageliste. Ich werde Folgendes tun und niemals A zurückgeben Ich werde ein Array Kühlhäuser haben, und ich werde die Geschäfte wieder an den Benutzer zurückgeben. Nun, eine Sache ist, dass dies ein vorübergehender Zustand ist. Ich werde das nachher ändern. Nun, sieh mal, warum wir anfangen, Phantasie zu nutzen. Aber vorerst werden
wir das leben. Ah, irgendwie wie ein Platzhalter für uns, zu dem wir zurückkommen können. Okay, also denke ich, wir sind bereit, an der A P I speziell zu arbeiten. Also lasst uns das machen.
23. Die Store: Okay,
jetzt, da wir Jason Schema gesehen haben, wie es sehr nützlich für uns sein wird, den
Benutzer oder die Client-Eingabe auf dem A P I zu validieren . Jetzt gehen wir weiter und beginnen, an der A p I für die Geschäfte zu arbeiten. Also lasst uns anfangen. Okay, also lasst uns die A-P-I-Datei erstellen und wir werden also lasst uns die A-P-I-Datei erstellen und wir werdenhier ein paar Importe
machen. Also importieren wir Kolben, Methodenansicht,
und, und, ähm, einige der Ausarbeitungen, die wir von Flaggen wie der Sonne gesehen haben. Wenn ich schreibe Anfrage an Bord Rendervorlage auch du ich d und Jason und diese letzten sind neu in Begriffen aus, wie wir sie nie benutzt haben. So wird einer der Jason Schema-Entwurf für Validator genannt, und der andere heißt Jason Schema Punkt-Ausnahmen importieren beste Übereinstimmung, Also werden wir sehen, wie wir sie in ein wenig verwenden. Wir werden auch Thea Dekorateure haben. Ah, die oben erforderlich ah, importieren Sie die Modelle aus dem Laden und wieder, dies letzte zu einem Geschäft Schema. Mein Importschema und Store-Vorlagen, Import Store-Objekt und Store-Objekt sind eine Art wie neue Verwendung. Aber wie Sie sagen können, hängt
dies mit den Shop-Vorlagen zusammen, die wir hier haben. Ähm, wo wir die verschiedenen Vorlagen für das einzelne Store-Objekt und das,
Sie wissen, Sie wissen, das Pluralspeicher-Objekt haben. Und auch wir haben das aus dem Shop-Schema, und wir werden das Schema auf importieren. Wir werden die Ablehnungseingabe mit dem Schema vergleichen. Also mal sehen, wie wir das machen. Also, hier werden
wir lagern. Wir werden mit dem Klassenladen Ap I mit seinem Dekorateur dabei sein. Und nochmal, wir werden überprüfen,
ob es keine Bitte
gibt, keine Bitte
gibt, Jason. Dann sind wir an Bord 400. Wenn es keine Get Anfrage ist, dann werden wir die Get,
ähm,
Methode durchlaufen ähm, . Und wenn auf der get-Methode eine Story d übergeben wird, dann wissen wir, dass wir das einzelne Store-Objekt zurückgeben werden. Also werden wir einfach die ah, die Antwort als
das Store-Objekt aus der Vorlage übergeben. Sonst kriegen
wir alle Läden. Das ist das sonst noch da drin. Und dann werden wir einfach die Geschäfte von der von der Abfrage zum Store-Objekt
zurückgeben. Und wie wir bereits gesagt haben, das ist eine Art Arbeitsprozess, aber wir werden diese,
ähm diese Ergebnisse in einer sehr linearen Art und Weise zurückgeben . Aber wird eine bessere Arbeit davon tun, wenn wir die Paginierung tun, was etwas ist, das wir wirklich auf AP Augen verwenden müssen. Aber auf jeden Fall, den wir haben, wenn es einen Laden gibt. Wir bekommen die Geschichte d Wenn wir den Laden bekommen, geben
wir diesen Jason zurück, wenn ich antworte, was ist das Ergebnis ist in Ordnung, und dann ist die Geschichte selbst das Store-Objekt von der Vorlage, die dieses Ding hier sein wird und ah sonst waren wir Stein ein 44 bedeutet, dass wir nicht mit ihnen finden,
dass diese Geschichte t sonst,
wir, wenn sie es geben, um zu bekommen und es ist Geschäfte, weil es nicht auf einer Geschichte Der Schaukel Vergangenheit, sie wurden zurück alle Geschäfte. Also nun mal sehen, was wir mit der Post und der Post machen. Wir holen den Laden Jason von der Anfrage,
Jason. Laden Jason von der Anfrage, Und hier verwenden wir diese neue Methode namens Fehler. Ah, beste Match-Drop für darüber Validator. Und das wird, ähm, es wird alle Fehler zurückgeben, die wir aus dem Vergleich mit dem
Schema mit der Geschichte Jason bekommen , die für uns Sackgasse ist. Und wenn es eine Luft gibt, dann wird eine schmale Nachricht mit der Fehlermeldung zurückgegeben, dass der
Schema-Validator mit einem 400 übergeben wird. Sonst sind die
Dinge gut. Also werden wir ein Store-Objekt erstellen, mit dem wir ein externes I D.
erstellen , wir werden einfach die richtige Adresse Stadt,
Bundesstaat,
PLZ und Telefon der Nachbarschaft speichern , die auf Anfrage weitergegeben wurden. Dann haben wir das gerettet. Und dann werfen wir zurück auf die Antwort mit dem Store-Objekt, , das wiederum die Vorlage und der Speicher
ist,
um, um, dass wir gerade auf der Mongo-DB gespeichert und eine zwei a eins zurückgegeben haben, was, wie Sie sich vielleicht erinnern,
bedeutet, dass der Beitrag erfolgreich war und Inhalte an den zurückgesendet wurden. Also, äh, dieses Ding hier natürlich ist
natürlichdas Neue. Ach
, du weißt schon, du kannst etwas mehr darüber untersuchen? Das, ähm, was diese ganze Art von wie involviert ist. Aber es ist ziemlich viel, dass wir es jedes Mal gleich verwenden. Also können Sie einfach diese Kopie verwenden und diese einfügen und Sie schnell die, um die Eingabe vom Client,
das Jason-Objekt innerhalb dieser Analphabetenfehler,
Methode, die,
ähm, die die Fehler durchlaufen wird, wenn die, um wenn die, Sie wissen, dass die Jason-Schema-Vorlage nicht mit der übereinstimmt, die sie verschiedene Übergabe verwenden. Das ist also das. Und wir werden nur Dummy-Einträge für den Put und die Elite erstellen, die später umgesetzt werden. Das ist also das A P I. B y. Hübsches, ziemlich einfaches Zeug. Nicht zu kompliziert. Und so lasst uns voran gehen und das hier ausprobieren.
24. Den Endpunkt des Lichts ausprobieren: Okay, also lasst uns das testen. Wir werden hier einen neuen Ordner erstellen,
kalt, kalt, äh, Laden. Und ich werde den von der Post hier klonen,
die Post Haustiere und Punkt und legen Sie ihn hier in den Laden. Lassen Sie uns das umbenennen, und es wird gestellt Speicher, oder besser gesagt, rühmen, erstellen Geschäft. Ok. Und in diesem haben wir die Header. Ähm, wir müssen die Anwendung in die auf der, ähm, ja, ich habe das hier drin. Hätte das kopiert haben sollen. Vielleicht, aber wir haben den X Schritt nach oben, also lassen Sie uns diese Vermischung erstellen. Ich bin und es ist mobil. Und dann das X up Geheimnis. Oh, nein, es redet, rechtes Zeichen. Und ich glaube, wir haben immer noch das gleiche Zeichen. Aber wenn nicht, wird die
Welt eine neue erzeugen. haben sie hier reingesteckt. Wo wird das? Da gehst du. Ok. Und es wird Inhaltstyp Publikation sein. Jason. Und hier muss ich das Nachbarschaftstelefon all das Feld setzen, also werde ich das vielleicht kopieren und einfügen. Und, äh, das ist ein bisschen für die Nachbarschaft. Ich werde sagen,
ähm, ähm, College-Punkt in der Straße Adresse. Es wird 1234 Main Street und die Stadt sein. Es wird,
ähm, ähm, Bronx sein. Der Staat wird New York und die Ortsvorwahl hier sein, 33 und das Telefon 718453 bis 3 32 OK, also wird es zum Laden geschickt. Und du hast Jason. Das sieht gut aus nach Headern und allem. Mal sehen, ob wir das hier laufen lassen können. Es läuft. Wir haben unsere Mongo-Datenbank, um das zu testen. Okay, also lassen Sie uns voran gehen und setzen lassen Sie mich das großartig retten und schicken, äh, weil Sie ein nicht auf dem Server gefunden wurde. Also mal sehen, haben Sie die Aussicht hier drin. Oh, es sind Geschäfte. Äh, da gehst du sicher und schickst dann noch „Oh, Gott“. Gespeichert. Okay, sicher und das dritte Mal ist ein Zauber. Kein extra. Lokale Hostspeicher sein. Es bekommt eine 440, die ich kenne. Ich denke, ich habe hier einen Schritt verpasst, der
die Blueprints Correcto hinzufügt. Sehen wir uns die Blaupausen hier an. Es wird von Hopplen sein. Also aus Store-Ansichten, importieren Sie Store up und up registrieren Sie sich unter Print Store-App. Sehr gut. Ich habe das gerettet. Wir haben den Server gestartet, doch er hat begonnen. Und versuchen wir es noch einmal. Oh, ich habe ein Recht. Ich setze hier ein zusätzliches Koma ein. Es sagt, Eigenschaft
erwartet, Benennung, umschließt doppelte Anführungszeichen, Zeile acht. Das ist, was für eine Art von wie, mich zu zeigen, so dass Luft so senden. Und da gehst du. Wir haben unseren ersten Laden. Ich habe eine 21 erstellt. Ich habe das Ergebnis. Okay, Filialstadt, Bronx. Hier ist die Idee, die generiert wurde. Und, äh, alles sieht wirklich gut aus. Ehrfürchtig. Also lasst uns noch einen machen. Und das hier, wir werden ein Get machen. Also lassen Sie uns das duplizieren. Du wolltest es anrufen, individuellen Laden
holen und aktualisieren. Ah, mal sehen. So ist es ein get Läden. Ich habe die Hatters da. Also sollten sie funktionieren, wenn wir das sagen und dann schicken, äh, ich bekomme keine Läden, ich denke, weil es vielleicht bin ich nicht,
ähm, jetzt sind alle Läden richtig, also würde das gesagt werden, dass Holen Sie sich alle Geschäfte. Ich denke, es liegt daran,
dass wir nicht wirklich
aktiviert haben , ,die nur
eine leere Zeichenfolge zurückkehrten . Aber lassen Sie uns ein bestimmtes Geschäft ausprobieren, das ist, als wir gerade erschaffen haben, und ich denke, ich verlor das I d dort. Aber wir können es auf der Datenbank überprüfen. So zeigen die Bienen verwenden Wetten, a p zeige ich Sammlungen. Also werde ich Devi Store finden, und ich habe das Token dort. Äh, huh. Also werde ich den einzelnen Laden holen. Also lassen Sie uns das duplizieren, bearbeiten, einzelnes Store-Update
bekommen, und dann werde ich Geschäfte und das spezifische i d machen. Ich muss keinen abschließenden Schrägstrich dort übergeben, weil das irgendwie wie ein individueller ist. Es ist sozusagen nicht wie eine Mappe . Also lassen Sie uns das speichern und senden Sie perfekt. Also habe ich die Sie wissen, die Starter heute i d Es gibt die h Air h ref für das Selbst, und das sieht gut aus. So perfekt. Dieser Assad funktioniert gut. Jetzt lassen Sie uns schnell an der Spitze arbeiten, und dann lassen Sie uns implementieren für echte sieht dieses. Die Guettel-Läden
25. PUT- und DELETE implementieren: okay für dieses Video, wir werden die Put und Elite für den Store-Endpunkt implementieren, bevor wir das auf tun. Wie ich schon viele,
viele Male gesagt habe , löschen
wir Dinge nicht mehr. In der allgemeinen Praxis, wenn wir es haben, ist
es eine Fahne, die wir gesagt
haben, äh, äh,ein Barren, das entweder in einem Leben ist, oder,
ähm, Sie können sagen, veröffentlicht oder was auch immer der Fall sein könnte. Aber wir löschen keine Datensätze, weil die Speicherung in diesen Tagen so billig ist, dass er nicht viel Sinn macht, wissen
Sie, die wichtigsten Dinge, und Sie haben immer eine historische Art von wie Version von dem, was passiert ist. Du verlierst keine Daten. Die Art und Weise, wie ich die Löschfunktion hier implementieren werde, ist, dass ich ein Feld namens
Live hinzufügen werde und das sich anfühlt, ein Anlagebarren zu sein und das D-V-Feld wird l sein und der Fehler ist wahr. Wenn wir also standardmäßig erstellt haben, ist
es wahr und wir werden das Wir werden dem Index, den wir hier haben, Leben hinzufügen,
weil wir nach Dingen suchen, die Sie wissen, diese öffentliche ich d oder extern das Ende, dass die Lebensflagge ist, ist wahr. Also mit dieser Änderung können
wir jetzt weitermachen und ein bisschen Änderungen an der ah Story P. I,
ähm, also eine, die wir hier sind, müssen
wir jetzt überprüfen, ob die Anfrage ist, äh, es nicht bekommen oder es ist nicht die Elite, weil beide Methoden keine Nutzlast haben werden,
ähm, ähm, oder Jason, Ähm, Daten dort. Also werden wir sagen, wenn, ähm, Records Methode ist nicht bekommen und wir könnten anfordern Methode ist nicht die Elite Elite. Und, äh, und forderte Jason nicht in etwa 400. Das bedeutet, dass Löschung nicht Wir erwarten keine Anfragen oder Jason da drin. Die andere Sache ist, jetzt werden wir nach außen suchen, wie die gleiche Geschichte d Onda. Wir werden Leben gleich Wahr haben, weil so, wissen
Sie, nur bekommen Wenn, wenn die Geschäfte am Leben sind und das Gleiche mit den Ladenobjekten,
alles, was wir jetzt sagen, speichern Objekte filtern Leben gleich wahr genial. Das lässt uns also jetzt die Put und die Elite-Methoden genau hier erstellen. Also immer noch, dass die Put-Methode dem Post sehr ähnlich sein wird, denn denken Sie daran, Put geht darum, , den Datensatz zu
aktualisieren. Und so werden wir alle Felder,
diePassagier sind, passen ,
die Jason an. Und denken Sie daran, dass Putt erwartet, dass alle Felder bestanden werden, wo wir nicht passieren können. Setz dich einfach in deiner Nachbarschaft oder so was. Also passieren wir einen Laden, und das erste, was wird überprüfen, ob der Laden existiert. Wenn es nicht existiert, dann machen wir eine für eine Vier. Dann machen wir dasselbe mit dem Jason-Validator und lassen das validieren. Und wenn nicht, dann geben wir einen 400-Fehler zurück, und dann haben wir hier nur eine Liste aller Felder und speichern das. Also in diesem Fall ist
es kein Safe. Es ist wirklich ein Update. Aber das ist, wissen
Sie, unter den zu sein, wissen
Sie, wir werden sicher machen, was die gleiche Masse ist wie die,
äh, fragte die ah, als die Rettung uns eine neue. Okay, das ist das hübsche, ziemlich unkomplizierte Zeug und hat es jetzt an der Spitze versucht, also wird die Elite folgendes sein. Wir kriegen den Laden I D und überprüfen, ob der Laden existiert. Und wenn nicht, dann geben wir eine 44 Nun, die weise wir setzen nur das Geschäft Leben falsch speichern. Und im Gegenzug eine zwei oder vier Antwort, was bedeutet, dass wir keine Informationen zurückgeben. Aber, ähm, wir bestätigen, dass die Operation tatsächlich durchgemacht wurde. Also lasst uns versuchen, diese Dinge auf der Postbotenseite der Dinge zu tun. Ok? Die erste 1, die wir tun werden, ist, dass wir einen Putt machen
, der ihren Posten sehr ähnlich sein wird. Also lassen Sie uns voran gehen und duplizieren, und wir werden das bearbeiten, um Update Store zu setzen. Ok. Und so werden wir hier eine Put-Funktion haben. Wir werden dasselbe passieren, außer dass ich in Token und in der Leiche. Wir können alles ändern, was wir wollen. Also lassen Sie uns das sagen, so lassen Sie uns sehen. Lasst uns ändern. Ähm, sagen
wir, die Nachbarschaft ist so weg. Oh, warte. Und Sie müssen das eigentliche Geschäft passieren. Dass du bist, dass du gehst,
Toby. Dass du bist, dass du gehst, Modifizieren? Nein, speichern Sie das. Okay, sagen wir, die Nachbarschaft ist jetzt,
ähm, es ist ein Bronx-Gefühl. Okay, so empfangener Server läuft hier Perfect. Sieht gut aus. Und lassen Sie uns diese Anfrage senden und ich bekomme eine 44 Nun, der Grund, für eine Vier aufzustehen, ist, weil wir Sie sich erinnern, dass wir ein neues Feld namens Leben hier hinzugefügt haben und wir haben auch an diesem zu den Indizes hinzugefügt und die vorhandenen Datensätze haben nicht dieses Leben -Feld. Also es ah, wenn diese Aufzeichnung die Shop-Ideen, die im FBI gesucht werden, und es hat es, ähm, das hat dies, wie Gurken zuerst durch. Es fällt im Grunde auf die 44, weil es keinen Laden findet, der das Leben gleich
wahr ist,
weil dieser Rekord gerade nicht dieses Lebensfeld hat wahr ist, . Der einfachste Weg, dies zu tun, besteht darin, zu löschen, da wir uns in einer Entwicklungsumgebung befinden, die Sammlung
einfach gelöscht und dann einen neuen Store erstellen. Von diesem Punkt an, wenn Sie, wissen
Sie, in der Situation
landen, in der Sie existieren,
äh, die Basis sind und Sie eine Migration mit neuen Feldern durchführen möchten, müssen
Sie eine Art Skript schreiben , die alle Felder liest. Und das ist, dass das neue Feld und dann Index, das Zeug, so dass es ein bisschen komplizierter. Aber da wir hier nicht wirklich etwas Wertvolles speichern, gehen
wir einfach voran und lassen die Sammlung fallen. Also,
um das zu tun , gehen wir in die Datenbank und sagen, du weißt schon, Wetten
verwenden . Acht b I. Und wenn wir die Sammlungen sehen, sehen
wir den B-Store fallen. Und jetzt sollten wir diese Sammlung nicht mehr haben. Also, wann? Wenn der neue Datensatz erstellt wird, hat
er das Lebensfeld und ist Indizes richtig. Also lasst uns hier nochmal einen Beitrag machen, mit spezifischen, äh, wir haben den gleichen Laden, den wir vorher haben. Lassen Sie uns das schicken und wir bekommen ein neues I D. Und jetzt werden wir versuchen, Und jetzt werden wir versuchen,
diesen Laden mit dem Bronx-Gefühl zu
aktualisieren,
lassen Sie mich versuchen,den Sprung in den großen Laden zu machen. diesen Laden mit dem Bronx-Gefühl zu
aktualisieren,
lassen Sie mich versuchen, Wir benutzen das
hier und ich bekomme den Laden dort vollkommen in Ordnung. Und nun lasst uns diesen Aufstieg aktualisieren. Wir haben hier einen College-Punkt. Geh nach Bronx, fühle dich jetzt, also lass uns Platz sparen und dann schicken. Und jetzt bekomme ich das richtige Update hier mit 200. Ähm, und es ist die,
ähm, ich soll sagen, dass ich kriege, ich bei 200 bin. Und schließlich Und schließlich werde
ich die Löschfunktion versuchen. Also werde ich nur diesen hier klonen und
den Elite-Einzelladen, den Elite-Einzelladen, und wir werden die Leads hier machen, und es ist das gleiche, was ich hier bin, 65 a a Recht. Also lasst uns das retten. Und wir werden schicken und ich kann mir keine Inhalte leisten,
was bedeutet, dass die Operation durchlief. Wenn ich jetzt versuche, diesen Laden zu bekommen, bekomme
ich ein für alle nicht gefunden. Aber in der Datenbank sollten
Sie immer noch sehen, dass, ähm, die Aufzeichnung dort, aber wir haben Leben gleich fällt.
26. Pagination auf GET alle Geschäfte: In dieser Lektion werden
wir die Paginierung für den Store implementieren, Endpunkt
abrufen und Sie sollten immer paginierte Ergebnisse zurückgeben. Wenn Sie bekommen, wenn Sie gehen, um zu bekommen, wird eine Liste von Elementen oder
Objekten beinhalten . Ähm, es ist nur, wissen
Sie, die beste Methode, um eine Liste von Objekten zu bekommen, ist die Erweiterung acht. Und es ist immer besser für mich, keine Server, Skalierbarkeit
und für den Client in der Lage zu sein, auf der Seite, die diese Abfrage sagte, dass er bekommen wird, also lassen Sie uns sehen, wie dies implementiert wird. Okay, damit wir die Paginierung implementieren können, die wir brauchen, wir die Paginierungsmethode verwenden oder die Mongo-Engine funktional starten. Und so werden wir hier eine Konstante definieren, und wir werden sie „Stores pro Seite“ nennen. Und als ich das zu 10 sagte, also werde ich sagen, für jeden Schlag auf den Weg, wir werden 10 Geschäfte bekommen und dann, weißt
du ,
nun durch das
paginiert, dann werde ich Ähm, auf der Suche nach all den Geschäften werde ich dann das bekommen, ähm, sind Ladenobjekte, Filterleben gleich wahr. Und, ähm, wir werden einen Seitenparameter über den Euro übergeben, den wir bekommen werden, und dann Pagine Acht mit dieser Seite und den Stores für Seite. Also lasst uns das machen. Also das ist die Anfrage, die wir übergeben werden und dann Geschäfte gleich Läden sind. Diese paginierte Seite entspricht der Basis, an der wir vorbei sind. Und wie Sie hier sehen können, wenn Sie keine bekommen, werden wir die erste Standardeinstellung und
dann pro Seite wird die Konstante sein, die wir in
der Spitze hatten, die sie denken, dass wir tun werden, ist, dass wir einen Selbst-HR-8-Ref-Link einfügen zu, Du weißt schon, Unterstützung, Hassschulden. Und wir werden sagen, dass dies eine Seite eine bestimmte Seite ist. Also werden wir sagen,
ähm, Links, Links, und wir werden den HF h ref Ladenraum gleich Seite Prozent s. Und diese werden, ähm,
ähm, äh, äh, übereinstimmen mit der Seite, die auf, die auf der Anfrage hier weitergegeben wird. , Weise können wir sagen,
dass dieses Set zu einer bestimmten Seite gehört und ich denke, dass wir tun werden, um es auch zu hassen Schulden. Beschwerde ist, dass wir sagen, Wie kommen wir auf die vorherige Seite? Und wie kommen wir zur nächsten Seite? Der Klient weiß also, wie die Pagine acht ist. Also, dass wir das tun würden, ist das Folgende, was wir haben werden, wenn die Geschäfte vorher haben und , wie Sie wissen, vorher gesagt
hat, irgendwie wie ein Funktionär, dass die Paginierung auf der mongolischen Engine hat und wir werden Schmerzen haben die Antwortlinks Abschnitt Ah, die vorherige Seite. Und auch, wenn die Läden die nächste haben, dann werden wir die nächsten Läden aufrüsten. Ähm, was wiederum ist, es ist eine Funktion von der ah off Mongo Motor hat Pre-kurze
Nummer und nächste Nummer als Teil ihrer Paginierung unser System so cool. Wir werden also ein „Nicht nur wir werden sehen, was die aktuelle Seite ist, aber wir werden dem Kunden sagen,
Hey, Hey, und wenn du den nächsten Satz oder den vorherigen Satz bekommen willst, dann kannst du das hier treffen. Also lasst uns diese Datei speichern und das Letzte, was wir tun werden, wird die Vorlagen ändern. Und wie ich es dir sage, war
das irgendwie wie ein Platzhalter. Wir werden das durch Folgendes ersetzen, wir werden ein Ladenobjekt haben, und dann werden wir es durch die Ladengegenstände durchschlagen. Und ich sollte Ladengegenstände kennen. Ist die Paginierungsart wie Abfrage gesetzt oder die Seite mit den 10 Ergebnissen oder was auch immer Stores pro Seite haben wir? Ähm,
ähm, ähnlich identifiziert. Und dann werden wir das Ladenobjekt auf den Kopf stellen. Und wie Sie sehen können, ist
es, das bezieht sich auf Sing dies. Also, wo wir einen sehr skalierbaren Weg haben, dies wiederzuverwenden, fragte das individuelle Ergebnis für jedes Objekt und schließlich wird das Store-Thema zurückgeben, was diese Liste von Objekten sein wird, die Store-Optik sind. Also, das ist so ziemlich es, ähm mal sehen, wie wir die Läden bekommen können. Und ah, nur damit du es weißt, ichhabe ich eine Reihe von Datensätzen
implementiert oder eingefügt. Also, wenn Sie Devi Geschäft gut getroffen. Jetzt muss ich dir Spezifikationen geben. A B I Ich habe diese, wissen
Sie, ein paar von Platten, so dass wir die Paginierung besser sehen können. Also, eigentlich, habe ich glauben, 20 etwas speichert Dummy-Stores, die ich erstellt habe. Also lasst uns den Postboten gehen und sehen, ob die Paginierung funktioniert. Also, ähm, der Dienst läuft sieht so aus, als wäre alles gut. Also gehen wir weiter und holen ältere Läden hier, und so werde ich schicken, und los geht's. Also haben wir eine 200. Ok. Und wie wir sehen können, haben
Sie Links. Ich habe ein Selbst, das Seite eins ist. Das wird also ph sein. Eins vom Set. Und dann habe ich eine nächste Falle, die
auch Spaten ist . Dann heißt es Ergebnisse. Ok. Und dann sehe ich die Läden hier, Ähm, und wenn du, weißt
du, zählst, sollte es 10 in Läden da drin sein, damit das gut aussieht. Also, wie gehen wir zur nächsten Tür? Nun, wir sollten eine Seite nach hier. Ähm, und ich kann es einfach hier setzen. Seite ist gleich zwei. Schicken und sehen. Jetzt bekomme ich ein Selbst, das ist Seite zwei. Ich bekomme eine vorherige, die Space eins und die nächste ist, die Seite drei ist. Und wieder, wieder. Weißt du, die nächsten 10 Läden. Ähm, beachten Sie, woher wissen Sie, dass die vier Geld ISA Stores Objekt ist, das wir auf unserer Vorlage haben, die das Selbst hat und all das Zeug da drin. Also muss ich sagen, Sieht ziemlich cool aus. Und dann endlich, Seite drei. Dies hat nur bisher nicht als nächstes, weil wir nur 23 Geschäfte haben. Also hier sehen wir nur, Ah, ich denke, es sind die Wiederherstellungen. 12 Ja, drei Läden. So genial. Das sieht wirklich schön aus. Es ist eine sehr professionelle Ergebnismenge und Paginierung, wie ich sagte, sollte die Methode sein oder Sie verwenden, wenn
Sie, wissen Sie,
jede Liste von Objekten haben Sie, wissen Sie, , die Sie zurück zum Client zurückkehren werden. Das ist also das. Lassen Sie uns weiter, ähm, weil wir dafür einige Tests für die App des Stores benötigen, also fangen wir an, das zu tun.
27. Shoptests: in dieser Lektion. Wir werden die Tests für die Geschäfte und Punkt implementieren, und wir werden anfangen, etwas völlig Neues zu verwenden, das wir bisher in keinem der
Gerichte verwendet haben, was Fixtures ist. Funktionen betrachten sie also als Daten, die Sie selbst speichern können,
Ihr tatsächliches Repository, das stürmische Daten enthält, die Sie dann dynamisch in
Ihre Tests laden können, so dass Sie Dinge wie
zum Beispieltesten können zum Beispiel gehen, um es für die Paginierung zu verwenden. Stattdessen erstellen Sie wie Code, den Sie ziemlich verwenden, wie Sie wissen, 23 Geschichten wie die, die ich jetzt habe, erstellen Sie tatsächlich diese Dateien namens Fixtures und wann? Wenn die Tests, führe
ich diese Bilder aus, werde die Dummy-Datenbank geladen, und dann können Sie Operationen an ihnen durchführen. Also mal sehen, wie wir das machen. Also habe ich bereits die Tests aus dem Repository geladen, und Sie können natürlich
sehen, welche sie sich selbst auf dem Link nennen, den ich bereitstelle. Aber, ähm, ich muss nur einäugig gehen und all das Zeug von Grund auf neu eingeben, weil es
Dinge sein werden , die du schon gesehen hast. Also lasst uns einfach schnell durch sie gehen. , in dem wir ein Nickerchen Wir haben einen Testfall, in dem wir ein Nickerchenerstellen. Wir haben es als soziales aufgebaut und niederreißen. Wir haben noch ein Directory-Wörterbuch, das Haustier-Linie sein wird, Haustiergeheimnis. Und das ist irgendwie neu. Wir machen ein gespeichertes Wörterbuch, in dem wir wie eine Probe an,
ah Store-Objekt haben , das wir immer und immer wieder verwenden werden. Und, ähm, wir werden auch etwas erschaffen. Ähm, eine Methode, die ich denke, dass ich viel benutzt habe, die die a p i App erstellt. Also mag ich einfach Post in die Apsis mit der App, das eigentlich das App-Wörterbuch, das wir hier oben haben und ein
Zugriffstoken generieren , das wir irgendwie auch brauchen. Also sollte ich nur das Zugriffstoken mit dem Objekt-Up-Wörterbuch abnehmen und dann speichern, dass Assad eine Eigenschaft für das klassische alte Selbst-Token ist, das ich dann wiederverwenden kann. Und schließlich ist
eine Sache, die wir in der Vergangenheit nicht gesehen haben, eine Header-Methode zu haben. Onda wieder, dies ist, um die Dinge einfacher für die für den Zugriff aus jeder Anfrage zu machen, weil es erfordert, dass wir die Wette ausgekleidet und das Token übergeben. Das sind also wie Hilfsfunktionen, die wir verwenden werden. Also, ah, die ersten, ähm, Laden-Testläden. Ähm
, eine gute Testbatterie wird Ah, hübsch sein. Auch ziemlich einfach. Also haben wir eine P I-App mit dieser Methode erstellt, die wir oben beschreiben und ein
Zugriffstoken generieren . Nun, indiesem
Moment, diesem
Moment, haben
wir das Selbstgespräch zur Verfügung, und dann werden wir einen Laden erstellen. Also, ähm, merke, wie wir haben,
ähm, die Heathers sind Self-Header, was dieser Mythos ist, den wir hier oben haben. Und jetzt siehst du, warum ich es geschafft habe. Ah, eine Funktion, weil wir das immer und immer wieder benutzen werden. Also hier erstellen wir ein Geschäft. Wir haben das wunde Wörterbuch bestanden und wir überprüfen, ob wir eine 21 haben, die erstellt wurde, und wir holen auch den Laden I d aus dem Jason. Das ist die Rückkehr, so dass wir es danach wieder verwenden können. Also dann können wir testen, immer ein Geschäft mit diesem Geschäft I D und die Sie erhalten eine 200 wir
können auch den Laden bearbeiten. Und hier habe ich vorbeigegangen, wie eine andere Art von Ladenobjekt. Und dann habe ich die, wie Sie hier sehen können, Ich habe amüsant gesetzt. Ähm, also die Geschäfte und Point und dann überprüfte ich, dass das neue Telefon, das ich hier übergeben habe, auf dem auf diesem Objekt
gespeichert wird . Und schließlich teste
ich die führende. Also, weißt
du, ich gehe einfach voran und lösche den Laden, den ich serviert habe, dass ich ein bis vier bekomme, und dann bekomme ich auch , äh, Aquarium Mongo db,
um zu sehen, ob die Anzahl von Geschäften, die Leben sind falsch ist gleich eins. Also alles, was nett ist. Nicht zu überraschend. Und ich denke, Sie wissen schon, wieder, Sie können es im Detail sehen, wenn Sie den Code aus dem Repository nicht kennen . Hier wird die Dinge interessant. Ich werde eine,
äh eine Nachricht haben , die ich erlauben werde, ähm Zugriff von den Stufen, und ich werde sie auf die Anwendung legen. Warum sein? Weil es irgendwie mit der Anwendung verwandt ist. Ähm, also hier am Ende. Ich werde folgendes tun. Ich werde eine Fixtures definieren,
ähm, ähm, Methode und was es tut,
Es nutzt Manga-Import mit, ähm, das ist ein Befehl, den Mongolen TV bietet. Und es im Grunde können Sie Ah definieren, Host, das ist verstash h. Sie finden die Datenbank, die ist, dass Dash d Um, Sie übergeben den Bindestrich C, die, ah, Sammlung, die das sein wird, wo Sie diese Datei importieren? Und dann haben wir eine Vorrichtung, die eine Jason-Akte ist, dass wir das auf Dysfunktion übertragen werden. Und dann haben wir den Call-Befehl verwendet
, der ein Python wie Low-Level
ist , ,etwa eine Methode, mit der Sie
Shell-Befehle in einem Python-Skript ausführen können. Nun, dafür muss
ich hier eine Bibliothek namens So process hinzufügen. Also, wenn ich sage, es ist von einem Prozess Import cool. Und, ähm, ich brauche auch, ich glaube die os, ähm mal sehen, nicht nur da, Wes, ich muss unter gehen, um uns zu beherbergen. Ich werde das von Setting importieren. Also von Einsparungen importieren Mongolische O d B Host Host. Okay, ich glaube nicht, dass ich hier drin noch etwas brauche. Also lasst uns das speichern,
dann das andere, was wir tun werden, ist, dass wir eine,
äh,
Armaturen in der Ah,
in denLäden erstellen. Also lasst uns das speichern, dann das andere, was wir tun werden, ist, dass wir eine,
äh,
Armaturen in der Ah,
in denLäden erstellen äh, Armaturen in der Ah,
in den Ähm, im Laden. Leichte Verzeichnisse. Aber ich typischerweise und Sie als professioneller Entwickler, Sie werden dies sehen. In der Regel erstellen Sie in Ihrer App einen Ordner namens Fixtures. Und dann wirst du eine neue Akte haben, und dann, weißt
du, das wird Läden sein, nicht Jason. Also, hier werden
wir alle Jason-Objekte setzen. Und hier, sehen
Sie, es gibt 23 Geschäfte in. Das werden sie retten. Und dann geht die nächste Sache den Test selbst und fügt diese Funktionalität hinzu. Also gehen wir zum Test, und dann sagen wir ähm vom Anwendungsimport, äh, Fixtures. Okay, also lasst uns sehen, wie wir Thea die Bilder auf diesem Test verwenden, den wir für
die Paginierung machen werden, um diese Methode zu erstellen und es wird Test,
ähm,
Store-Paginierung genannt werden ähm, . Und so werden wir das erstellte A p I machen und Zugriffstoken generieren und sehen, wie wir jetzt die Funktionen aus der Anwendung
machen. Also finden wir sie, dass DVs einen selbst DB-Namen, der hier ist, ganz oben, und wir werden haben, dass die Sammlung ein Geschäft ist, und dann ist die Halterung und Sie können einfach ah,
uh, uh, setzen Sie die Pfad aus dem aus dem obersten Store Fixture Store. Jason. Von diesem Punkt an, nachdem wir diesen Befehl ausgeführt haben, wird all
das, was all diese Stores ist, für Tests zur Verfügung stehen, also um Tests durchzuführen. Es ist also eine große Zeitersparnis. Und es ist, wissen
Sie, geben Sie es
frei, um Now-Test zu erstellen, die die Paginierung testen werden. Also lasst uns die schreiben. Also zuerst werde ich tun, ich bekomme alte Geschäfte, so dass ich nicht mit Headern auf Inhaltstyp bekomme, und dann werde ich behaupten, dass die Hälfte nächste in den RV-Daten Warum weiß ich, dass ich
mache wird es muss da sein, weil ich mehr als eine Seite habe und so dass es gut, weißt du, ich teste die,
ähm,
die Paginierung dort richtig ähm, , also würden die nächsten Tests die zweite Seite bekommen, also werde ich die Seite gleich zwei hinter den Headern und dem Inhalt übergeben Typ. Und dann sollte ich vorherige in der ist die RV-Daten als auch. Es ist als Nächstes, weil ich in der Mitte von der Paginierung bin. Also, ähm, verbreiten, das ist so ziemlich es. Ich meine, du kannst dir noch andere Tests einfallen lassen. Ich denke, das ist das ist ziemlich gut. Also lassen Sie uns das sagen. Und schließlich müssen
wir unseren neuen Test hier auf Test hinzufügen. Also sagen wir von den Shop-Tests, Import Store Test. Okay, endlich müssen
wir den Test durchführen, also stellen Sie sicher,
dass Sie
Ihre Container haben müssen
wir den Test durchführen,
also stellen Sie sicher,
dass Sie
Ihre Container haben. Ich mache es direkt hier im Manga-DB-Fenster. Also werde ich sagen, docker exakt dash i t ich habe nicht auf die Docker ps geschaut o was? Das um Docker ps Also es ist Haustiere ap I Web Ron 18 und dann werde ich per Telefon drei
Tests p y perfekt sagen . So, dass gut laufen,
bemerkte, dass wir eine Verbindung zu mongo DB haben und dann sagt es, importiert 23 Objekte. Das ist vom mongolischen Import, äh, Kommando. Aber wie Sie sehen können, wissen
Sie, wir führen alle Tests durch und alles sieht in Ordnung aus. Also, das ist für Läden eingestellt. Und das nächste Stück, an dem wir arbeiten werden, ist der eigentliche Endpunkt der Haustiere.
28. Pet Endpoint erste CRUD: Okay,
jetzt, wo wir unseren Ladenendpunkt haben, gehen
wir nicht zurück zu den Haustieren und zeigen. Und wie Sie sich erinnern können, war
es ein Test sehr wie im Gedächtnis. Irgendwie, Ah,
Liste, die wir da drin hatten, und wir werden es nicht zu einer richtigen Art von Wetten Endpunkt mit dem Datenbankmodell
und Tests und all dem machen . Also fangen wir an, daran zu arbeiten. Ok? So können Sie hier sehen, wir haben die Haustiere, FBI, wie es heute steht, und, wissen
Sie, es ist eine Liste von Objekten und kommen in die Post. Wir sind irgendwie so, als ob wir diese Liste manipulieren. Und natürlich würden
wir das nicht tun wollen, bevor wir dort ankommen . Ähm, da. Also wissen Sie, dass diese Ansichten B y tatsächlich gut funktionieren wird. Das Einzige, was ich hier ändern werde, ist, anstatt hier ein Ende zu sein,
denken Sie daran, dass wir ein externes ID haben
werden , als die Läden. Ähm Äußerlichkeit. Also machen wir das? Ähm, kein Bewohner, aber ich sehe nur einen einfachen Parameter, der wie eine Stärke sein wird. Das ist also die einzige Änderung, die wir in den Ansichten machen werden. Und bevor ich an der A P arbeite,lasse
ich uns tatsächlichdie Modelle
aufstellen,die wir hier benutzen werden. Und bevor ich an der A P arbeite, lasse
ich uns tatsächlich , Also werden wir das folgende Modell so wichtig db aus der Anwendung verwenden. Wir werden die Ladenmodelle hier benutzen, weil wir einen Fremdschlüssel haben, aber das Bett-Modell wird je auf externe Art haben, wie eine Name s Spezies. Eine Rasse und Alter des Ladens, in dem sich das Haustier befindet,werden
wir einen Preis haben. Eine Rasse und Alter des Ladens, in dem sich das Haustier befindet, sei denn, Sie können dort sagen, dass es sich um ein Dezimalfeld handelt. Wir werden einen verkauften Anlagebarren haben, was bedeutet, dass, wenn es wahr ist, dass es bereits verkauft wurde, wir haben ein Empfangsdatum, das ist das Datum, an dem die Wette in den Laden kam. Wir haben ein verkauftes Datum, das ist das Datum, an dem das Haustier verkauft wurde, und sie werden einen Lebensbarren haben
, der so ähnlich ist, wie wir es gesehen haben. Das ist eine Art von unserem Löschvorgang wird das beeinflussen, aber wir werden eigentlich keine Haustiere löschen. Die andere Sache ist auf den Indizes. Ich habe mehr in den sechs Indizes hier, weil ich ein paar Suchen durchführen werde, die ein bisschen komplexer werden . Der 1. wird eine äußere Idee im Leben haben, die anwendbar sein wird. Wenn ich nach einem bestimmten Haustier suche, dann werde ich eine Spezies und ein Leben haben, was wir benutzen werden, wenn wir nach einer bestimmten Spezies suchen. Onda. , Jetzt,wo ich darüber nachdenke, werden
wir auch hier in diesem Index züchten
müssen, weil ich nach einer
Spezies suchen werde müssen . Es ist wie Hund oder Katze und Rasse ist irgendwie wie, was für ein Hund ist, , es ist ein Multi-Zohra Sheets, die, ähm und ich,
wie, wie, suchen über das ganze Haustier, das ich Basis Ach, mit diesen beiden Feldern. Und schließlich werden wir einen Laden haben, weil wir suchen nach Geben Sie mir die Haustiere , die dieser Laden hat. Das sind also ihre Modelle, und das sieht gut aus. Also fangen wir an, an der A P I zu arbeiten also gibt es, ah, ein Druckmittel, das wir hier benutzen werden. Wir haben Jason Schema für das Validierungsschema. Ähm, wir werden dich benutzen. Ich bin für die Xterra. Lady auf. Wir werden Jason auch tagsüber benutzen. Wir werden auch das Wettenschema
verwenden, verwenden, das andere, das wir bauen werden, und eine Haustiervorlagen in diesem und diesem a p i und wir werden
auch die Store-Modelle verwenden, wenn wir die Haustier-Details zurückgeben. Wir werden im Grunde, ähm, wissen
Sie, den Laden
ausdrucken. Ähm, das ist
also das. Beginnen wir mit der Arbeit an der eigentlichen, äh, sehen
wir uns hier an der tatsächlichen Perry p I-Klasse an, und das erste, was wir definieren werden, ist eine innit-Methode. Also werden wir,
ähm,
die Haustiere pro Seite haben ähm, , genau wie die Paginierung, die wir in den Läden und Rädern hatten, um zu überprüfen, ob die
Anfragemethode nicht gleich ist. Und die Anfrage Jason ist, ähm, sie ist nicht eingestellt. Dann sind wir ohne 400 an Bord. Und ich möchte das hinzufügen, weil, ähm,
wenn, wenn die Führung bestanden wird, wir
auch keinen Antrag stellen, Jason . Und ich glaube, das haben wir auch gesehen. Also werden wir tatsächlich die folgende Anforderungsmethode tun. Es ist nicht get und Anforderungsmethode ist nicht löschen. Und wir müssen Jason nicht verlangen, als eine arme 400. Okay, also lasst uns an dem Haustier arbeiten, ähm, an der Abfahrt hierher. Also machen wir folgendes. Also werde ich das herausnehmen, und ich werde sagen, wenn ein Licht passiert wird, dann Haustier gleich Wette Objekte, die externe bezahlt filtern Ich d gleich schlechte Idee und Leben Gurken . Wahr. Das erste Objekt wurde zurückgegeben. Wenn es einen Treffer gibt, dann geben Sie die Antwort zurück, was ein Ergebnis sein wird, okay. Und dann das Objekt, das wir auf dieser Vorlage definieren werden, an dem wir in ein
bisschen arbeiten werden , um dann endlich die verantwortlichen 200 zurückgegeben sonst eine 400. Ok, äh, lassen Sie mich auch hier vorbei machen, damit wir wissen, dass wir
danach daran arbeiten werden . Und fangen wir an, an diesen Vorlagen zu arbeiten. Das erste, woran wir arbeiten werden, ist Thesenschlüssel. Vielleicht warum, für die Haustiere und so sieht es aus. Ähm, es wird ein Typ-Objektname sein, der String verdächtig sein wird, String-Züchter. String Alter ist eine Zahl, und dann speichern ist eine Zeichenfolge Preise eine Zeichenfolge. Und warum Preise eine andere Zahl setzen, weil es Dezimalstellen hat und Jason
Dezimalstellen behandelt . Es ist ah, es ist ein bisschen kompliziert, weil ich denke, dass das nächste, was wir verwenden würden, Float wäre. Aber Float hat, weißt
du, es sind nicht nur zwei Dezimalstellen. Es ist ein Haufen von ihnen, also kann es kompliziert werden. Also entschied ich mich, Price als String zu verwenden. Also denken Sie daran, dass, wenn Sie diesen Endpunkt vorbei oder posten, endlich ich ein Empfangsdatum haben werde, und das wird ein Muster von dem Seelendatum haben, das wir in der Vergangenheit verwendet hatten. Ah, das ist, wissen
Sie, das Jahr, Monat, Tag, und dann die Zeit, die Stunde, Minute, Sekunde, und dann das Z, das UTC ist. Ähm, und schließlich werde ich alle Felder erforderlich machen. Das ist also das Schema für die Vorlagen. Ich werde folgendes verwenden, um das ist Vorlage B y Vorlagen warum, und das ist, wo wir dort tun werden. Wir werden das,
äh, wir sind kein wichtiges Store-Objekt, weil Sie sehen, dass wir den Laden
hier nutzen werden, in dem wir den Laden als Teil der Vorlage zurückgeben werden. Also, desto besser geht es nur, um die i.
D.
den Namen,
die Art,
dieRasse,
das Alter,
denLaden als Geschichtenobjekt zurückzugeben D. den Namen,
die Art, die Rasse,
das Alter, den . Und das ist eine sehr coole Sache. Wir nutzen die Ladenoptik, die wir hier drin haben. Also, wissen
Sie, wir wiederholen das nicht alles, und wir wollen wann? Wenn wir ein Haustier zurückgeben. Wir wollen es. Ah, kehre zurück. Welcher Laden? Doc? Die Wette ist in. Ich habe nicht das empfangene Datum,
was wir machen werden. Ich habe nicht das empfangene Datum, I s O Format davon. Ähm, ohne die Sekunden. Und dann der Links-Abschnitt, der das Selbst haben wird und schließlich, das Haustierobjekt wird das angeordnete sein, das übergeben wird, wenn wir nicht das
einzelne Haustier bekommen , sondern das, äh, alle Haustiere dafür, dass für diesen Laden. Ähm, nun, nicht für diesen Laden für diesen Endpunkt.
29. Endfertige Haustier ER GET, POST und Postman: Okay, lassen Sie uns weiter an der A P arbeiten, die ich höre. Und, äh, also mache ich jetzt das nicht das einzelne Haustier, sondern das, wenn du alle Haustiere bekommst. Also haben wir sonst nicht, ähm, wir werden ältere Haustiere bekommen, die live sind, und wir sind im Gegenzug die Paginierung mit einer Seite. Und dann haben wir endlich das Ergebnis. Okay, mit den Links auf der jeweiligen Seite, und wir werden die Wetten bestehen. Objekt, wenn die Haustier-Paginierung vorher ist, als wir diesen Link toe die h Luft h,
ref anhängen . Und wenn es einen Nächsten hat,
dann hängen wir an. Und wenn es einen Nächsten hat, Das ist gut, also nichts, was wir noch nicht gesehen haben. Dies ist sehr ähnlich zu den Geschäften und Punkt. Ähm und das war's. Also lasst uns jetzt Ah, lasst uns an der Post arbeiten. Absolut nicht ersetzen, beginnend hier. Und so werden wir,
äh,
Wetten haben äh, . Jason ist die Bitte, Jason. Dann werden wir überprüfen, ob der Validator das Schema hinter dem,
ähm,
dem Schema vorbei ähm, ist. Wenn es irgendwelche Fehler gibt, als Sie unsere Nachricht zurückgeben, dann holen wir den Laden. Wir werden das Äußere wie das auf dem Haustier übergeben, das dagegen ist, um zu sehen, ob ich das wieder in einen bestimmten Laden bringen will. Wenn diese Geschichte nicht gefunden wird, dann kehren wir zurück, gespeichert, nicht gefunden. Dann werden wir testen, dass die empfangenen acht. Eigentlich ist es ein gutes Date. Und wir tun das mit einem Versuch, außer wenn das, ähm, diese Methode namens string. Um, P Zeit, die Spotter in der Zeit ist, Äh ,
nicht, weißt
du, Fehler? Dann ist es in Ordnung. Aber wenn nicht, ist
das ein ungültiges Datum. Endlich erstellen
wir das Haustier Objekt, und hier werden wir das externe i d das haben, das wir erstellen werden. Ah, diesem Moment würde der Name Arten Rasse Alter Ladenpreis und erhielt acht. Und wir werden das Objekt retten und endlich das Haustier zurückgeben. Ähm, mit einer 21, was bedeutet, dass das Objekt richtig erstellt wurde. Ähm, nein, ich habe das zweimal gestellt, damit wir das loswerden. Ähm, cool. Also denke ich, wir können hier ein paar Tests machen, bevor wir die Put und Elite machen. Also hier haben wir unseren Postboten und, ähm, wissen
Sie, bevor wir uns freuen, wie, spielen mit dem Post und Punkt für die Haustiere, Lasst uns voran gehen und überprüfen, ob es offen läuft und es läuft. Und ich habe diese,
wie,
habe ich ein wie, Haustier in diesen ersten Laden gesteckt. Also weiß ich es. Ich bemerke das I d ah hier. Und dann werde ich den Posten verheimlichen. Sie beginnen den Beginn der alten Art Test, die wir zu Beginn des Kurses gemacht haben, richtig? Sie sind also nicht Ah, sie sind nicht so, als würden sie richtig arbeiten. Aber mal sehen, ob wir das schaffen können. Also haben Sie den Post-Endpunkt. Es werden lokale Gastgeberhaustiere sein. Ich denke, wir haben nicht den Header, also müssen wir die Header bekommen, und der Körper ist definitiv nicht richtig. Also habe ich gerade ein Objekt erfunden, mit dem man voran gehen und testen kann. Also ist es nur mein echter Hund, Mac. Er sagt, sie soll,
ähm, das H ist eigentlich 11. Ah, er ist dieser Laden. Das ist ein Preis, den ich gerade erfunden habe. Aber für mich natürlich ist
er
natürlichviel wertvoller als das. Ah, also, ähm, ich muss das vorerst speichern. Ich muss das Token dafür besorgen. Also haben wir X oben. Die kleine Galle und dann x Token ist dieser Wert dort. Also lasst uns voran gehen und das speichern. Also haben wir ihren Körper, wir haben die Kopfzeilen, also sieht alles gut aus. Ähm, und lasst uns weitermachen und einen Beitrag machen. Mal sehen, ob das hier läuft. Ja, es läuft. Also posten Sie Ah, wir haben einen Fehler. Penn ist nicht definiert. , Sieh mal,ob ich das Paket oder die Datei überprüfen kann, die das rauswirft. Okay, also glaube ich, ich habe nicht, ich meine Import von Haustiermodellen. Importieren Sie Haustier, Äh, heute Strange. Oh, weil es Gott war. Es war schon mal hier, und ich glaube, ich habe es einfach von Haustiermodellen übertrieben. Import Import Wette. Okay, versuchen
wir es nochmal. Perfekt. Also haben wir unser Haustier erschaffen. Sie können die Details hier sehen. Also haben wir es. Es ist eine Rasse „Rasse „. I d. Die Links sind der individuelle Haustiername. Mac Preis empfangenes Datum. Das Datum kam vollkommen in Ordnung. Und ach, sieh mal, wie wir vorbeikommen. Das ist eine Verabredung, aber das ist sehr das ist eine knifflige Sache, weil wir das eigentlich weitergeben. Das ist eine Schnur und was wir auf dem A P ist,
dass wir machen,ist,
dass wirdas
benutzen. Ah, eine Zeichenfolge, ähm, tagsüber String-Musterzeit, die ein bekanntes Muster für ein bestimmtes,
äh,
String in ein Tagesobjekt umwandelt äh,
String in ein Tagesobjekt umwandelt . Und das sparen wir in der Datenbank. Und dann, wenn er auf dem Rückweg ist, wandeln
wir das in,
ah,
Schnur mit dem Eis um ah, . So formatieren. Es sieht also sehr einfach aus, aber es ist eigentlich ein ziemlich cooles Setup. Und Sie können das für Ihre AP-Augen verwenden, jetzt für das Get um, eigentlich, ah, ich meine, wir könnten das I D
hier bekommen . Wir müssen, wie, auch kopieren und einfügen. Also, das ist für diese große Lassen Sie uns tun, dass sie alle Endpunkte bekommen. Sieh mal, ob das funktioniert. Also holen Sie alle Haustiere und Punkt Uh, wir haben das Token, aber ich bin vielleicht nicht der neueste Kaffee und Gesicht, dass nur für den Fall. Oh, es war ein guter, sehr guter. Also, wenn wir sagen, schicken Sie, wir kriegen alle Haustiere. Und natürlich gibt es nicht viele von ihnen, aber es ist ST Pats Basis gleich eins, und es gibt Mac als das einzige Objekt dort zurück. Das funktioniert also alles. Gut. Jetzt holen wir uns ein Haustier und einen Punkt. Das braucht definitiv viel Arbeit. Also denke ich, ich habe das Max I D kopiert und die Kopfzeilen bekommen. Also brauchen wir X. Uh, mobil
sein X Toke und kein Reden. Ähm, und lassen Sie uns das kopieren. Warte, das ist das „Das ist das Zeichen“. Und die Idee, dass ich vielleicht falsch liege. Wo ist Max? Ich wäre dieser hier, okay? Basiert Hier starten und speichern Sie diese Senden. Perfekt. Also haben wir max Objekt hier und da gehst du. , Beachten Sie,dass wir, wissen
Sie, wir bekommen hier die Ladendetails, was sehr gut ist. So sollte das AP Eis so funktionieren, wie Sie es nicht sein sollten. Du sagst, Store und der I. D. Ähm, du solltest einfach, du weißt schon, dem Aufstieg mit all den Informationen
helfen. Wenn es ein großes Objekt ist, wie der Laden eine Menge von Objekten dort drin hat, dann könnte man definitiv nur Idee übergeben, vielleicht einige wichtige Details, und dann den Rückgang bekommen alle Details für den Laden, aber weil es kein großes Objekt ist, denke
ich, es ist gut, dass Sie andere Objekte in die Rückkehr Jason einbetten, die Sie dem Client
zurückgeben. Perfekt. Also, jetzt müssen wir zu Fuß und spät arbeiten, also lasst uns weitermachen und daran arbeiten.
30. Haustiere PUT und PUT: Okay, wir werden jetzt an der Put und Elite arbeiten, und das ist sehr ähnlich dem, was wir in den Läden gemacht haben, und es ist tatsächlich ähnlich wie die Post. Also gehe ich einfach voran und passe das aus dem Repo. Also haben wir ein,
ähm, wir werden das Haustier nach dem Haustier suchen und wenn wir das Bett nicht finden, werden wir die 44 zurückgeben, dann
haben wir Pat,
Jason, Toby die Bitte, Jason ,
Jason, Jason. Und wir gehen durch den Validator für das Jason-Objekt. Und wenn es irgendwelche Fehler gibt, wird auf 400 zurückkehren. Ähm, dann suchen wir den Laden basierend auf der Ladenzeichenfolge nach, und wenn wir den Laden nicht finden, dann geben wir eine 400 zurück. Und schließlich versuchen wir das Datum auf DSI, dass es ah ist, es ist ein Validate. Wenn all diese Dinge gehen, na ja, dann legen wir einfach die verschiedenen Eigenschaften fest. Hauptarten züchten Alter Ladenpreis und erhalten Datum, Zehe die Zehe das Haustier und dann speichern Sie das Objekt. Endlich, wo wir zurückkehrten, ein Ergebnis aus. Ok. Und dann ist das Bett-Objekt das bestanden mit der Wette, dass der Anführer etwas
Ähnliches sein wird . Also holen wir das Haustier von außen wie die Andi. Wenn das Bett nicht gründet, würde für vier zurückkehren. Wenn es so ist, wenn es gefunden wird. Und wir sagten, ihr Bett Leben, Zehe falsch, speichern Sie das und geben Sie ein Werkzeug für Also das sind die setzen in der Führung. Also lasst uns die bei der Vollstreckung ausprobieren. Okay, also werden wir diese Dinger jetzt auf Postboten testen, und wir haben hier einen Putt, aber ich werde wahrscheinlich nur, ähm ja, lasst uns das Objekt vom Post-Endpunkt auf seinem Jahreskörper holen. Geh. Und was wir hier tun werden, ist,
dass wir , Max Talk mit Max H 2 12
aktualisieren,also ist er ein Jahr älter, und wir müssen das,
ähm,
das Haustier, das ich D, aktualisieren ähm, . Guettel Wetten und zeigen Sie hier. Und Hoppla, ich habe das ganze Ding kopiert. Die i d da gehst du. Und es hat das vorerst gerettet. Und schließlich müssen
wir die Header hinzufügen. Also lasst uns das Token hier und x oben sehen. Ich d. es ist abscheulicher und akzeptiere Token. Ist das in Ordnung. Sieht aus, als ob dort alles gut aussieht. Also lasst uns das retten. Und genial. Wir steigen aus. 200. Okay, lass uns das Alter sehen. Er ist jetzt zwölf. Äh, wo ist H
O. H. ist die 1., also wurde die Platte richtig aktualisiert. Wir haben eine 200. Okay, das sieht
also gut aus. Und wenn wir den spezifischen Endpunkt bekommen, sehen
Sie, dass das Alter dort 11% sagt. Jetzt sehen Sie, das Alter ist 12 Jahre alt. Ehrfürchtig. Also, jetzt lasst uns die Elite machen. Wir kopieren das Ich wäre hier,
und wir holen die Kopfzeilen X hoch. Wir kopieren das Ich wäre hier, Ich d ist mobil X up-Token. Und es ist gut, dass von hier aus. Ehrfürchtig. Also das ist alles, was wir brauchen sollten. Lasst uns das retten. Also haben wir es und senden perfekt. Wir haben ein Werkzeug vier. Das bedeutet, dass der Server das gelöscht hat. Diese Wette, wenn wir versuchen, Mac Now zu bekommen, hier bekommen wir einen vier Ford nicht gefunden, was ihr Verhalten ist. Wir wollen, dass wir es haben wollen. Ehrfürchtig. Also sind wir fertig mit der Menge. Wir haben erstellen, lesen, aktualisieren und löschen. Und jetzt lasst uns weitermachen und einige Tests für das Bett schreiben
31. Haustiere Tests: Also sind wir mit den Haustieren Krug Endpunkte fertig. Und jetzt machen wir die Haustiere, ähm, Tests dafür für diesen Teil des A P I-Systems. Ich werde es sehr schnell durchmachen, weil es das meiste Zeug ist, das wir beim FBI des
Ladens gesehen haben . jedoch Es gibtjedochein paar Dinge, die ich Ihnen zeigen werde. Eins ist,
ähm, wir haben eine Ausrüstung für die Haustiere und die Läden, die einen Test mischen. Ähm, und ich habe tatsächlich Ideen zur Leuchte hinzugefügt. Stellen Sie also sicher, dass Sie das Repo für die für die Stores Fixtures Fixtures überprüfen, da sie jetzt eine Idee am Anfang
haben. Und so kann ich. Dann können die Haustiere Armaturen Adresse oder ah, tun Sie ein Referenzfeld. Zwei Läden, die auf dieser Jason sind, um, speichert die Fixtures Datei. Also lasst uns anfangen. Okay, also fügen wir die Testdatei hier hinzu, und ich werde das schnell durchgehen, wie ich schon sagte, weil es dem Shop-Test sehr ähnlich ist. Also werden wir die verschiedenen Bibliotheken enthalten haben. , Das ist,
wo das die Einstellungen der Modelle, die wir brauchen, und eso hier. Wir bekommen die Haustier-Testklasse. Wir werden eine App mit diesen Einstellungen erstellen. Und ah, wir werden auch die Einrichtung mit der Applikationsfabrik und einen Abriss haben, bei dem die Basierenden fallen gelassen werden. Ich werde auch ein ab-Wörterbuch einrichten, das kalt sein wird, wenn wir eine neue App erstellen wollen, ein gespeichertes Wörterbuch, das eine Art wie ein Dummy-Store ist, den wir hier erstellen. Und, äh, endlich, haben
wir ein Ah-Haustierwörterbuch, das wir haben werden, ähm, mit irgendeinem Vorbild wie,
äh, äh, Haustier-Objekt. , Und wieder, wie wir sehen können, habe ich den, äh, meinen Hund Mac, da
drin. Ähm, dann haben wir eine Methode, ähm, Helfer mythisch. Erstellen Sie eine p i App, die Ah, im Grunde eine zu große App mit dem Apsis Endpunkt posten wird. Und dann werden wir auch ein generiertes Zugriffstoken haben. Ah, Helfer. Dieses Rad generierte den Zugriff und sagte, dass es
von diesem Punkt an das Selbst-Token nach der für die Klasse gefragt hat, ähm, ich habe auch die Header, und schließlich können
wir beginnen, einige Tests zu machen. Also die ersten Dinge, die wir hier tun müssen, ist
er, um die A p i App zu trauern und dann das Zugriffstoken zu generieren. Ah, generieren Sie unseren ersten Laden. Und dann endlich testen
wir das Erstellen
eines Haustieres Haustieres. Das ist der eigentliche erste Test, den wir hier machen. Also werden wir auf den Endpunkt der Haustiere mit Kopfzeilen posten, dem hinteren Wörterbuch, das wir haben, und dem Haustier, das ich d wird in diesem lebensfähigen gespeichert und wir werden behaupten, dass wir ein Werkzeug eins haben. Es gibt so viele Sachen. Eine Sache, die hier ein bisschen anders ist, die ich nicht weiß, ob Sie bemerkt haben, ist das auf dem Bett Wörterbuch? Ich verweise eigentlich auf Selbstgeschichte,
also würden Sie denken , warum funktioniert das? Wir haben bis dahin noch nicht mal Story D
aufgestellt. Nun, die Dinge, die, wenn wir einrichten oder wir definieren die Hilfsmethode, wir nennen es nicht wirklich. Wir definieren es nur. Das ist also eine Art Lebensfähigkeit, die später festgelegt werden wird. Und tatsächlich, wenn wir es nennen, haben
wir bereits einen Laden erstellt und ich speichere das in dieser Selbstgeschichte. Sei so, dass, wenn ich das Self Back Dictionary anrief, dass, ähm, dass es lebensfähig ist und und es gut gehen kann, also das ist ein kleiner Trick, den ihr benutzen könnt. Und, äh, wissen
Sie, wir werden das in diesem Fall verwenden,
eso Nein, eso Nein, lassen Sie uns die älteren Tests durchlaufen, die „get and edit and delete“ sind. Also für das Aufstehen werden wir tun, ah, wir werden den Endpunkt für Haustiere treffen. Plus bezahlt ich d mit den Kopfzeilen und wir sollten raus. Ah, Statuscode aus 200 für die Bearbeitung. Ich werde,
ähm, ein neues Objekt
erstellen, dass es eine völlig andere Wette ist. Und ich werde im Grunde den Endpunkt mit dem Haustier i d treffen und ich werde überprüfen, ob der Status Cody 200 ist und dass , die Tierart aktualisiert wurde,um Katze zu sein. Und schließlich werde
ich die Elite ein Haustier, das trifft den gleichen Endpunkt mit löschen und das hatte ich d.
Und ich behaupte, dass der Statuscode zu einem vier ist und dass die Zählung für Haustiere,
die das Leben haben gleich falsche Flagge wird zu einem gesagt. Das ist also ein ziemlich umfassender Start, weißt
du, Test für die Menge. Ein Teil davon. Uhm, ich werde jetzt voran gehen und ah, beim Test auf dem Test B Y. Also werde ich hier gehen und ich werde sagen, von BET Tests Import Haustier Test, und das wird dann enthalten, dass dort. Ähm,das ist ein guter Anfang. , Wir werden die Paginierung mit dem mit den Vorrichtungen testen, aber ich denke, wir können diesen Test jetzt durchführen und sehen, was passiert. Um den Test durchzuführen, werden
wir sicherstellen, dass unsere Kontinuitäten laufen und wir überprüfen, wie der
Docker-Container-Name ist. Ah, es sieht aus, als wären es Haustiere ap. Ich bin eins gegangen. Also werde ich sagen, Docker außer Dash,
ich
tiere ,
ich ein p i Web eins und dann per Telefon. Drei Tests sind Warum? Okay, also gehen wir weiter und machen das perfekt. Also hier sehe ich, dass die Vorrichtungen für die Läden mit laufen wurden. Deshalb bekommen wir, dass importierte 23 Objekte. Aber die Tests laufen gut. Das ist also ein guter Anfang. Also lassen Sie uns jetzt voran und versuchen, die Fixtures einzurichten, um die Paginierung zu testen
32. Haustiere Pagination: so die Stirn und erstellen Sie die Vorrichtungen hier auf der Wette. Also werden wir einen neuen Ordner namens Fixtures erstellen. Und in diesem Ordner haben
wir eine Akte namens Pets, die Jason und Ah sehen. Also werde ich das aus dem Projektarchiv in Here you go kopieren. Also haben wir Ah, wir haben 15 Pats, und viele von ihnen sind Ah, Sie können hier sehen, dass sie eine, ähm und ich d bereits gesetzt werden, sowie eine externe wie die und, ah, viele von ihnen gehörte zu dem gleichen Geschäft. So sehen Sie, hier ist die B acht c am Ende, mit Ausnahme der letzten drei. Und das liegt daran, dass ich die Paginierung auch in Geschäften testen möchte. Wenn wir zu dem Punkt kommen, wo wir Paginierung Impfung durch Haustiere, die in einem
bestimmten Geschäft sind , so können Sie das greifen. Es ist der Jason aus dem Get Report,
Leute, die in der,
ähm im Kurs verbunden sind. Das ist also das. Also, jetzt werden wir den zweiten Teil des Tests machen, das Paginierungsstück sein wird, also lasst uns damit anfangen. Also lassen Sie uns voran und testen Sie die Paginierungsfunktion dort. Also werden wir sagen, Test Paginierung. Uh, zuerst machen wir die Arbeit und importieren die beiden Geräte, die Läden und
das Haustier, und jetzt holen wir die älteren Haustiere. Und wir müssen nur den,
ähm,
den Endpunkt des Haustieres bekommen ähm, und den nächsten Blick dort überprüfen. Und dann bekommen wir auch die zweite Seite mit Haustieren und wir werden überprüfen, ob die vorherige Seite auch dort ist. Also, das ist so ziemlich es. Das sind alle Paginierungstests, die ich habe. Und ich denke, es ist ah, es ist eine ziemlich gute Text-Test-Berichterstattung dort. Also lasst uns weitermachen und versuchen, das zu laufen. Und so lassen Sie uns den Bildschirm hier löschen und Python drei Tests ausführen. Perfekt. Also alles läuft perfekt hier, dass wir jetzt die 15 Haustiere importiert werden und die 23 Geschäfte auf, ähm auf der zweiten Anlage, die auf dem zweiten Test, den wir laufen. Also, das war's. Wir haben unsere Haustiere,
aber voll getestet,
alsosind
wir fast fast fast Ah,
das Ende. Wir haben unsere Haustiere, aber voll getestet, also sind
wir fast fast fast Ah, Ähm, aber wir haben jetzt
ein paar Lektionen. Wir wollen durchgehen
33. Alle Haustiere in einem Store Endpoint bekommen: Okay, in den nächsten zwei Lektionen geht es um Suchfunktionen für R A P I. Die erste 1, die wir machen werden, ist, alle Haustiere in einem Geschäft zu bekommen. Und die zweite 1, die die nächste Lektion sein wird, ist,
über
die älteren Haustiere zu schauen ist,
über
die älteren Haustiere zu schauen,
die Filter für
die Rasse und die Spezies benutzen. ,
die Filter für
die Rasse und die Spezies benutzen ist,
über
die älteren Haustiere zu schauen,
die Filter für
die Rasse und die Spezies benutzen. Mal sehen, wie wir das machen. Also wollen wir einen Endpunkt namens Store Story D Haustiere bekommen, um alle Haustiere in diesem Laden . Um das zu tun, werden
wir einen neuen Endpunkt haben, und wir werden das den folgenden Code nennen. Wenn ein Laden oben auf Ihrer l-Story, die Haustiere und wir werden das mit einer Get-Methode bekommen, Ähm, vom FBI. So cool. So weit, so gut. Also werden wir, ähm, als Nächstes arbeiten wir an der A P i selbst. Also lasst uns das retten. Und wir werden ein paar Bibliotheken hier hinzufügen, wenn ich sage, von fetten Modellen importieren Haustier und von Haustiervorlagen importieren Haustiere bis. Ähm, ich werde auch so etwas wie die gleiche,
äh,
Konstante hier haben äh, . Ich werde sagen, dass Selbsttiere pro Seite 10 sein werden. Also, was wir tun werden, ist, dass wir Paginierung auf dem, ähm, auf dem tatsächlichen Endpunkt haben werden. Ähm, und, äh, wir werden, ähm, Hälfte. Wenn es mehr als 10 Haustiere in diesem Geschäft gibt, wir die,
du weißt schon,
vorherigen,
äh,
ähnlich wie Endpunkte haben du weißt schon,
vorherigen, äh, äh, . Das nächste, was wir tun werden, ist, dass wir das Haustier modifizieren, äh ,
en pointe, und wir werden einen folgenden Code haben. Tun und sagen Sie, wenn Haustiere in der Anfrage, Ihre URL, dann werden wir die Objekte von den Haustieren, die in diesem Geschäft sind, bekommen und dann die Seite lebensfähig und erhalten die Paginierung davon. Und dann wird die Antwort ein Ergebnis sein. Ok? Mit den Links von der ah, dieser Haustier-Seite und dem,
ähm, ähm, dem tatsächlichen Ladenobjekt, das darin eingebettet ist. , Wenn wir Vorschauen haben und das ist so,als hättest du das schon mal gesehen, dann werden wir eine vorherige Seite bis zum Endpunkt schreiben, und wir werden auch prüfen, ob es die nächste ist. Dann haben wir die,
äh, die Verbindung, die uns hochgesteckt hat. Nun, okay, also das ist, wenn die Haustiere in der Anfrage sind, dass Ihre URL dann werden wir
etwas anderes sagen . , Wenn das ist,ist es nicht auf dem Endpunkt. Dann haben wir nur die Antwort für das für das Store-Objekt. Und dann haben wir das Objekt zurück zum Endpunkt gebracht. Also, das ist die Änderung für die Geschichte, P I Jetzt müssen wir auch einige Änderungen an den Haustiervorlagen zu tun. Ähm und so ist die Idee hier, das ist eine neue Sache, die wir hier einfügen, jetzt werden wir eine Wohnung mit dem Namen „Kein
Laden gleich wahr“ passieren . Was ist die Idee? Die Idee, dass ich waas hätte Wenn keine Geschichte wahr wäre, dann werden wir nicht auf die Haustiervorlagen haben. Äh, genau hier. Wir werden den Ladenlink nicht reinschicken lassen, weil es sein wird. Es macht nicht viel sensibel. Ah, wenn wir nach den Haustieren in einem bestimmten Geschäft suchen, damit alle Haustiere da drin mit dem Laden immer wieder wiederholt werden. Also, was wir tun werden, ist, dass wir das Geschäft Stück haben, um optional zu sein, und es wird nur angezeigt, wenn sie wissen, Store Flag A sagte zu wahr. Mal sehen, wie wir das machen. Also werden wir,
ähm, die Flaggennotizen Speicher gleich fällt hier, und das ist ein Standard. Und denken Sie daran, bei
Python-Funktionen, wenn Sie einen Umfang mit einem Standardwert übergeben, bedeutet das, dass Sie ihn entweder übergeben können oder Sie ihn nicht übergeben müssen. Ähm, so ist das irgendwie wie ein na optional ein fiktiver Parameter. Und was ich hier tun werde, ist, dass ich das herausnehmen werde und ich werde sagen, statt Rückkehrtage, werde
ich sagen, Wette Objekt ist gleich diesem. Okay, ähm, und dann werde ich sagen, wenn nicht wissen, Geschäft. Dann werde ich sagen, Haustier Objekt ein bisschen weg. Objekt. Oh, Laden wird ein Ladenobjekt aus dem Pat Dot Store sein. Ok. Und schließlich werde
ich das Haustier-Objekt zurückgeben, und ich muss auch die No Store-Flagge hier haben, weil denken Sie daran, dass Dysfunktion aufgerufen werden kann, ähm, von der für die individuelle Art von wie Vorlage, aber es könnte auch von der aufgerufen werden Wenn ich eine Liste von Haustieren bekomme, möchte
ich in der Lage sein, das auch zu tun. Also hier werde ich sagen, Haustiere Objekt. Ein Pen Grube Objekt, Bad Kama, kein Laden. Und die Art, wie ich die Flagge bis zum Tierobjekt übergab, um die Funktion. Das ist also das. Und ich denke, das ist alles, was wir für die tun müssen, aber wir müssen eine kleine Änderung auf die auf den
Store-Vorlagen als auch tun . Es sind also die Store-Vorlagen. Also, was ich hier tun werde, ist nicht,
um , um, an einem der Haustiere Endpunkt der neuen Endpunkt Zehe der Länge,
so dass wir
beobachten können an einem der Haustiere Endpunkt der neuen Endpunkt Zehe der Länge,
so dass wir
beobachten können. Hey, hat und ah die möglichen Links ausgesetzt, die wir haben. Also werde ich diese Haustiere Rehl nennen. Also? Also müssen wir die Haustiere holen. Und dann werde ich sagen, Schrägstrich speichert Schrägstrich Prozent fragen, was ein String Schrägstrich
Haustiere und dann Prozentsatz sein wird. Ah, speichern Sie das extern. Mir geht es gut. Also, jetzt müssen wir eins verknüpfen. Es wird dieses Selbst sein und es wird eine Haustierschiene sein, die dem Kunden sagt, oder übrigens, wenn Sie die Gruben in diesem Laden bekommen wollen, müssen
Sie nur diesen Schrägstrich Haustiere auf die Einzelperson machen. Ah, kühl
aufbewahren. Also lassen Sie uns das ausprobieren und sehen, wie es funktioniert.
34. Testen: Okay, jetzt möchte ich versuchen, die Haustiere in einem bestimmten Geschäft zu bekommen. Und dafür möchte ich es sprengen die Armaturen mit dieser Leuchte Ah,
Funktion, die ich auf der Anwendung p y habe und ältere Geschäfte sowie ein Haustier laden. Also das hier ah, fixiert Sie sich auf das Unter-Repository, das ich auf jede Lektion zeige. Und das Gute ist, dass die Armaturen für einfache die Läden haben ein i d. Auf der Wette. Ich habe den externen Link zu den Geschäften mit der Idee, die hier gegründet wurde. Also haben Sie ah, ziemlich gute Daten, um mit zu spielen. Also musst du das nicht aus Französisch
bauen. Die Art und Weise, wie wir das tun werden, ist, dass wir öffnen, und Sie stellen sicher, dass Ihre Docker-Container laufen und eine neue Registerkarte öffnen. Und auf der Oberseite werden
wir versuchen, die,
ähm,die ähm, telefonisch zu
sehen, mich
zu verwalten. Warum shell und importieren, dass diese Fixtures hier funktionieren, die wir für den Test haben und es verwenden, um unsere oder Daten zu laden. Also werde ich sagen, Docker ex SEC. Ich t, äh Haustiere ap I Web ein per Telefon drei Managed B y Shell. Also rufe ich das „Manage Me“ an. Warum? Mit Python drei innerhalb des Containers, aber ich interagiere tatsächlich mit ihm von der aus der Shell aus meiner anderen Geruchsschale. Siehst du, du hast diese drei kleinen Pfeile da. Das bedeutet, dass wir auf der Muschel sind und bereit sind zu gehen. Das erste, was ich tun werde, ist, dass ich die vorhandenen Daten, die wir haben, löschen werde,
damit wir,wissen
Sie,
alles sauber von Grund auf neu haben wissen
Sie, . Also werde ich sagen, von Ladenmodellen importieren, äh, Geschäft. Und ich werde sagen, von diesen Modellen importieren Haustier und sie wollen Ladenoptik sagen. Oh, die Elite. Und ich will ein sicheres Haustier Objekte, die
ganze Elite, und sie werden nicht von Anwendung Importvorrichtungen sagen. Ist das Fixtures oder repariert ihre Vorrichtungen? Ok. Und dann werde ich sagen, ähm, Vorrichtungen. Wir müssen die Datenbank Earp übergeben. Es ist ein p I. Wir müssen die Sammlung übergeben, die ist Speicher, und dann der Verwandte, ähm so das Bild eingereicht relativ zu der Petopie. Also wäre es in diesem Fall für die für den Laden wäre Ladeneinrichtungen,
Geschäfte, Jason,
Ladenvorrichtungen Jason ,
Läden, Läden, Jason, um, und dass importiert die 23 Objekte dort. Lassen Sie mich diesen Bildschirm löschen,
und dann werde ich sagen, Befestigungen passen zu einem Pi I,
äh,
Haustier. Lassen Sie mich diesen Bildschirm löschen, und dann werde ich sagen, Befestigungen passen zu einem Pi I, äh, Und dann zwei pats Vorrichtungen. Tatsachen, die Jason. Oh, ist es schlimm? Wette? Ja, ihr Haustier ist hoch. Richtig. Ehrfürchtig. Also haben wir jetzt diese 15 Objekte und die Läden importiert. Und lassen Sie uns überprüfen, ob wir die Geschäfte so richtig eingerichtet haben, also werde ich all die Läden bekommen und perfekt, ich habe Sie wissen, Seite 1 Auge diese eine Seite auch, was bedeutet, Sie wissen, es geladen mehr als, um 10 das ist ein Glaube Tennis, die Anzahl der Quelle. Und, ähm, und lassen Sie mich alle Haustiere dazu bringen, zu sehen, ob das auch funktioniert. Und doch haben wir einen Haufen Fledermäuse da drin mit einem anderen Geschäft. Also, jetzt werde ich testen, was wir gerade getan haben. Nun, das ist bekommen die Haustiere in der in einem einzelnen Geschäft. Ähm, ich habe hier vorinstalliert. Ich habe ah Shop I d. Das ist
die 1. 1, die mehr als 10 Haustiere ich wollte Zeh. Überprüfen Sie auch auf die Paginierung so immer noch gesendet. Und wie Sie hier sehen können, funktioniert perfekt. Ich bekomme alle Haustiere, die in diesem Laden sind und ah, sieht wirklich gut aus. Und wir haben ein Seitentool. Also, wenn wir hier Fragezeichen Seite gleich zwei übergeben. Wir bekommen die zweite Seite. So perfekt. Jetzt siehst du, wie das funktioniert. Und, ähm, weißt
du, es ist ah,
es ist ein sehr guter Ansatz, um Objekte zu bekommen, die sich in einem anderen Objekt befinden, auf verwandte Weise.
35. Haustiere mit Filter suchen: wenn die Funktionalität kommt, die wir jetzt finden wir in AP Augen ist die Fähigkeit Toe Filter über Objekte mit einer Art aus wie Parameter auf dem Kommandanten auf dem Auge, wo Sie kamen ,
zum Beispiel in unserem Fall, dass sagen wir haben den Endpunkt der Guettel-Wetten. Anstatt alle Haustiere in allen Läden zu sehen,will ich
vielleicht nur die Hunde sehen,
richtig. Anstatt alle Haustiere in allen Läden zu sehen, will ich
vielleicht nur die Hunde sehen, Das wäre ein sehr häufiger Anwendungsfall. Richtig? Also, ähm, was ich gerne tun möchte, ist, dass ich so etwas wie ein Fragezeichen sagen und dann,
äh,
Art ist dunkel,
zum Beispielsetzen ,
äh, Art ist dunkel, zum Beispiel und die Fähigkeit haben, durch all die Haustiere und Punkt, um, aber nur zeigen, dass die Hunde und die gleiche Sache. Wenn ich weiter filtern wollte, könnte
ich so etwas wie und züchten gleich. Ah, Bettwäsche würde, sagen
wir, richtig, damit ich wäre, Sie würden all die älteren Laken bekommen, die über
all die Zoohandlungen hunden , weil, wissen
Sie, wenn ein gemeinsames für Charlie wäre Oh, Ich möchte ein Blatt zu bekommen und ich möchte sehen, in welchen Geschäften sie diese Art von Hund verkaufen. Das werden wir jetzt tun, und es ist nicht sehr kompliziert. Eigentlich ist
es eine sehr skalierbare Lösung, die wir verwenden werden. Also lassen Sie uns voran und ändern Sie den Pet A PR Endpunkt. Also lassen Sie mich hier genau stoppen. Und die einzige Sache, die wir haben werden, die wir jetzt nicht haben, ist, dass
Sie sehen, wie wir all diese Haustiere haben, wie die H ref und die hat Vorschauen. Das ist der Nächste. Wir müssen das ändern, weil wir Filter haben. Also wären Sie irgendwie , seltsam zu tun,wenn der ich will Filterparameter Arten ist, dann senden Sie diesen Link und wenn nicht und so würde das viel Sinn machen. Also, was wir tun werden, ist, dass wir eine Art von Vorlage haben, die wir hier
einfügen werden, was pet h r H ref sein wird. Und dann werden wir sagen, Haustiere Seite und dann Prozent s, was im Grunde ein ist, dass das Tempo, das die Person sagt, aber wir werden ableto dann dynamisch zu diesem H ref hinzufügen basierend auf den Unterfiltern , dass der Benutzer Augen ist anfordernd. Also hier werden wir folgendes tun. Also in unter dem eigentlichen Filter hier, werden
wir es tun, folgendes wird es haben, wenn Spezies,
in Anfrage Argumente, in Anfrage Argumente, wir werden nach der Spezies filtern und nach dem Schmerz, der h dieses Anforderungsargument auf der Gleiche Sache. Wenn wir in den Anforderungsargumenten gezüchtet
haben, können Sie das mit dem,
ähm,
dem Anforderungsargument filtern ähm, und das zum Papageiengewehr hinzufügen. Nun, eine coole Sache bei der Verwendung von Abfragen in oder EMS ist, dass Sie weiter filtern können. Also, zum Beispiel, wenn wir Arten hatten und dann Minderheiten züchten, ändern wir die Haustierabfrage zweimal und das ist in Ordnung. Was das tun wird, ist, dass Haustiere anfangs nach Arten
gefiltert werden , oder? So zum Beispiel haben
wir
zum Beispieleinen Hund oder Hunde. Ähm, wann
dann? Wenn wir eine Rasse auch dort haben, bezieht sich
diese Haustiere auf diese Haustiere bereits von Hund gefiltert. Sie sind also wie ein zweiter Filter zu machen, der perfekt ist, ist genau das, was wir tun wollen. Aber wenn von einigen Sie wissen, wenn der Benutzer nur mutig vorbei, zum Beispiel, so Rasse gleich Scheiß. Also, ohne die Spezies zu passieren, funktioniert
das auch. Weil diese Haustiere dann auf alle Haustiere verweisen würden, wie die älteren Tierobjekte, die wir haben, wir hier drin haben, oder? Das Leben ist wahr. Und jetzt würden wir einfach mit großen
filtern,
was nicht viel Sinn ergibt. mit großen
filtern, Wenn du sie auch suchen würdest. Ich würde sagen, dass Sie auch Arten passieren würden, aber wir beschränken das nicht. Und Filter in der Natur sollten so dynamisch sein. Also bin ich einfach wie, posten, dass es hier der Fall sein wird. Okay, das nächste, was wir tun werden, ist, dass wir diese h ref aktualisieren. Um, lebensfähig ist zu sagen, das Folgende wird es jetzt schlecht sein h ref und dann Prozent Seite. Und so werden wir haben, dass es die neue Vorlage für die
Augen benutzen wird, die wir hier finden. So das Gleiche hier. Und endlich die hier drauf. Ehrfürchtig. Das ist also das. Sagen wir das und probieren wir es aus. Also jetzt, wenn ich als Nächstes Haustier mache, überprüfe, ob das funktioniert. Das sieht also gut aus. Und die Sie sehen, dass die Vorlage ing oder sie sind ein treff lebensfähig funktioniert gut dort drin. Aber jetzt gehen wir weiter und suchen nur nach Hunden. Also werden wir ah, Spezies ist gleich Hund und bemerken, dass ich ah,
Groß- oder Großbuchstaben auf dem D mache , weil das die Art und Weise ist, dass es auf dem,
ähm, auf den Datenobjekten, die wir zerquetschen könnten, Sie wissen schon, mit einem Kleinbuchstaben. Aber wir müssten alle Objekte speichern, um das zu haben, ähm, noch Fälle. Nun, schreiben
wir das aus. Und perfekt. Jetzt sehe ich, dass die A tückische Wetten Ph ein und Arten gleich stecken, Das ist
die aktuelle ein Drift. Und jetzt siehst du,
dass ich hier nur
Docks reinkomme ,
was ziemlich cool ist. , Ähm, und das scheint gut zu funktionieren. Und dann
suchen wir nach dem anderen Filter, die Rasse ist. Richtig? Also werden wir tun und züchten gleich Ah, Scheißkerl. Sue und schicke dann. Ok. Perfekt. So sie jetzt Trip reflektiert, dass es ein Raum physisch beginnt Zucht gleiche Blatt. Und jetzt bekomme ich nur einen Hund
, der mein Hund ist, Mac. Ähm, so perfekt. Das war's also. Das ist ah, wie wir Filter machen können. Und Sie können zum Beispiel darüber nachdenken,
Filter für
die Geschäfte
zu deaktivieren . die Geschäfte Sie möchten die Geschäfte auf eine bestimmte Nachbarschaft oder Sitz-Code erhalten. Weißt du, der Himmel ist die Grenze. So tolle Arbeit.
36. Schlussbemerkung: Okay, das war's
also. Wir sind vom Kurs zum Schluss gekommen. Ich hoffe, Sie haben ein wenig über ruhende FBI-Grundlagen gelernt Was es bedeutet, eine Pause voll zu sein, ein p I und wie toe die Flasche globale Ansichten verwendet, um sehr einfache und sehr skalierbare AP
I-Plattformen zu erstellen. Nun, natürlich, das ist der nächste Schritt. Ich werde Ihnen empfehlen, einen Blick auf einige der A P I Bibliotheken zu werfen. Ich denke, die beliebteste ist eine Kolbenruhe voll. Und, ah, weißt
du, ich könnte vielleicht vielleicht ein
YouTube-Video machen ah,weißt
du,
ich könnte vielleicht vielleicht ein
YouTube-Video machen. Stellen Sie sicher, dass Sie meinen YouTube-Videokanal mit vielleicht versichert, wie, Tutorial darauf. Aber ich denke, es ist besser, auf diese Weise zu lernen, wie man die auf einer P I-Plattform baut, wie neu, ohne eine dieser Bibliotheken zu verwenden, denn dann bekommt man zu schätzen, was hinter den Kulissen geht und warum die Bibliotheken die Dinge zu tun, die sie tun. Also vielen Dank für den Abschluss des Kurses, und wir werden in der nächsten sehen