ASP. API NET Core et développement Blazor | Trevoir Williams | Skillshare

Vitesse de lecture


1.0x


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

ASP. API NET Core et développement Blazor

teacher avatar Trevoir Williams, Jamaican Software Engineer

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction

      1:57

    • 2.

      Installer Visual Studio 2019 Community Edition

      10:14

    • 3.

      Installer SQL Server Express Edition

      5:21

    • 4.

      Créer un compte GitHub

      2:28

    • 5.

      Installer et explorer PostMan

      9:39

    • 6.

      Créer . Projet d'API Web Net Core

      10:10

    • 7.

      Visite de la structure de projet et des dossiers

      18:21

    • 8.

      Configurer et utiliser l'interface utilisateur Swagger

      28:09

    • 9.

      Configurer la journalisation avec NLog

      22:18

    • 10.

      Paramétrage CORS

      4:30

    • 11.

      Réviser et ajouter des modifications à GitHub

      3:55

    • 12.

      Créer une base de données dans SQL Server

      14:29

    • 13.

      Implémenter les cours de données et le framework Entity

      16:42

    • 14.

      Mettre en place AutoMapper et les DTO

      11:54

    • 15.

      Réviser et ajouter des modifications à GitHub

      1:47

    • 16.

      Auteurs : mettre en place un référentiel et un service

      23:27

    • 17.

      Auteurs :

      7:28

    • 18.

      Auteurs : Setup GET Endpoints

      31:33

    • 19.

      Auteurs : Setup CREATE Endpoint

      23:19

    • 20.

      Auteurs : Setup UPDATE Endpoint

      18:06

    • 21.

      Auteurs : Setup DELETE Endpoint

      9:15

    • 22.

      Réviser et ajouter des modifications à GitHub

      1:59

    • 23.

      Livres: setup référentiel et service

      7:29

    • 24.

      Livres: Régulateur d'installation

      3:14

    • 25.

      Livres: Setup GET Endpoints

      15:30

    • 26.

      Livres: Setup CREATE Endpoint

      17:36

    • 27.

      Livres: Setup UPDATE Endpoint

      13:01

    • 28.

      Livres: Setup DELETE Endpoint

      9:22

    • 29.

      Réviser et ajouter des modifications à GitHub

      1:58

    • 30.

      Tableaux d'identification en échafaudage à la base de données existante

      7:16

    • 31.

      Utilisateurs et rôles des tests de démarrage

      20:20

    • 32.

      Setup utilisateur

      15:24

    • 33.

      Authentification JSON Web Tokens (JWT)

      26:49

    • 34.

      Autorisations de régulateur et d'action

      14:57

    • 35.

      Réviser et ajouter des modifications à GitHub

      6:23

    • 36.

      Créer et comprendre la structure de projet Blazor

      21:13

    • 37.

      Mettre en place des référentiels client HTTP et de service

      29:08

    • 38.

      Setup User Registration (API)

      20:05

    • 39.

      Formulaire d'inscription d'utilisateur

      31:28

    • 40.

      Configurer l'identifiant utilisateur - Étendre le fournisseur d'authentification Blazor

      40:20

    • 41.

      Setup User Login - Partie 2

      22:04

    • 42.

      Réviser et ajouter des modifications à GitHub

      3:01

    • 43.

      Mettre en place le référentiel d'auteurs et le service

      7:26

    • 44.

      Auteurs de liste de réglage

      23:18

    • 45.

      Voir l'auteur

      22:01

    • 46.

      Setup Update Author

      22:02

    • 47.

      Setup Delete Author

      7:56

    • 48.

      Setup Create Author

      11:17

    • 49.

      Corrections et ajouts essentiels à la mise en page

      9:53

    • 50.

      Corriger la réponse JSON dans le livre d'auteur

      4:05

    • 51.

      Réviser et ajouter des modifications à GitHub

      3:55

    • 52.

      Créer un livre - Partie 1

      32:57

    • 53.

      Créer un livre - Partie 2

      11:45

    • 54.

      Livre de mise à jour de setup

      16:45

    • 55.

      Setup Supprimer le livre

      4:46

    • 56.

      Corrections et ajouts essentiels à la mise en page

      9:29

    • 57.

      Réviser et ajouter des modifications à GitHub

      1:44

    • 58.

      Introduction à Blazor WebAssembly

      11:40

    • 59.

      Port Blazor Server pour Blazor WebAssembly

      13:33

    • 60.

      Modifier le code pour Blazor WebEmly

      19:06

    • 61.

      Corrections et ajouts essentiels à la mise en page

      5:44

    • 62.

      Blazor WebAssembly et téléchargement de dossiers d'API (créer et afficher)

      26:06

    • 63.

      Blazor WebAssembly et téléchargement de dossiers d'API (montage et liste)

      16:15

    • 64.

      Application Web progressive

      6:52

    • 65.

      Réviser et ajouter des modifications à GitHub

      4:06

    • 66.

      Migrer le projet vers . NET 5

      19:40

    • 67.

      Fix File Upload - Supprimer BlazoredInputFile

      11:22

    • 68.

      Corrections de code et de paramétrage

      5:15

    • 69.

      Créer un compte Microsoft Azure

      7:12

    • 70.

      Déployer l'API et la base de données de Book Store

      18:29

    • 71.

      Déployer Blazor Server dans Web App Service

      2:32

    • 72.

      Déployer Blazor WebEmly dans le service Azure Web App

      12:32

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

540

apprenants

--

projet

À propos de ce cours

Présentation générale

Apprendre à créer une API RESTful en utilisant l'API ASP.Net Core 3.1, l'interface entière, le modèle de référentiel et les divers autres outils et services pour les tests et les journalisations, puis les utiliser dans une application Blazor moderne.  Ce cours complet vous montrera comment utiliser VisualStudio et Microsoft SQL Server Express, et explorera le développement, l'utilisation, le test et l'hébergement d'une API REST dans un . Application NET. 

ASP.NET Core 3.1 est le cadre moderne et multiplateforme de Microsoft pour créer des applications Web prêtes à l'entreprise. Dans ce cours, vous apprendrez tout ce que vous devez savoir sur la création d'une API RESTful avec ASP.NET Core 3.1, de la compréhension de la structure et des dossiers à la création d'une API Web complète.

Pourquoi apprendre ASP.NET Core 3.1

Microsoft . NET est la plateforme qui anime la technologie d'entreprise de nombreuses entreprises parmi les plus importantes aux États-Unis et dans de nombreux autres pays. C'est la technologie prédominante utilisée pour piloter la technologie des entreprises à l'échelle de l'entreprise. Les entreprises ont choisi . NET parce que pour son évolutivité, sa fiabilité et son support éprouvées.

Le La langue NET de choix à apprendre est le C #, car elle est aujourd'hui l'une des langues les plus utilisées. C'est un langage de programmation à usage général qui peut gérer presque tous les problèmes, des applications Web dynamiques aux applications Web dynamiques. Il y a donc une forte demande dans le monde entier pour . Développeurs NET dans divers secteurs, ce qui signifie que davantage d'emplois sont disponibles pour les candidats ayant une base sur laquelle ils ont été fondés. Technologies NET.

Mettre à niveau les projets Blazor et API vers . NET 5 *NOUVEAU*

.NET 5 est la dernière technologie dans le domaine des SDK de Microsoft et nous développons cette solution en utilisant . NET Core 3.1, nous faisons une mise à niveau vers . NET 5 avec un effort minimal. TOUT fonctionne encore !

Pourquoi développer avec Blazor ?

Les frameworks Web côté client JavaScript les plus populaires ont été Angular, React, Vue et autres. Dans ce cours, nous le gardons . NET en utilisant Blazor, qui est la réponse de Microsoft à ce monopole.

Blazor vous permet de créer une application à page unique en haut de . NET Core et poursuivre le codage en C # (sans avoir à trop tourner entre C # et JavaScript).

Nous explorerons les nombreuses subtilités du cycle de vie de Blazor, du flux de données, de l'interopérabilité JavaScript et des activités et nuances de développement générales.

Créer une base solide dans . Programmation de base NET :

  • Créer une API Web REST entièrement basée sur les données en utilisant une technologie de pointe

  • Créer une interface utilisateur côté client d'application en utilisant respectivement Blazor Server et Blazor WebAssembly

  • Raccordement à une base de données existante avec Entity Framework Core

  • Motif de référentiel et injection de dépendance

  • Régler la journalisation avec NLog

  • Comprendre les principes de conception REST

  • Comprendre C # et . Syntaxe Web de base en réseau

  • Comprendre l'authentification des utilisateurs avec JWT (JSON Web Tokens)

  • Stocker les jetons Web JSON en utilisant le stockage local dans le navigateur

  • Gérer l'état d'authentification de l'utilisateur dans l'application Blazor

  • Utiliser l'API Web REST dans l'application Blazor (par extension . Applications NET)

  • Comprendre comment utiliser les modèles, les DTO et l'AutoMapper

  • Gérer les paquets avec NuGet Manager

  • Setup GitHub pour la gestion des sources

Contenu et aperçu

Pour suivre ce cours, vous devrez avoir une certaine maîtrise de la programmation orientée objet, sinon en C #. Même si vous n'avez pas beaucoup d'exposition à l'exposition Pile de développement NET, ce cours est très adapté aux débutants et regorge d'astuces de développement.

C'est un cours énorme. Plus de 13 heures de contenu premium, mais intelligemment divisées pour mettre en évidence un ensemble d'activités liées en fonction de chaque module dans l'application en cours de création. Nous nous pencherons également sur le dépannage et le débogage des erreurs au fur et à mesure ; mettre en œuvre les meilleures pratiques ; écrire une logique efficace et comprendre pourquoi les développeurs font les choses comme ils le font. Votre expérience va évoluer étape par étape tout au long du cours et vous serez mis au défi d'être le meilleur possible.

Lorsque vous aurez terminé le cours, vous aurez bougé dans Visual Studio et aurez tellement examiné les erreurs de logique et de syntaxe que ce sera la deuxième nature pour vous lorsque vous travaillerez dans le monde de l'informatique. Environnement NET. Cela mettra vos nouvelles compétences acquises en pratique et impressionnera votre patron et vos collègues de travail.

Le cours est complet avec les fichiers de travail hébergés sur GitHub, avec l'inclusion de certains fichiers pour vous faciliter la réplication du code en cours de démonstration

Rencontrez votre enseignant·e

Teacher Profile Image

Trevoir Williams

Jamaican Software Engineer

Enseignant·e

Compétences associées

Développement Développement Web
Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction: Bienvenue à ce cours passionnant est alimenter dotnet Core API et un blazer n'était pas et le développement du serveur. Oui, c'est exact. Vous allez regarder comment développer une API en utilisant une vitesse sur un noyau. Et vous explorerez Hall pour construire une application client en utilisant blazer. Et nous regardons à la fois le WebAssembly ou n'était pas pour un court et les distributions serveur de cette technologie laser. Mon nom est trouble ou Williams et j'ai plus de 10 ans d'expérience en tant qu'ingénieur logiciel et conférencier. Et je peux vous assurer, je vais rendre tout le contenu très débutant convivial et nous allons avoir beaucoup de plaisir dans ce cours. Mes objectifs pour vous dans ce cours sont de vous avoir pleinement fonctionnel. En tant que développeur de logiciels, vous devriez être en mesure de construire une API Web entièrement pilotée par les données et une application client blazer, ce soit du côté serveur sont le WebAssembly dit, vous devriez au moins être à l'aise et assez compétent pour comprendre pourquoi vous feriez l'un et pas l'autre. Nous allons également examiner certains modèles de conception dans le nom du modèle de référentiel. Et en regardant l'injection de dépendance, nous arriverons à comprendre comment les jetons Web JSON ou JWT en bref, l'authentification sur le workflow fonctionne, nous allons regarder à consommer des API de repos et à configurer l'authentification personnalisée dans blazer. Et à la fin, je serai grand. Nous examinerons également comment nous pouvons déployer nos applications API et clients sur Internet pour une utilisation générale. Certaines technologies que nous explorerons via ASP.NET Core, nous allons examiner l'API et l'authentification JWT Entity Framework Core, le mappeur automatique, l'hébergement API, les tests, le contrôle de source, et même la journalisation. Je vous dis que ce cours est bourré de contenu. Donc, avec tout ce qui dit, je suis excité par ce cours. J' espère que tu l'es aussi, et je te verrai bientôt. 2. Installez Visual Studio 2019 Community Edition: Hé, les gars, dans cette vidéo va installer Visual Studio 2019 Community Edition Maintenant pour accéder au site Visual Studio, nous tapons dans Visual Studio dot Microsoft dot com Photo Ne regarde pas studio bizarre, et nous veulent obtenir l'édition communautaire. Donc, nous avons des professionnels et nous avons de l'entreprise. Mais dans l'édition communautaire est gratuite pour les individus sur les utilisateurs académiques sur ditz. Aussi ouvert, monsieur. Donc encore une fois, hum, si vous êtes dans une séance inter-presse, vous devriez avoir de l'entreprise et vous devez payer une licence pour ça. Mais pour notre projet animal de compagnie, un projet individuel ou des projets académiques open source, les communautés là-bas, il est gratuit et il est entièrement alimenté et en attente d'être utilisé. Donc nous avons juste la communauté sur alors que les déclencheurs ne sont pas seigneur pour un installateur. Donc nous venons de cliquer sur ce Insulted qui vient d'être téléchargé Run. Il va initialiser Onda. Nous pouvons aller de l'avant avec nos installations afin que nous puissions continuer sur ce que juste poissons quelques dossiers pour nous. Très bien, donc une fois que ce sera fini avec ces charges de travail initiales, alors ce qu'il fera est de nous demander. Quels paquets souhaitons-nous installer pour prendre en charge tout ce que nous allons développer . Donc, comme je l'ai dit, nous développons une application web, donc nous avions besoin SP dotnet et le package de développement Web ou de la charge de travail sur. Ensuite, nous prenons ça, euh, nous prenons cette boîte ici puis à droite et nous avons dit, Vous voyez qu'ils nous donnent une petite liste de ce qui sera inclus. Donc, le dernier framework dot net est quatre points il. Donc vous savez, c'est que nous allons obtenir 4.4 à 4.6. Donc je comprends d'aller de l'avant sur le teck. Tous ces tous ces points net framework 4.6 point 1.2 point sept pointent sur. Mais ce n'est pas tout . Nous avons besoin de ce noyau Met, mais ce cours est basé sur dot net core 3.1, qui est le dernier. Mais si vous allez avec Visual Studio et qu'ils obtiennent 0,1 pour qu'on puisse laisser ça tranquille après ça, alors je vais vous montrer comment obtenir 3.1. Aussi, comme on va faire un peu comme ça, je vais juste prendre la case A zéro. Nous n'avons pas à modifier beaucoup plus là-bas. Je coche juste cette case. Assurez-vous que nous avons toutes les bibliothèques qui nécessiteraient que vous puissiez faire une exploration vers le bas. Il suffit de voir ce qui est à votre disposition d'autre. Sûr. Il a quitté le développement de la plate-forme de base de point net. Si vous cliquez sur cette charge de travail, vous obtenez d'autres points de noyau net. Mais je pense que beaucoup d'entre eux sont déjà inclus dans la charge de travail de développement Web car vous remarquez que l'espace total augmentera avec chaque charge de travail que vous choisissez. Donc je vais juste me mettre au pied sur Tick le 01 on. Je vais juste m'assurer d'avoir la charge de travail multiplateforme dot net core sur les charges de travail SB dot net et de développement Web. Nous ne faisons pas beaucoup de développement avec comme votre donc vous pouvez le prendre si vous voulez. Si vous savez que vous avez l'espace, c'est bon. Et bien sûr, plus vous cochez est plus long prendra le téléchargement. Mais je ne vais pas le prendre pour cette particule, Bien sûr, donc une fois de plus nous avons juste le développement net et Web, et nous avons le développement de la plate-forme cross core darknet sur les numéros un à cliquer, Installer sur, alors cela va démarrer l'installation, ce qui est vraiment un ne pas charger. Donc, en fonction de la vitesse d'Internet, cela va varier en longueur. Certains reprennent juste quinto quand tout est terminé ici. Bon, donc ce processus est terminé. Burba a pris juste désapprendre notre sur leur voir qu'ils ont besoin que je redémarre mon ordinateur afin de terminer cette configuration. Donc je vais dire que non. Non, pas que tu n'aies pas besoin de redémarrer, mais il y a autre chose que je veux te montrer avant de te laisser reconstruire. Donc, je vais dire, ne sais pas ce qui est fondamentalement juste ne va pas terminer l'installation tout de suite. Mais je vais juste minimiser cela et je vais vous montrer que nous avons besoin de télécharger les outils dot net core 3.1 sur, donc j'ai déjà cela ouvert et vous pouvez accéder à ce site Web via dot net dot Microsoft dot com on. Ensuite, je suis à Slash Don't Lord, où il me montre que je ne peux pas connaître les outils dot net core 3.1 ou le temps d'exécution pour cela spécifiquement ainsi que dot net framework quatre points il. Donc, nous venons d'installer Visual Studio avec le framework dot net. Quatre points. Ce sont des outils, donc on n'a pas besoin de faire attention à ça. Mais nous avons besoin du noyau 3.1 sur. J' ai dit plus tôt que le noyau dot net est construit pour plusieurs plates-formes. C' est une plateforme transversale. Donc vous voyez que les fenêtres ne savent pas que le Lennox Stone Lord, que les McCoys ne le savent pas et qu'ils ont un médecin ne le Seigneur pas. Bon, alors on va avec les fenêtres. J' utilise une machine Windows sur je vous enseigne basé sur Windows. Mais cela étant dit, quel que soit l'an suivant, vous ne connaissez pas celui qui vous convient sur DWI Run the Up donc je suis Winton. Il suffit de ne pas charger le moteur d'exécution dot net sur. Je vais aussi ne pas connaître le dot net core sdk, donc je vais juste ne pas connaître la X 64 parce que j'étais 64 bits sur. Nous ne pouvons pas le savoir lors de l'installation. Donc, quand l'installateur se décolle, c'est assez simple, un coup d'étoile sur. Ensuite, il fera ce qu'il doit faire. Ensuite, vous verrez que cela a été couronné de succès. Donc, je n'ai vraiment pas mis autant de temps à installer. Je vais juste revenir en arrière et aussi obtenir le sdk. Donc ce que j'ai eu c'était un temps de course. Je suis allé télécharger le SDK no sdk short pour le kit de développement logiciel. C' est là que les vrais outils de développement seront, um, à disposition pour que Visual Studio interagisse sur préavis. Ils disent que cette version est uniquement compatible avec Visual Studio 2019. Donc, si vous avez 2017 ou une version antérieure, alors vous pouvez vouloir mettre à niveau. Donc c'est je ne sais pas. Est-ce que nous allons juste installer que donc et puis démarrer A vient avec une installation de bâton, laissez-le faire son truc. Et puis il dit que tout a été installé avec succès et qu'ils utilisent tous leurs temps et tous les autres nous pointent. Les différents documents que nous pouvons utiliser pour votre ressource est de sorte que nous pouvons fermer cela. Je sais qu'on a fait tout ça. Ensuite, je peux redémarrer les ordinateurs. Je ne voulais pas redémarrer et puis oublier les étapes. Donc, je viens de m'assurer d'installer tout et puis nous faisons juste un gros redémarrage Onda bas l' ordinateur pour faire son truc. Bon, alors sachez qu'Ari Start est terminé. Lettres. Allez-y et tirez sur Visual Studio 2019 sur. Vous pouvez le trouver en allant dans le menu Démarrer, et vous pouvez probablement simplement taper dans Visual Studio va apparaître déjà épinglé mon Visual Studio 2019 à mon menu Démarrer, ainsi que dans ma barre des tâches. Donc, juste en cliquant sur cette icône violette qui ressemble à ce signe infini, nous lancerons notre studio visuel dès qu'il sera lancé. Il vous encourage à vous connecter ou à créer un compte, et vous pouvez le faire plus tard. Non, avec l'ajout de la communauté, ça vous donnera un peu, comme un essai de 30 jours si vous ne vous connectez pas. Donc, si vous choisissez, pas savoir, peut-être plus tard, puis plus tard, vous voyez comme ils disent, ou il a expiré ou quelque chose comme ça. C' est juste dire qu'ils s'attendent à ce que vous vous connectez veut vous connecter. Ensuite, il n'y a pas d'expérience d'expiration que vous avez une partie, donc je vais juste me connecter compte Windows, et ce sont les fenêtres sont des cônes. Est-ce que le Microsoft est un maïs que j'ai dur longtemps avant ? Andi. C' est celui qui abusent de tout comme vos activités connexes que notre maison comprend pour aller de l'avant et se connecter Une fois de plus, vous pouvez créer un cônes Microsoft ou, si vous avez déjà un, il suffit de l'utiliser lors de la connexion. Donc, si vous avez choisi de vous connecter ou vous avez dit ne pas savoir, peut-être plus tard, vous serez conduit au discours où ils vous demanderont quel style vous aimez. Tellement sombre, thème sombre est toute la région. Je ne suis pas bien. Non, mais vous pouvez choisir le thème qui vous convient dans les paramètres de développement. Je vais mettre ce développement web orteil. Donc, Général, oui, c'est bon. Mais alors quel développement ? Ce genre de mettre certaines choses à certains endroits pour le rendre plus évident pour vous de voir. D' accord, donc une fois que tu as fait tout ça, tu peux commencer le studio de résultats Non, peu importe. Je suis la signature des orteils sentir parce que je suis sur un serveur et ils sont certaines restrictions, nos propres activités. Et donc je suis juste en train de souligner ça pour montrer que si tu disais ne pas savoir, peut-être plus tard, alors c'est un écran que tu auras. Une fois le studio visuel Florentines, vous serez invité à vous connecter et à droite. Vous voyez que vous avez un procès de 30 jours. Donc, une fois de plus, votre période d'évaluation comme et que s'il vous plaît vous connecter remorquer beaucoup de produits. Tout ce que vous avez vraiment à faire est de vous connecter à ce message d'évaluation disparaît. Quelqu' un est à nouveau un signe. Très bien, je sais que j'ai été connecté. Tu vois ça ? J' ai le cône personnalisé qu'ils avaient à mon contenu. Et puis ce message d'évaluation a vraiment disparu. Et pour que je puisse choisir des vêtements. Et puis c'est l'écran de lancement de Visual Studio 2019. Donc à partir d'ici, je peux vérifier quelque chose d'un contrôle source. Je peux ouvrir un projet existant, ouvrir un dossier local pour créer de nouveaux projets. Donc on va faire une pause ici. Si tu es allé aussi loin, alors c'est parfait. Vous avez installé les résultats Studio 2019 Community edition sur. Alors vous êtes prêt pour la prochaine activité. 3. Installez l'Edition express SQL Server: comme bienvenue à la première vidéo du discours. Présentation de SQL Server 2017 sur le Today examinera le téléchargement et l'installation ce logiciel bit off. Maintenant, une base de données est à peu près une collection logique de données connexes sur C'est tout. En un mot. Si vous avez déjà de l'expérience avec les bases de données, il est probablement venu avec Microsoft Access ou mon SQL. Et vous voulez juste étendre vos connaissances au-delà de cela. Et même si vous n'avez aucune connaissance préalable des bases de données, c'est un excellent cours pour vous familiariser avec ce dont les bases de données sont capables. Quelle préparation utilisable en place sur la façon dont vous pouvez commencer votre parcours vers devenir administrateur de base de données ou simplement manipuler les données dans les bases de données. Comme je l'ai déjà dit, nous allons explorer tous ces concepts à l'aide de Microsoft SQL Server 2017. Andi. Je l'ai déjà sur mon écran. La page de Ne pas perdre. J' ai donc inclus le U. R L, comme indiqué ici dans les notes de classe, et cela vous amènerait à télécharger le moteur de base de données Microsoft SQL Server 2017 express sur la courte description est qu'il est un puissant et système de gestion de base de données fiable qui vous permet de construire des sites Web légers et leur application d'arrêt. Donc c'est plutôt bon. Assez décent est un lieu de départ décent. Si vous n'avez pas cette machine haut de gamme haute spécification, il a une machine régulière. Tu veux juste commencer. C' est une excellente option. Il y a d'autres ajouts que vous verrez probablement dans votre recherche, mais si vous suivez ce lien, il va couper tout ce bruit et toutes les autres éditions. Et nous pouvons commencer avec express pour que vous puissiez aller de l'avant et que le téléchargement sur Dinitia. Lancez la procédure Donald à ce moment-là. Un autre logiciel qui nous intéresse est SQL Server Management Studio. Maintenant, le studio de gestion sera votre passerelle pour interagir réellement avec la base de données , interroger les données sur l'écriture de ce que nous appelons des requêtes dans une langue. SQL. Nous allons entrer dans toutes ces choses en temps voulu, mais pour non, vous pouvez suivre cette fille encore une fois. C' est dans la classe, notes sur. Nous pouvons simplement prendre ce bouton de téléchargement pour initialiser ce téléchargement, qui peut prendre un certain temps. C' est un fichier assez gros, donc dès que le chargement n'est pas terminé, nous nous réunissons à nouveau. Et puis nous avons traversé le processus d'installation. Hé, les gars, bienvenue. Sachez que nous ne perdons pas notre fini. Nous commencerons par installer notre moteur SQL Express. Donc, il suffit de cliquer sur ce fichier d'isolation, cliquez sur Exécuter. Ensuite, nous serons accueillis avec cet écran d'installation, nous pouvons cliquer. La fonctionnalité de base vous permettrait de sélectionner certaines fonctionnalités à ce stade. On n'a pas besoin de faire ça. On peut juste aller avec le basique. Nous pouvons aller de l'avant et accepter les termes et conditions que vous pouvez lire si vous le souhaitez. Si vous avez d'autres idées que vous pouvez vouloir changer son directeur, sinon vous signifie sera utilisé par défaut. Et vous pouvez voir ici que sur six gigaoctets, nous n'avons vraiment besoin que de 300 mégaoctets. Donc, je vais juste aller de l'avant et cliquez sur Installer sur cela peut prendre un certain temps, donc vous vous réunirez à nouveau une fois que cela est terminé. Ok, donc à la fin de la procédure d'installation, vous voyez que vous avez réussi à faire cette installation, réussi à faire cette installation, et ensuite ils vous donnent des informations pour vous donner une bande dessinée et une ficelle. Donc, si vous vouliez développer une application en plus de cette base de données, alors vous voulez probablement faire attention à cette partie. Mais ce n'est pas vraiment nécessaire en ce moment. Et ils vous donnent juste les chemins pour les feux d'amour et d'autres éléments essentiels de l' application. Une autre partie essentielle de ce processus d'installation, comme mentionné précédemment, est d'installer la suite Management Server studio à la fin de cette installation d'ajout d'experts , ils vous donneront en fait une option pour voir SMS installé. Et cela va vraiment juste faire monter votre navigateur pour naviguer orteil. Eh bien, j'ai pensé que ce discours de sorte que le lien vers cette page est déjà inclus dans les notes de classe. Andi ici. De là, vous pouvez obtenir un direct ne pas Lord orteil le studio de gestion. Donc, si vous ne l'avez pas fait auparavant, vous pouvez simplement suivre ce lien et obtenir que ce fichier l'a déjà dans Ne pas charger ici. Donc je vais juste initier cette installation. Tout cela va lancer l'installateur et ils vous donnent vraiment juste un bouton pour cliquer, qui est installé. Bien sûr, vous pouvez changer cet emplacement si vous avez d'autres idées pour le chemin. Sinon, vous pouvez le laisser comme valeur par défaut sur il suffit de cliquer sur installer. Donc, cela peut aussi prendre un certain temps donc nous nous réunirons à la fin de ce processus. Ok, donc notre installation est terminée sur Doll que nous devons faire est de redémarrer pour continuer. Donc, nous pouvons le faire rapidement. Onda nous dans la prochaine vidéo, nous allons commencer à regarder comment nous commençons à regrouper tout ensemble. Qu' est-ce qu'une base de données est sur. Pourquoi apprendre cette compétence est si important. Restez à l'écoute. 4. Créer un compte GitHub: Hé, les gars dans cette vidéo vont créer ou créer des comptes sur. C' est une étape très simple. Levez-vous. Il est très facile pour nous de vous inscrire. Tu as juste besoin d'aller te faire sauter la paume. C' est G I T H u b point c o m. Obtenez point com sur le hub. Vous allez atterrir sur ce terrain. Non, à partir d'ici, si vous avez déjà un compte et que vous pouvez vous connecter et vous pouvez pratiquement arrêter de regarder la vidéo ici si vous ne le faites pas, cependant, alors le formulaire du Sénat est juste ici. Tu peux faire un peu de lecture. Obtenez juste une appréciation de ce que sert le ghetto B. Et c'est un bateau. Ils ont des prix, donc ils offrent des plans d'entreprise, des plans d'éducation et des plans différents pour différentes situations. Mais pour le développeur solaire pour les très petites, vous savez, équipes qui peuvent ne pas être d'entreprise jamais qu'elles ne vous donnent ah beaucoup gratuitement. Donc, pour vous inscrire, il suffit de mettre un nom d'utilisateur sur une adresse e-mail et un mot de passe sur Une fois que vous avez fourni toutes ces choses et à condition que votre nom d'utilisateur soit assez unique hors cours alors vous cliquez. Inscrivez-vous pour le ghetto sur. Tu devrais être là. Donc j'ai déjà un compte, quelques ajustements réels en vous affectant vu mes frères deviennent fous en essayant de fournir informations, donc je vais juste me connecter avec mon compte existant. Donc c'est ce qu'il peut utiliser. Vous utilisez lui ou e militaristes pour vous connecter. Et le mot de passe ici je suis. C' est mon stand d'atterrissage. Donc, ils vous donnent vraiment, genre, un sens de la communauté. C' est presque comme un Facebook pour les développeurs. Dans une certaine mesure, vous pouvez suivre les gens une fois qu'ils suivent les gens, vous voyez leurs activités sur la page d'accueil de la grippe. Vous pouvez accéder à votre référentiel. Donc, évidemment, si vous êtes nouveau pour vous lever, alors vous n'auriez rien répertorié sur le côté ici. Quoi ? Je ne suis pas une nouvelle. J' ai été très occupé. Um, mettre du contenu sur descendre presque tous les petits projets d'animaux que je commence. J' ai un get sur positif, en fait besoin de passer par et nettoyer cela sur Aussi, j'ai eu des étudiants m'ajouter à leur repos dans le passé. Eso que vous connaissez, nous pourrions collaborer. Peut-être qu'ils ont un problème et je pourrais juste vérifier leur cordon à travers les positions de re. Toutes ces choses sont, vous savez, vous savez, possibles grâce à cet outil juste et puissant. Mais une fois que vous avez créé vos cônes et que vous avez bien signé Ondo, vous ne verrez évidemment pas ce que je vois une fois de plus. Mais alors cela compléterait le signe d'actif 5. Installez et explorez PostMan: Hé, les gars, dans cette vidéo, on va installer Postman. Non. Facteur est un excellent outil de collaboration sur le test A P I et la validation de toutes ces choses merveilleuses. Donc c'est assez facile à installer, vraiment ? Va juste poster man dot com Facteur. Tout comme le gars qui livre le courrier postier dot com Vous ne savez pas le haut et hors cours que vous choisissez votre OS, alors avez un 64 bits fenêtres sur, alors le ne serait pas commencer. Très bien, donc une fois que vous ne savez pas que cela est terminé, vous pouvez aller de l'avant sur l'ouverture du fichier d'installation Exécuter le programme d'installation sont donc quand il est terminé , vous verrez soit un écran vous invitant à vous inscrire ou vous connecter, soit vous voir l'écran. Quoi qu'il en soit, si vous voyez quelque chose à vous connecter, je vous encourage à le faire En fait il avait déjà sur ma machine. Donc, vous savez que le flux peut ne pas être exactement comme ça, mais si vous voyez cette page venir, alors c'est enfin Candace, Cliquez sur le X, et vous pouvez l'enlever Onda. Je ne suis pas connecté de toute façon, donc si vous voyez notre science en amont regarder quelque chose comme ça. Ensuite, vous savez que vous pouvez simplement aller de l'avant et créer un compte. Désolé pour ça. Vous pouvez créer d'autres cônes assez facilement en utilisant un mot de passe, ou vous venez de signer avec Google. Maintenant, j'aime simplement me connecter avec Google sur. Le fait est que cette partie gardera un historique hors de chaque test que vous avez fait une fois que vous avez un compte . D' accord, donc je vais aller de l'avant et me connecter à Google, accord ? Et une fois que vous êtes connecté, vous savez que vous pouvez commencer à travailler. Donc je vais vous montrer un échantillon de ce que le facteur est capable de sortir. Tout d'abord, je vais juste faire avec le noir plus parce qu'ils sont plus cool sur. Ensuite, je vais orteil créer une nouvelle fenêtre de demande. Donc, en utilisant ce signe plus, tout comme n'importe quel navigateur avec les signes plus en haut, vous pouvez tromper signe plus, et je vous donne une nouvelle demande. Maintenant, je suis déjà allé de l'avant et chercher quelques yeux publics AP comme nous avons dit que le FBI est fondamentalement dans notre passerelle dans votre base de données. Donc, les gens ont un P yeux, diverses personnes d'un PS et j'ai téléphoné à ce site. N' importe quel tableau de bord du FBI Dot com Andi, je vais juste étrangler le tout premier PC, peut voir ce qu'ils ont à offrir. Donc, à partir de la, vous savez, la page d'accueil, ils sont sûrs que votre groupe de public face à un p I donc ensemble vous pouvez juste aller de l'avant et cliquer sur un sur savez-vous, crapauds testés. Alors je suis allé à l'Oxford Dictionary où j'aurais une liste de langues pour qu'elles vous montrent tous les points de fin, non ? Donc, en construisant le FBI, ils ont lié aux données. Soyez assuré qu'ils ont une fille commune, mais alors ils ont des points d'extrémité différents. Je vais donner différents bits d'informations à droite alors Ils ont des méthodes différentes. Mettez-vous posé sur. Vous en avez mis un d'autres. Mais le fait est que vous devez connaître le type de demande. Vous devez connaître le u R L à travers lequel vous pouvez obtenir ces demandes. Satisfait ? Vous devez savoir si vous devez passer dans les en-têtes. Donc ici et j'ai besoin d'une clé d'application sur Di di sur. Ensuite, ils me montrent les réponses. Donc 200 signifie OK sur l'initiale un exemple dans Jason. Quelle serait cette réponse alors. 44 signifie pas avoir téléphoné. 500 en ont besoin. Il y a une erreur interne, généralement avec le serveur domestique. Pas avec toi. droite. Donc pour quatre musiques, vous cherchez probablement quelque chose qui n'existe pas. 500 signifie que le fournisseur a p I a en cas d'erreur. Bon, donc message de n'importe quel p I et je veux libérer gratuitement pour ex FBI dot com. Désolé. Donc, j'ai regardé de plus près tout AP et je me rends compte que tous ces yeux AP exigent que vous auriez eu sur un cônes être, Vous savez, Vous savez, Je l'utilisateur inscrit Probablement un utilisateur payant sur ces plates-formes, vous pouvez regarder à travers. Tu vois, Instagram, tu te vois aussi, Google. La plupart d'entre eux sont protégés un PS, donc ils utilisent une certaine quantité de sécurité autour de lui. Nous allons passer en revue toutes ces techniques dans les scores. Mais en ce moment, je voulais juste avoir une victoire rapide sur la satisfaction de voir ce que le facteur peut faire et la pertinence de lui. droite. J' ai téléphoné au téléphone gratuit 4 x 8 p i dot com, non ? Vous comprenez que c'est gratuit pour l'ex FBI dot com on. Ensuite, nous irons à la documentation. Donc, cette page de destination est en fait leur démo. Consommer les données par l'air p I qu'ils exposent. Droit ? Donc ils ont une base de données sur le FBI et ils font une cause sérieuse du FBI pour montrer à la ville de l'indice commercial dans votre sur nous l'u et G BP etcetera, etcetera. Donc, si je vais à la documentation sur, ils me donneront les conditions d'utilisation. Dites-moi comment l'utiliser. Donc, la documentation est très, très importante et vitale quand il s'agit d'ap eyes et nous allons utiliser swagger. Hum, Sawyer, vous pourquoi orteil r slash vocal quand on sera là, vous voyez, mais se concentrera sur la documentation sur le FBI dans une large mesure aussi. Donc, à partir d'ici, ils sûrement que vous avez le That est le domaine que les yeux AP ont hébergé sur droit sur. Alors, fur et à mesure que vous grandissez, ne voyez-vous pas les différents types de fonctionnalités qu'ils ont exposées ? Donc ils obtiennent des données de lecture, non ? Et puis ils me disent que la demande est une demande obtient sur. Ensuite, vous avez les points de terminaison. Désolé, l'Oural et le point final. C' est à ça qu'il a besoin de ressembler, c'est un exemple de réponse. D' accord. Et si vous regardez à travers, vous en voyez un autre que vous pouvez obtenir des piles différentes. Donc ici, vous ne cherchez que l'Euro USD, et ils retournent que les résultats de ce trimestre pour vous. Et dans cette année, tu peux en avoir plus d'un si tu veux. Donc, vous venez de mettre les deux index qui vous intéressent comme paramètre dans ce point . Très bien, donc c'est une chaîne de requête pour les valeurs sur lesquelles les carrières s'exécutent. Ensuite, c'est la réponse de l'A P I. Une fois qu'une requête est exécutée et que les données sont téléphonées Non, les enregistrements aériens racontent une bonne histoire parce que alors vous, si vous passez dans apparaît qui n'existent pas dans leur système, alors ils sont vous dire que vous le ferez. C' est si vous n'en transmettez pas, il met fin à son requis. Et si vous passez quelque chose qui n'est pas là, alors vous verrez sur un record 1000 et deux. Donc, vous avez des codes d'erreur standard et vous avez des aéroports que vous pouvez vous-même me pouvez. Alors essayons cet exemple Quelqu'un pour essayer le 1er 1 où je reçois des villes Euro et U S. Comprendre de copier ce lien, qu'ils ont dit. C' est comme ça que vous arrivez aux données sur ce point final sur lequel je vais ouvrir un facteur. Ce que je vais faire est de le coller à l'intérieur de ce qu'il dit, entrer Questi Worrell. C' est ce que nous avons juste une demande de copyright sur l'URL. J' ai donc rythmé la demande. Tu es moi sur. Puis le verbe ici. Évier en marbre et obtenir poste. Vous avez mis patch. Supprime que vous en avez un tas. Donc, get est généralement utilisé lorsque vous attendez à récupérer des données. Droit ? Alors allez-y, alors libre pour son AP, hein ? Quelle que soit la demande Jarawas, je ne suis pas engagée une fois. Quelle que soit la demande Jarawas, Rappelez-vous, parce que c'est leur documentation sur. Ensuite, je vais cliquer. Envoyez savoir ce que fait le facteur est imiter un appel. Eh bien, pas vraiment imiter il effectue réellement l'appel à ce qu'un point p i n sur puis récupère les données dans la réponse. Donc on voit ici. Il peut ne pas être aussi bien formaté que dans la documentation. Bien sûr, ils mettent leur meilleur pied en avant, mais c'est le même peu d'information que nous obtenons un re sur. On a une souche temporelle. On a 1/4 200. Si vous regardez à droite, vous voyez le statut 200 ? OK, donc 200 est la réponse universelle pour le vieux T. Vous voulez que les 200 responsables ? Tout va bien. Donc les différents nombres ont des significations différentes, pas vrai ? Le temps qu'il m'a fallu la cause que c'est un AP rapide que j'ai pris sur le C'est ce qu'une demi-seconde sur la taille de la réponse, droite, Vous pouvez toujours formater. C' est pour cela que vous pouvez cliquer sur jolie ou vous pouvez voir brut ou prévisualiser ou visualiser. Je ne sais pas pourquoi. Jolie Oh, c'est vrai. Je dois changer les quatre mois. Donc, c'est joli html. Donc, c'est pour que nous puissions regarder en html mais le fait que cela je peux dire quelque chose comme XML alors que ce n'est pas XML, j'ai dit html laissez-moi rapidement Jason, sur lequel il est sur. On y va. Donc non, c'est joli, Jason. Donc non, ça ressemble un peu plus à, Oh, c'est un aperçu dans leur documentation, non ? Donc le facteur est très pratique quand vous voulez juste tester, euh, quoi ressemblera la réponse. Jason est le type de réponse le plus utilisé. Eh bien, je dis que vaguement j'aime utiliser les réponses Jason, mais l'alternative la plus proche serait XML sur Dwell. Vous savez, une fois les données retournées auxquelles l'utilisateur s'attend, vous avez documenté ce qu'il peut attendre. Alors vous êtes Vous pouvez vous sentir confiant que tout le monde peut utiliser votre a p i si nécessaire. Donc facteur va venir à portée de main que nous allons un bateau développant notre ap et veulent juste un valide que les réponses regardent la façon dont nous attendons les orteils. 6. Créer . Projet Web: Hé, les gars, bienvenue dans cette vidéo. Ce que nous allons faire est de mettre en place notre projet dot net core web ap I. Donc c'était un plus plein. Mais ce sera beaucoup plus amusant que peut-être que j'ai fait le sien. Alors commençons. Commençons donc par ouvrir Visual Studio 2019 Community Edition Onda. Eh bien, quand vous arriverez à cet écran d'atterrissage, vous allez voir un beau plus que vous allez voir cet écran d'atterrissage. Vous n'avez peut-être pas de projets récents ont travaillé sur un bon nombre de projets ces derniers temps, donc cette ère pourrait être vide, mais le fait est que vous voulez vous concentrer sur la section get start er er, donc nous voulons faire est d'aller avant et créer un nouveau projet sur. Ensuite, nous obtenons à voir un tas de modèles en ce moment à gauche I modèles récents ce sont temples ont été utilisés dans les différents projets que je juste seul. Tu peux l'avoir vide, et c'est bon. Vous voulez vous concentrer une fois de plus sur le côté droit, où vous serez en mesure d'obtenir tous les modèles, alors laissez-moi voir si clair. D' accord. Donc effacez tous mes filtres. Et vous avez probablement quelque chose qui ressemble plus à cette Sophie un studio visuel installé avec les modèles que j'avais suggéré en considérant le Web sur le noyau sombre qui va faire Ensuite, nous allons voir des modèles similaires. Je pense que j'ai essentiellement tout ce que le studio visuel a à offrir sur ma machine. Donc, vous pouvez voir des choses sur ma machine que vous n'avez pas la vôtre juste se concentrer sur ce que je vois est nécessaire. Et si vous n'avez pas ça, alors vous pouvez, vous savez, vous devez prendre des mesures correctives. Si vous pensez que vous avez foiré l'installation, vous pouvez toujours faire défiler vers le bas sur. Ensuite, vous verrez installer plus d'outils et de fonctionnalités, ce qui va réellement relancer cela. Nous savons où vous choisissez le pack. Restez propre, installez. Donc, si vous regardez la vidéo d'installation sur, vous réalisez cette fenêtre ? Ensuite, vous serez en mesure de voir lequel vous avez peut-être manqué inclus, puis il mettra à jour Visual Studio pour vous. Quoi qu'il en soit, ce que nous voulons nous concentrer aujourd'hui est sur sp dot net core application Web sur. Nous allons utiliser C sharp, donc s'il vous plaît assurez-vous que vous voyez c pointu. Il reçoit un basique. Vous voyez quelqu'un qui est un basique. Ce n'est pas ce qu'on va utiliser. plaît assurez-vous que vous voyez c pointu sur. Ensuite, vous cliquez sur ce clic suivant. Ensuite, il va vous demander de nommer le projet. Je vais donc nommer cette librairie. Dash E G I R Donc nous construisons. Vous savez, vous voulez faire des noms de vos projets comme vraiment ventas possibilité. Vous voulez revenir à la semaine prochaine et vous demander, Ou quel projet était-ce ? Le nom devrait juste raconter l'histoire juste sur Alors. Vous n'avez pas besoin de cliquer sur autre chose ici sauf si vous voulez changer un peu pour votre fils. Je vais me tourner pour changer de position. Vous pouvez changer votre état, ces choses ou mes documents ou n'importe où vous voulez le projet plus rapidement. Cool. Je laisse ce vide allumé. Ensuite, on peut aller de l'avant et cliquer. Créer. D' accord. Donc, non, nous arrivons à la partie où ils nous demandent quel modèle de noyau net de points Souhaitez-vous utiliser  ? Non. Je veux que tu ailles bien, je veux que tu fasses attention à cette partie parce que je vais devenir un peu créatif. Je vais vous expliquer pourquoi je vais faire avec la façon dont je le fais. Vs um l'évidence flagrante que nous avons raison. Donc ce qu'ils demandent ici, c'est que tu veux un projet vide avec, tu sais, tu dois mettre, tu sais, les fichiers. Voulez-vous un projet e p I ? Considérant que c'est un e p a e p I, bien sûr, que l'on regarde l'évidence, non ? Ils ont demandé, Voulez-vous une application web avec des pages de rasoir ? Ils veulent une application web avec le plus traditionnel contrôleur de vue Leo Oats. Et puis vous pouvez aussi bootstrap, réaction angulaire, um, um, sur les modèles Redux sur le dessus, hors de la norme avec l'application. Non, j'ai juste passé tout ça juste pour vous donner un aperçu sur bien, AP, je serais l'évidence, mais voici ce que nous voulons accomplir. Nous voulons que notre AP, les yeux qui vont aux pieds aient une certaine authentification des utilisateurs parce que, bien, nous avons vu quand nous avons commencé le facteur qu'il y avait du FBI vieux là-bas, et c'est chaud. Vous savez, certaines clés utilisent des troisième exigences impossibles sur. Nous voulons certainement avoir utiliser les exigences impossibles au-dessus de l'endroit où le FBI, parce que cela nous aidera à empêcher les personnes malveillantes et indésirables d'accéder à notre EPA. Il va également nous battre dans la gestion des désirs pour les personnes qui sont bro zing notre librairie sur puis le a p. Je vais avoir besoin d'authentifier tout cela pour dire que quand nous allons avec un score net p a um point ne nous donne l'option de choisir ce authentification que nous voulons. Donc, par défaut, il dira pas d'authentification. Si vous essayez de le changer, il vous donne quelques options. Aucune authentification Windows n'est pas une option, car cela signifie que vous vous êtes connecté avec vos informations d'identification Windows. C' est mieux pour Internet et pas à son tour, il est correct, donc ce serait pour un usage interne. Comptes de travail ou d'école supposerait que cette personne est sur les 3 65 cônes sur ce ne serait pas idéal. Je voudrais que les quelques cônes de soleil et puis individuels d'utilisateur serait le meilleur à utiliser. Cependant, par défaut, il est supposé que vous êtes un utilisateur dans le cloud, donc nous n'avons aucun concept Azura pour avoir quelque chose à travers lequel la Syrie n' apprécie probablement pas pleinement . Qu' est-ce qui se passe ici jusqu'à présent, et c'est très bien. Mais mon point est que cela suppose que vous en avez déjà quelques-uns comme votre fonctionnalité mise en place. Donc, je suis allé à renoncer à l'utilisation de l'authentification et en outre je suis parti pour utiliser le modèle A P I sur. Je vais aller au modèle d'application Web directement sur. Ensuite, je vais également regarder les options d'authentification qu'ils ont. Comment électrique individuel cônes usar. Vous voyez que c'est différent. Donc oui, il voit bien. C' est voir l'on pour se connecter sur existant en utilisant les vêtements. J' ai toujours cette option, mais j'ai aussi l'option hors magasin dans le haut, os dans le haut. Cela signifie donc que je peux avoir ma propre base de données et stocker mes utilisateurs sur ma base de données sur ma machine ou sur mon site ou où je veux. Donc c'est vraiment ce que je veux. Donc, je vais choisir utilisateur individuel sont des cônes. Cliquez sur OK sur. Encore une fois, j'utilise l'application Web. Peu importe lequel je pense que celui-ci est plus facile parce qu'il est plus facile de supprimer ce que nous ne voulons pas. Je vais te montrer de quoi je parle. Quoi ? Le fait est que cette application web amusante, non ? Ce n'est pas un P I cette fois, mais une application Web d'accord, Andi. Colonnes utilisateur individuelles pour l'authentification. Et puis je suis allé aller de l'avant. Oh, et assurez-vous que vous avez point net core 3.1 sélectionné en haut, non ? Donc vous auriez passé par l'installation de l'avocat. Assurez-vous que parce que vous avez différents points net core étaient avec 3.1, qui est la dernière et la plus grande technologie de Microsoft, comme au moment de l'enregistrement hors de ce cours. D' accord, donc je vais de l'avant et je clique sur Créer, et puis ça va commencer à faire de la magie en studio visuel. Ça peut prendre un moment, d'accord ? Et une fois que c'est fait, alors nous avons notre projet créé cercle à gauche. Eh bien, à ma gauche, j'ai ma solution. Explorateur. Non, j'ai une vidéo où nous allons passer par un studio bizarre et regarder tous les dossiers et toutes les choses merveilleuses, mais non ? Non, mes explorateurs sociaux à gauche. C' est en fait mobile. Donc par défaut, je pense que vous verriez son droit cher. Mais je ne peux pas aller préféré à ma gauche parce qu'un mouvement plus naturel pour moi orteil, vous savez, trouver ce que je veux à gauche et ensuite travailler et puis, vous savez, gauche à droite au moins dans mes contextes occidentaux soulever directe. Donc c'est tout pour créer notre projet. Quand je reviendrai, je vous montrerai autour de ce projet le nôtre, l'interfère ce qu'il est capable hors. Je vais également vous expliquer pourquoi nous aurions passé avec les pages de rasoir sur l'authentification par opposition à l'A p I et aucune authentification écrite sur. Alors tout cela aura du sens pour vous. Mais, vous savez, puisque nous sommes là, je vais juste vous montrer un aperçu. Donc juste ce modèle. Donnez-nous quelques dossiers. Nous avons des âges. Donc, à l'intérieur de pages hors pages, nous n'avons pas connu de page de confidentialité sur Avons-nous un fichier de démarrage ? Et je vais juste cliquer sur le bouton de lecture ici. Donc, le playbook lance l'application, il va dans la construction plus vérifier s'il ya des erreurs hors cours, ils viennent de nous donner projet. n'y a pas d'erreurs, Onda. Une fois cela terminé, nous verrons notre lancement Broza avec notre application. Aucun avis que nous avons par défaut registre et un bouton de connexion. Donc, si nous avions choisi l'authentification, nous n'aurions pas ce registre et ce désir. Mais en choisissant un individu un cônes, nous avons le haricot nous avons. Eh bien, le projet a été généré inclusivement, hors toutes les bibliothèques et les fonctionnalités nécessaires pour soutenir l'inscription sur le cours de déconnexion . Cela peut être étendu et manipulé trou que nous voulons, et c'est exactement ce que nous allons faire. Mais cette interface disparaîtra parce que vous n'avez pas besoin d'interférences pour plus d'un p I. Et ce n'est pas encore. Andi, je t'expliquerai tout ça dans la prochaine vidéo. On va commencer à bâtir sur quelque chose qui ressemble plus à ce qu'un FBI devrait ressembler . Sur un peu plus sensible 7. Visite des structures et fichiers du projet: Hé, les gars, Bienvenue dans cette vidéo, nous allons faire une visite de notre structure plus complète et duel généralement hors studio visuel. Maintenant, pour commencer. Vous voulez toe open studio visuel qui vous mènera ensuite à cet écran d'atterrissage où il pouvez-vous savoir, Allez-y et ouvrez ou créez un nouveau projet sur le côté gauche. Vous verrez vos projets listés orteil dans cette liste. Droit ? Donc, notre projet est à la fois magasin AP. Je peux cliquer dessus et puis il va lancer la fenêtre moyenne. Nous craignons l'Explorateur de solutions et tous vos fichiers. Non, ma solution a connu la gauche par défaut. Je pense que le tien est sur la droite. Mais alors vous savez que ce sont des documents sur le bec DACA et serait autour du camp en elle sur UNP en elle a mis en évidence toutes ces choses merveilleuses. Donc vous savez, vous pouvez faire de cette interface votre ou quoi que vous vous sentez à l'aise en regardant vos affaires. Vous pouvez le déposer n'importe où redimensionner à volonté alors. Dans l'Explorateur de solutions, il affiche tous vos fichiers de projet. Donc, vous avez la route www qui va avoir des fichiers statiques même pour avoir des zones qui contiennent généralement des pages relatives à l'identité, comme dans, vous savez, vous savez, gestion des utilisateurs sur, vous savez, connectez-vous, enregistrez quoi que ce soit avec l'authentification de l'utilisateur et la gestion était à l'intérieur de cette frontière de zones par défaut . Vous disposez de données où vous stockez toutes vos classes liées aux données et 100 migrations. Je suis juste en train de creuser parce que je veux juste que tu aies une appréciation de ce que tu regardes. Si c'est votre première fois. D' accord, alors vous avez des pages. Non, parce que nous avons un modèle de rasoir qui travaille avec là. Certaines choses dont nous n'avons pas vraiment besoin puisque nous allons construire un A p I. Donc, Donc, comme je l'ai dit dans la vidéo précédente, la raison pour laquelle j'ai choisi le rasoir ou j'aurais choisi NBC est pour que nous puissions profiter de la valeur par défaut. Authentification de l' utilisateur pour les caractéristiques individuelles des cônes A. Donc, en faisant cela, le projet a été recréé avec des choses par défaut que je n'aurais pas à passer du temps à construire nouveau. Mais aussi d'autres choses par défaut dont nous n'avons vraiment pas besoin. Nous allons passer du temps à réparer le projet, supprimer ce que nous ne voulons pas et récompenser ce que nous voulons. Mais je veux que vous ayez aussi une appréciation pour ce que dot net core vous offre vraiment aller de l'avant que j'entre dans les ajustements à faire. Nous avons également les paramètres vers le haut que Jason si vous cliquez sur cela, c'est ah,fichier de conflit, fichier de conflit, qui vous montre quelques configurations par défaut à la chaîne de connexion à la configuration de journalisation de la base de données et beaucoup de démarrages entiers. Donc je ne vais pas être une fois de plus sur le programme. Vous ne nous voyez pas ? Quel est le fichier par défaut qui est exécuté chaque fois que vous cliquez sur la lecture ou chaque fois que votre application est démarrée. Le programme qui CS est comme le fichier initial Isar puis le dernier. Mais en aucun cas, nous avons notre démarrage s nazis, qui incarne fondamentalement ce que nous appelons le milieu étaient donc beaucoup de configurations se produisent ici beaucoup de choses par défaut qui doivent être inclus au démarrage littéralement. C' est pourquoi il a commencé que CS toutes ces choses soient mises dans ce fichier. Non, cet incendie nécessitera quelques modifications de notre part pour qu'il soit prêt à être juste , si nous avons choisi le A P un modèle, alors nous n'aurions pas besoin de répondre à ces modifications. Mais j'ai choisi des modèles de raison. Donc, je vais enlever certaines des fonctions liées à la raison et mettre dans quelques fonctions liées à P I. Une autre raison de le prendre dans ce voyage est que si vous n'avez pas une compréhension complète ce que dotnet court est, parce que si vous utilisiez le framework dotnet, je sais que vous faites la transition vers dot net core. C' est parfois lié d'une manière très abstraite. Ce que les services et ce qui doit exactement continuer pour que l'application principale principale soit ouverte exécution afin que dot net core soit comme une ligne de base. Cela cause c'est un certain nombre de fonctions, un certain nombre de capacités hors de la boîte avec eux. En fonction de votre contexte, certaines fonctionnalités seront incluses par défaut sur. Ensuite, si vous en voulez plus, vous pouvez les ajouter à nouveau en fonction de vos exposants de chatte. Donc, dans notre contexte, nous avons créé une application de rasoir en utilisant dotnet court. Donc par défaut, sans un numéro hors rasoir, vraiment, vraiment, il y avait, hum, fils de téléphone inclus dans le début des nazis pour qu'on puisse commencer le Canada et 35. Nous voyons que nous ajoutons des pages de résultats que nous pouvons continuer et nous voyons que nous avons des fichiers statiques sur ses pages de balai à pieds reza. Ce sont donc certaines petites configurations qui allaient changer, probablement pour les supprimer parce que nous n'avons pas besoin de fonctions liées au rasoir. Vraiment vouloir un P I fonctions liées. C' est donc aussi facile que de supprimer ce que nous ne voulons pas changer votre pensée. Et c'est l'ajustement littéral pour changer le comportement de l'ensemble de notre application principale dominante . Et c'est pourquoi ne pas faire la guerre est si cool. Laisse-moi juste te donner une charge sur les modifications que nous allons rencontrer fraîchement . Nous allons changer certaines des configurations ici dans le fichier startle. Ensuite, nous allons supprimer certains Fuller que nous ne voulons pas et créer des dossiers que nous puissions des dossiers et d'autres fichiers spécifiques au FBI pour que nous puissions démarrer cette fête. Alors commençons. Donc, dans la ligne 35. Donc, je vais laisser toutes ces configurations parce que celles-ci disent que lorsque l' application démarre, je veux utiliser un contexte DVD en utilisant SQL Server Onda Um F core ou dans un noyau de travail différent parce que c'est un certain nombre de pour d'autres bases de données, vous pouvez utiliser SQL Server. Vous pouvez également utiliser mon SQL sur. Vous avez assez de connecteurs disponibles, donc nous utilisons SQL Server parce que nous avons une base de données SQL Server sur, nous allons utiliser la chaîne de connexion par défaut. Je vais également modifier ce que nous allons également utiliser l'identité par défaut. Cela signifie donc que les bibliothèques d'authentification d'utilisation par défaut. Malheureusement, cela aurait inclus lorsque nous avons créé les projets que chaque utilisateur cône option d'authentification. Oui, c'est une sorte de bootstrap dans ces deux appels, non ? Donc nous disons que nous utilisons la base de données qui est appelée à ce thé pour la connexion plus tard . Nous allons changer cela sur. Nous utiliserons ce contexte BB. Les trous sur les besoins de stockage des données d'authentification des utilisateurs, n'est-ce pas ? C' est ce que ça dit. Mais alors la partie où il dit artères ou pages, je ne suis pas vraiment intéressé par les artères de pages. Je suis intéressé par le contrôleur, donc vous avez Reza pages n'importe quelle moitié NBC et nous voyons la mer dit pour les contrôleurs donc les yeux AP sont généralement basés sur la fonctionnalité du contrôleur. Donc je vais changer cela à partir de piles de pages orteil contrôleurs Adah. Donc, je dis à l'application que je vais utiliser des contrôleurs pour, vous savez, quoi que ce soit que je dois faire ensuite, nous allons changer de vous des fichiers statiques quelqu'un pour vous supprimer des fichiers statiques parce que Je n'ai vraiment pas besoin de fichiers statiques dans mon a p I fichiers statiques sont que vous allez gâcher quand vous avez, vous savez, javascript et CSS. Ces fichiers qui sont nécessaires pour, vous savez, le style. Je n'en ai pas besoin parce qu'un FBI n'arrivera pas. Interfère au moins les yeux AP. Tu viens juste d'appeler assis sur une base de données, non ? Donc, je suis en train de supprimer les fichiers statiques d'utilisation sur je vais aussi changer la ligne 63 pour dire les points de terminaison que les contrôleurs de balai. Tout ce qui disait rasoir, je le change, Toto Controller ? Non, avec tout ça, ne pouvons-nous pas déclencher une construction, et c'est en maintenant le changement de contrôle sur B. C'est un clavier. Coupes de requin. Alternativement, vous pouvez simplement aller à l'élément de menu construire sur la solution de construction de clic, qui indiquera le même requin de clavier. Quoi ? Pour vous. Donc, quelle que soit l'option que vous préférez, vous pouvez le faire non. Bon, donc ce bâtiment est fini sur Ce que je vais faire est la piste, certains hors des dossiers dont nous n'avons vraiment pas besoin. Donc, je vais commencer par www route. Donc, si je regarde dans les routines www, vous verrez ce que nous verrons. CSS gs lib. droite. Donc, comme je l'ai dit, tous les fichiers statiques qui sont nécessaires pour, vous savez, style javascript toutes ces choses merveilleuses pour l'interface utilisateur seraient stockés dans la route W W. Maintenant, je viens de retirer le besoin orteil, ai des fichiers statiques. Donc, je n'ai vraiment pas besoin de racines www. Je vais supprimer cela, donc je viens de cliquer dessus. Appuyez sur Supprimer. Il dira que tout sera définitivement supprimé, je dis. Ok, laisse-le continuer. D' accord. Suivant en haut. Nous avons des zones dont nous n'avons pas besoin d'époque. Donc, comme je l'ai dit, les zones sont livrées avec des trucs d'identité, mais ce n'est pas la fonctionnalité d'identité, non ? Donc, je peux supprimer des zones sur. Je tiens juste sur le contrôle sur les pages de clic aussi afin que nous puissions supprimer des zones sur les pages. Donc en cliquant sur, puis maintenez-le sur le contrôle et en prendre un autre. Je sélectionne deux à la fois, puis j'appuie sur supprimer afin de tout supprimer. Une fois sur votre projet devient un peu plus mince. Donc vous savez qu'il est coupant, mais décide si vraiment ? En fait, un projet n'a pas besoin d'avoir beaucoup de rabais sur 4$, non ? Parce qu'une fois de plus, nous avons vraiment juste des dossiers judiciaires qui manipulent, transmettent des demandes et manipulent le théâtre pour donner des réponses. droite. Mais pour gérer les demandes, ce dont nous avons besoin, ce sont des contrôleurs, n'est-ce pas ? Donc, je vais orteil clic droit sur mon projet. Nous avons donc la solution au sommet. Mais il y a eu l'incendie du projet en bas. Je vais faire un clic droit sur. Ensuite, je suis allé à nouveau ou désolé, ajouter, puis d'abord les sans un nouveau dossier. Donc, disons ajouter un dossier et puis le plein je vais avoir des contrôleurs. Non, ma suggestion est que si vous me voyez juste capital C pour quelque chose, vous écrivez aussi le capital C de votre côté. La plupart du temps, il passait du temps à déboguer des choses juste pour réaliser que vous savez, vous aviez un peu commun où il aurait dû être capital et vice versa. Donc, je vais toujours essayer de maintenir de bonnes normes de codage sur def. Vous, vous savez, suivez la convention selon laquelle je suggère qu'il ne devrait pas avoir de problème. Donc nous avons un dossier appelé Controllers ? Non. Notre dossier de contrôleurs contiendra des incendies de classe spéciale ou un dossier de tribunal spécial Littéralement appelés contrôleurs et contrôleurs font exactement cela. Ils contrôlent le flux de l'application. Donc, notre demande ira dans une adresse qui au contrôle va ramasser sur. Ensuite, il dira, OK, voici notre réponse à votre demande. Donc la première chose que je vais faire la prochaine chose que je vais faire ou autre, c'est racket. Ma manette fume. Vas-y. Ne fais pas Ida sur ça. Nous allons ajouter un nouveau contrôleur. Tu vois ? Ça devrait être au sommet. Si vous ne voyez pas le contrôleur que vous pouvez cliquer sur nouvel élément, il affichera la même boîte qui sont. Quoi ? Je pense juste Nouvel article parce que je vais revenir à la même chose n'importe quel article. Donc, si vous créez un nouvel élément, vous voyez la classe de contrôleur sur puis le nom par défaut. Aussi. Désolé. Vous voyez, classe Controller et vous voyez une classe de contrôleur P I ou ce que nous voulons vraiment est un contrôleur A P I. Très bien, donc c'est si tu devais aller à un nouvel objet. Je vais annuler et je suis allé aller orteil nouveau contrôleur. Alors je clique. Ajouter le contrôleur Goto sur. Alors cet argent arrive là où il me donne des options plus pointues. Donc, je verrai un contrôleur du FBI vide. Il pourrait contrôler avec des options d'écriture en lecture. Andi paire contrôleur avec des options en utilisant dans différents travail dur. Donc maintenant, je vais juste choisir une manette P I. Vide. D' accord, on. Ensuite, je vais cliquer, Ajouter, puis il va me demander, quel nom est-ce que je veux lui donner ? Donc, le nom par défaut va être par défaut, mais je vais l'appeler à la maison, quelqu'un pour dire Contrôle à la maison. Et c'est le nom de mon premier contrôleur AP I sur. Ensuite, je clique sur ajouter, et il a été de passer un certain temps. L' échafaudage charge le contrôleur. Bon, donc non, notre contrôleur est fini d'être éraflé et l'échafaudage n'est que le terme technique. Pour voir automatiquement généré à peu près à droite. Donc, quand on aura ce contrôleur. Je veux dire, c'est un simple venu voir le dossier du tribunal tranchant. Nous avons utilisé des déclarations en haut ou l'espace de nom, qui est nos projets. Les points de nom, le nom plus complet. droite. Donc, nous avons le projet sur, puis le dossier. Tout droit sur. Ensuite, nous avons les racines. Donc le plus grossier nous dit que pour arriver à ce contrôleur, nous devons taper, vous savez, les filles de base sur, puis slash ap je coupe le nom du contrôle. Très bien, Donc, pour commencer plus, contrôleur ont été allés à Creo appellera une action. Donc, sur l'action est généralement ce qui gère la requête venant de, vous savez, certaines applications tierces. Donc, sur réelle devrait être un public sur. C' est un téléphone affiché, , donc on a le type de retour. En fait, j'ai des résultats sur. Alors on lui donne un nom. Dans ce cas, je vais l'appeler Index parce que l'index est comme un chemin par défaut pour le premier s'il vous plaît, vous chauffez quand vous appelez. Certains sites sont avec notre autre sur. Alors ce que nous allons faire à l'intérieur de cette action est de retourner un résultat. Donc je vais juste voir un retour et puis avec les différents chiffres du FBI représentent choses différentes et le meilleur chiffre que vous pouvez obtenir quand vous essayez quelque chose sur un e p a est le nombre 200. Ça veut dire que tout va bien. Le truc cool, c'est que point net nous donne des fonctions que j'ai perdu le retour. Ces, euh, réponse est assez facile. Je dirais juste OK, sur c'est une fonction. Donc, si vous regardez l'intelligence, ça dit qu'il crée un objet de résultat correct qui produit un statut vide marqué au large 200, non ? Donc, si je viens de dire retour ok, il reviendrait juste 200 Mais je veux retourner un message de son je peux en fait juste inclure des données à l'intérieur du téléphone affiché à droite. Donc, il y a une surcharge où peut inclure sur l'objet. Donc si je l'ai, je veux revenir avec le statut. Ok, alors je peux faire ça. Alors dis juste, bonjour monde. Il va revenir. Commencez nous 200 Orochi avec le texte. Bonjour le monde. Alors que reste ça pour un tour. Donc, je vais juste cliquer sur le bouton de lecture sur. Il va aller dans la construction avec Misha n'ont pas d'erreurs de syntaxe et il va tourner vers la version légère. Je suis alors Probablement le navigateur. Très bien, donc quand votre navigateur se charge, ils vont probablement voir pour un statut pour un quatre. Et le http a appelé un pour moi, ce n'est pas le téléphone. Ce qu'il veut dire, c'est qu'il n'a pas trouvé de passe par défaut ou de contenu à retourner à ce pot par défaut. Donc c'est notre petite fille. Chaque fois qu'on va dans de bateau amarré, on va chercher un hôte local le côlon sur un port. Andi Eh bien, général, ça ne marche pas à moins que tu sois en B, mais surtout où dans le batelier ça ne marche pas, euh, sur. Donc c'est une sorte d'anomalie ou de cause de préoccupation, non ? Donc, ce qui se passe est que si vous regardez de près, il a dit que pour arriver au contrôleur, nous devons dire slash ap je slash contrôleur. Donc, nous avons notre base. Vous l'êtes. Je sais ce qui est OK. Un tuyau colon 4432 Laissez-moi divulguer sur les sommets nécessaires sur ce que nous devons faire est de dire, Slash ap I slash Et puis il a dit, Contrôleur et crochets. Donc, quand il s'agit d'un crochet d'insertion de contrôle, ce qu'il voulait vraiment dire était de couper le nom de la manette, que nous avons appelée maison. Donc quand je ferai ça, nous verrons Hello World être retourné. Mais ce n'est pas exactement là que je veux qu'on teste et valide ça. Souviens-toi, c'est un FBI. Donc le FBI peut retourner toutes sortes de choses qui peuvent revenir. Au moins, ils peuvent retourner des objets Jason, des trucs comme ça. Hello World est juste un couple bon marché afin que nous puissions avoir une victoire rapide pour la durée cette leçon. Mais juste le haut tout est éteint. Je veux qu'on utilise le facteur. J' ai donc passé ici, et ce que je vais faire est de créer une nouvelle requête. Bon, donc je vais juste le remplacer par le même chemin que je l'ai mis en facteur. C' est que je reçois, puis je clique sur envoyer sur. Ensuite, nous obtenons la même réponse. Petit monde, ni la raison de vous montrer en facteur, c'est nous parce que hors du statut. Donc tu ne vois pas ça dans le Broza. Au moins, il n'est pas facilement disponible pour vous, mais vous verrez le statut 200. Ok, être retourné. D' accord. D' accord. Quelqu' un pour mettre fin à cette leçon ici. Je pense qu'on en a assez fait. Nous réorganisons les dossiers pour être plus favorables montres orteils acquis pour ou un projet P I pour enduire tout le combat tous les fans statiques et classifie que je n'ai vraiment pas besoin. Nous avons créé un contrôleur sur. Nous avons créé notre première option où nous avons testé le FBI avec le facteur, juste pour nous assurer que nous obtenons les bons résultats de l'action. Donc, dans notre prochaine leçon va continuer quelques configurations au fur et à mesure que nous commençons, orteil, vous savez, amener tout ce FBI dans la Réalité de remorquage. 8. Configurer et utiliser l'UI Swagger: Hé les gars, bienvenue dans ce veau que nous allons revoir, configurer et utiliser plus fort. Quoi qu'il en soit, maintenant j'ai mentionné avant l'importance d'avoir des yeux AP bien documentés. Ils agissent comme un guide pour les personnes qui consommeraient le A P. A. On git leur dit comment il est utilisé, ce qu'il faut appeler quand ils le veulent. Quel genre d'information sur DSO Swagger fait un excellent travail, vous savez, vous savez, création de documents nous aide à créer des documents. En fait, il nous a pris la génération automatique de documents basés sur ce que nous avons développé. Et donc nous allons utiliser cet orteil temporel, intégrer dans notre FBI. ce moment, nous n'en avons qu'un, mais alors, vous savez que nous allons mettre dans la lutte. Je le regarde avec un dans le point, puis mettre quelque chose d'autre et puis juste regarder tout est juste généré pour nous. Donc, pour commencer, nous devons inclure la boucle swash. Ta boucle est swagger. Est la bibliothèque dotnet À peu près pour le faire, nous allons utiliser un outil d'appels que vous obtenez, donc nous avons juste un clic droit sur notre projet. Ensuite, nous descendons pour gérer de nouveaux paquets get. Une fois que les seigneurs en place, c'est une fenêtre qui va nous montrer un tas de paquets de paquets sont comme des bibliothèques qui ont des fonctionnalités, non ? Donc, vous ne savez pas quel paquet pour une chose particulière et vous obtenez un bundle off fonctions et fonctionnalités à peu près donc vous verrez ici ce sont tous ceux qui sont déjà installés. Donc, nous voulons de Boro parce que vous voulez ceux qui ne sont pas installateurs il sur. Je vous conseille de cliquer sur la pré-version d'inclusion juste au cas où la version que vous utilisez de donna corps que vous utilisez la version de la bibliothèque peut ne pas être incluse. Si vous ne cliquez pas, incluez la version préliminaire. Ils veulent la dernière bibliothèque pour la dernière version de ce noyau. Quoi qu'il en soit, on va aller de l'avant et chercher. Je cherche Boco. Donc c'est le lavage de S W A Boco. D' accord, et une fois que nous ferons, cette recherche verra quelques résultats et nous ne ferons pas de Seigneur ceux pour son alimentation, ça fera trois ans, non ? C' est juste qu'on voulait une balle, un sergent. Je veux Swagger. Toi. Pourquoi ? Donc je ne sais pas ce que vous avez juste besoin de passer au-dessus de la ligne et vous verrez la flèche vers le bas , non ? C pour dormir cette flèche vers le bas, puis il se connectera aux serveurs, vous demander d'accepter quelque chose sur. Alors tu le laisses faire son truc. Et puis quand il a été installé avec succès, vous voyez cette flèche verte ? Donc on a eu celle-là. Prenons le suivant, qui est slugger. Du gin. Je ne sais pas celle-là. Que c'est faire son truc. Bon, donc on a un outil sur. Alors le dernier serait évincé. Toi. Pourquoi ? Donc on ne le sait pas aussi. Maintenant, après que nous ne l'avons pas chargé, toutes ces bibliothèques. Si nous revenons à l'arme installée, vous les verrez listés là-bas. Hors cours. Vous voulez effacer la recherche afin qu'ils puissent voir toutes les bibliothèques qui, vous savez, vous savez, ont la courtoisie de nouvelles obtenir celles que la flèche bleue vers le haut sont vers le haut. C' est donc je veux dire, tu peux venir au talon approprié. Vous pouvez sélectionner tout et il peut mettre à jour, mais je ne vais pas le faire parfois hors de son besoin de faire quelques changements majeurs pauvres . Et je ne vais pas passer par ça dans cette vidéo ou dans cetteleçon, leçon, donc on peut laisser ça jusqu'à plus tard. Mais la chose la plus importante est que nous avons la boucle swash installée et nous avons juste l'habitude d'obtenir pour la première fois de toute façon, passer à autre chose. La prochaine chose que nous voulons faire est de mettre en place une configuration. Donc, comme nous l'aurions discuté, préparez-vous à cela commence à propos des tuyaux de fichiers CS, un tas de configuration et d'initialiser les er qui sont nécessaires lorsque notre Danek ou l'application commence. Donc, bien sûr, vous voulez inclure ou nouveau service ou notre nouvelle bibliothèque, qui est plus forte. R slash vocal, hum, dans notre milieu où ? C' est alors que l'application démarre. Il est conscient que c'est un service qui doit être inclus, quelqu'un pour commencer à l'introduire après avoir initialisé la base de données. Mais avant d'initialiser mes contrôleurs, donc parfois l'ordre compte lorsque vous initialisez des services. Parfois, vous ne voulez pas initialiser ce service avant celui-ci. Je laisse généralement ces contrôles pour la dernière fois parce qu'au moment d'ajouter les contrôleurs. Tout le reste aurait dû être en place. Pas si j'espère que ça a du sens. Donc je dis toujours que l'ordre est important si tu ne peux pas t'embêter. Est-ce que l'ordre semble orteil, vous savez, difficile à comprendre. Laissez ces contrôleurs un pour la dernière fois. Plutôt beaucoup. D' accord, alors ajoutons le service de foot. Donc, pour commencer, nous allons dire que les services pointent sur. Il se peut alors que vous ne voyez pas la liste de l'annonce manquante sur. Puis après les abus, Swagger. On y va. Ajoutez le swagger Jensen en incluant nos bibliothèques. Vous savez comment cette nouvelle méthode d'extension. Alors ajoutez du gin de foot sur. Ensuite, nous allons devoir mettre quelque chose comme une expression de plaie. Donc on verra parler. As-tu vu, alors ? Une flèche, droite. , Andi, ouvre et ferme. Créez un jeu d'enfant. Ce n'est donc que le début. On n'a pas fini du tout. Donc les services que cette annonce a vu Gourgeon ouvrir. Accrochez-vous, alors. Tu es l'expression lambda. Vous parlez de la flèche. Alors ouvrez-le. Perdu. Vraiment brise proche brise pour les parenthèses et puis cyniques. Et donc, où commencer à remplir à l'intérieur des accolades ? Non. Avec quelques informations nécessaires pour que le sergent puisse opérer. Donc je suis juste en train de rompre la ligne et je suis avec le haut pour qu'il ait l'air battu. D' accord. Ensuite, je vais commencer par mon expression, qui est la mer ou la terre. Un jeton. Voyez-vous cette Onda slugger ? Non. D' accord, alors, Ouvrez. Accrochez-vous. Alors je vais m'envoyer un appel et encore. Donc je le fais juste par lignes pour que, vous savez, ça ne se mélange pas au moment où vous essayez de le produire. Ensuite, nous allons commencer à ressentir des informations sur la saga. Donc, si je regarde les paramètres de la fonction pour les formulaires de doc de football et qu'il demande un nom sur, alors il demande d'ouvrir une info P I. D' accord, donc le nom que je vais lui donner est V 1, comme dans la version 1, c'est la première version du FBI, donc le coup de foot aide en fait la version. Vous savez, quand vous avez plus d'une version du jeu, peut-être à la version de la BBC, j'ai des sponsors et une version gratuite et payante. Tu peux avoir Dom. Soccer génère des documents distincts bête sur cela. Mais tout dépend de votre configuration. C' est donc la première version de la paire qui se préparaient à construire. Alors V un, puis je vais voir un FBI ouvert à midi dans son intégralité. Désolé. Le type de leur ouvrir un p je étant plein à droite alors. Ceci est un nouveau a p a in pour ouvrir un b a in for object. Mais je suis juste allé à l'initialiser ici, puis à l'intérieur du limiteur stocke ces parenthèses qui alors à l'intérieur d'ouvrir un b a pour ce sont les points de données ajustés contrôle et espace et me montrer tous les points de données que je suis beaucoup de filo à l'intérieur de cela donc je peux voir un titre est égal à et je veux l'appeler ma librairie 80 i pour un fou, tout le mon qui semble un peu trop personnel. Nous essayons, vous savez, préparer le monde professionnel. Donc librairie un p I sur la version puis virgule. Andi, je peux dire que la version est égale orteil V un. D' accord, mais quand vous voyez que vous avez un gnome sur toutes les choses que vous pourriez sentir, il pourrait juste orteil virgule. Vous pouvez mettre des informations de contact, plus d'une description. Sept mettre la guerre pour description. Donc je vais juste freiner la ligne pour qu'elle n'ait pas l'air trop bouleversée. Des amis. Oh, notre ennemi. Oui. Parfois, je suis obsédé par ces choses. D' accord, Sam, cette ligne de rupture, essayant de faire en sorte que tout semble nécessaire. Alors ne tapez pas avec moi. Rides un peu mieux à. Donc la prochaine chose que j'allais mettre en était la description puis la description. C' est sur l'éducation pour une librairie. Très bien, donc c'est l'étape 1 pour mettre en place notre slugger. Nous avons donc ajouté le service pour le football. Vous savez, la génération de documents. Plutôt beaucoup. C' est ce que celui-ci ne voit que sur. Ensuite, nous lui disons que lors de la génération du document, sont des valeurs statiques que nous devons avoir. Donc c'est un titre sur le document. La version du papier et la documentation Onda la description. D' accord, alors ensuite, on va passer en revue notre méthode de configuration. Donc c'était la méthode des services de conficker, non ? Cela est appelé acheteur de l'exécution. Non, on va être idiot avec le conficker, qui met aussi érudit à l'heure. Et il est utilisé pour le pipeline de requête TTP. Donc, la première chose que je vais ajouter pour cette section sur je vais faire juste en dessous cette déclaration est en haut Cette utilisation slugger. D' accord, ouvert et ces attelages. Donc, je vois avec terrible pour les exécuter sur vous foutu. Ensuite, il y a une autre terre que ceux que je dois dire utilisent swagger. Je me souviens de toi. On ne sait pas que trois bibliothèques, est-ce pas ? Alors, Swagger, Jen était le service. Je dis, salope, non, je dis que tu t'embrouilles. Pourquoi ? Ce qui est, eh bien, nous court pour l'interface utilisateur. Et puis celui-ci nécessite un peu de la lambda comme une expression similaire à ce que nous venons de voir. Je dois donc ouvrir et fermer les parenthèses. Mettez mon alarme, la conversation et j'utilise. vois, tu peux utiliser à peu près tout ce que tu veux ici. Dieu voit, commence pour la configuration dans ma tête. Mais je ne te vois pas le plus. Vous voyez, euh, la flèche sur puis ouverte comprend la brise sur, puis le point-virgule. Donc, à l'intérieur des accolades allaient dire si point slugger les droits de fin de voir intelligence parle exactement ce que nous voulons faire. D' accord, Andi, après qu'on ait dit, voir ce meunier dans des points à l'intérieur de ça et tu vas devoir taper ça très similaire. Tout ce que je dactylographie. Il est où sans avant slash slugger cess à nouveau, v une barre oblique Slager point j, fils. Très bien, donc c'est probablement une chose que vous voulez dire, c'est combien de marge de manœuvre intervalle de vœux de dactylographie. Et vous le savez probablement. Vous pouvez probablement le rendre un peu plus facile, mais nous pouvons juste le laisser comme ça sous spontanéité, hum, puis virgule sur le nom. Donc, je suis juste mento de réutiliser le titre que j'avais apparu sur Mettre comme le nom ici. Bon, donc, non, non, nous avons dit à notre application que nous avions l'intention d'utiliser Slugger. Alors s'il vous plaît, Seigneur , ces, um, bibliothèques quand l'application s'exécute juste au cas où. D' accord ? Non. Essayons de voir quelle différence cela fait quand je vais déboguer l'orbe amarré Roeser va charger , aller à la 40 à coup sûr. Mais alors je veux voir la documentation de football afin que je puisse voir barre oblique sur le chemin même que je viens de mettre, qui était slugger slash v un slash slugger, pas J fils. Alors quand je fais ça, d'accord. Donc j'ai cette flèche, et je connais ma femme. Je sais pourquoi. Donc je vais retourner à mes projets. Bon, donc le problème est juste parce que hors du contrôleur que j'ai pour le FBI. Donc, ce qui se passe, c'est que si vous avez une action publique dans un A p que je contrôle, mais vous ne lui avez pas donné d'attributs de repos et nous obtenons bientôt d'autres repos. En fait, terrible. Le fait est que c'est juste là. En fait, ça va se débrouiller, rivaliser avec le swagger. Bon, voilà ce qu'on va faire. Je vais supprimer ce contrôleur. D' accord ? Donc, à la maison, le contrôle de ceci était notre expérience, juste pour s'assurer que nos gens je travaillais, donc nous avons pensé que ce serait le cas. Donc, je vais juste le supprimer sur. Ensuite, je vais en ajouter un nouveau, donc je vais juste faire un clic droit sur I goto controller on. Ensuite, cette fois, nous allons dire que je veux un contrôleur AP avec les bonnes actions de lecture. Donc celui-ci va nous donner, comme un modèle ? Non. Donc ce n'est pas une blonde. Contrôle de la force un remplissage. Il s'agit d'un modèle. Droit ? Donc, je clique juste ajouter que je vais appeler celui-là. Euh, eh bien, je suppose que je peux encore appeler ça Home Control. Donc, je suis juste recréer la maison contrôlable avec un cordon généré automatiquement. D' accord. Et nous y voilà. Donc, vous pouvez voir que celui-ci est un peu plus coloré, un peu plus vivant que le précédent sur ce que je disais sur les attributs restants serait ces, um attributs annotations de données qui sont des notations qui sont placées au-dessus de la action. Donc c'est que je reçois cela dit, le verbe de repos. Je ne le suis pas. J' ai ce soutien. C' est un autre ver mis. Supprime Ce sont tous des verbes du poignet. Bon, donc ce sont les attributs du poignet dont ils parlent, donc je vais essayer encore une fois. Je vais revenir pour consacrer plus, cependant, faire tout autre changement, faire tout autre changement, mais recréer ma manette, je vais juste revenir dans le débogage plus bien. Et on est de retour Attar pour quatre. Laisse-moi essayer encore une fois. Slash swagger slash v une barre oblique Slager dot j. Fils, quand je fais que non, vous voyez tout droit, de la documentation. Mais ce n'est évidemment pas très déchiffrable. Si tu n'avais jamais vu Jason, ça n'aurait aucun sens pour toi. Si tu connais Jason, ça ne veut toujours pas dire ce que le sens fait. Non. Tu dois t'asseoir et l'étudier. Donc, pour arriver à la vraie swagger vous je, la belle de l'interface utilisateur, sont le beau document que nous parlons de bateaux. Vous voulez juste enlever tout et c slash Slager. Donc, c'est l'hôte local colon aéroport slash swagger. Et une fois que vous faites cela, il redirigera sur le point d'index html avec un des documents bien générés vous montrant tous vos points dans. Mademoiselle, si je peux faire tomber ça un peu et l'amener à côté de Eh bien, nous avons en studio visuel, non ? Ainsi, vous pouvez voir la librairie de valeurs statiques. Ap I. Ceci est une paire éducative pour une librairie. C' est la description, Appleton. , Tu sais, on a de la force. Eh bien, allez bien. Donc, ayez la fonction get. Je retournerais toutes les valeurs sur, alors. C' est le téléphone à la maison. Disons que tu vois, ça dit que tu comprends que ce soit une barre oblique qui peut creuser dedans et ça te montre, hum, certains, tu sais, schémas sont des bateaux, la fonction. Donc, bien sûr, cela peut devenir beaucoup plus avancé est un très basique et il a été généré automatiquement à partir de fondamentalement rien. Donc, tu sais, c'est un bon pas dans la bonne direction. Ils montrent également que jamais obtenir où vous pouvez voir une slash maison ps slash i D, qui est une méthode que nous avons ici sur. Ensuite, si nous examinons cela, cela vous montre la description du Parlement et qu'il attend des réponses possibles . Bon, donc je ne suis pas tout à fait prêt à commencer à expliquer ce que vous savez, ce que chaque fonction est activée, comment ça marche, non ? Nulle part seulement se concentrer sur les configurations de ligne basées parce que nous éliminons ces choses de la façon de commencer, sorte que lorsque nous commençons notre développement, vous ne recommencez pas à refaire ces choses. Pas de retour sur nos projets au départ de ce fichier CS. Je ne peux pas insister assez sur le fait que la documentation est très, très importante. C' est ennuyeux, mais c'est important parce que, vous savez, si nous fournissons un bon document, cela réduit le besoin pour les gens de vous contacter pour obtenir de l'aide. Donc, ce que nous allons faire est d'augmenter les capacités des documents générés automatiquement. Donc, nous allons inclure Donc ce que nous appelons la documentation externe, qui est par défaut dans Visual Studio bien après le voisinage, mais il vient dans Visual Studio. Mais alors swagger peut réellement en profiter et l'inclure dans sa belle documentation. Et donc ce que nous voulons faire est d'aller au projet, clic droit, descendez aux propriétés sur, puis à l'intérieur des propriétés. Nous allons construire sur une fois en construction, nous allons faire deux choses. Le 1er 1 pour moi est ce Un mot dit tout mettre chemin ou sortie. Je vois le fichier de documentation XML. On prend juste ça. Ce que nous voyons, c'est qu'en arrière-plan, nous voulons un projet. Les documents conservent leurs propres documents. Cela et ce sera sous la forme d'un fichier XML. Aussi, une fois que nous avons inclus que nous allons commencer à recevoir des avertissements sont des bateaux, vous savez qu'ils ont besoin de toutes les fonctions pour être documentées. Je vais vous montrer un exemple. Donc je vais me changer, sauver, sauver, et puis retourner à la manette de la maison. Et puis vous commencez à remarquer que vous obtenez des lignes vertes, hum, sous la classe, sous le nom de l'action. Et si tu es fini, la fonction dit ou l'air. Oh, désolé. Voyant un commentaire XML manquant pour membre visible publiquement que donc une fois d'une fonction ou d'une classe de propriété publique , ils s'attendent à ce que vous allez le documenter. Et c'est ce que tout apporter cette option signifiait. Donc quand ils disent documentés, je veux dire, vous en mettez trois, vous savez, c'est un commun suivi régulier. Mais quand tu en remets trois, ça génère ce résumé, et tu vois ça ? Donc, cet avertissement en utilisant vieux disparu Ok Ok, Donc si vous faites cela sur chaque type de génère un résumé où il dit ok, retourne, nous voulons dire aux gens ce qu'il retourne. Nous devrions donner une description de cette fonction, notre classe, quoi que ce soit, accord. Donc c'est vraiment cool. C' est un peu généré automatiquement. Si vous avez ah, les paramètres. J' ai un périmètre int ici. C' est de voir le nom de Param , c' est donc très cool. Mais la chose est que vous pouvez devenir ennuyeux, ils peuvent devenir ennuyeux, surtout quand vous n'avez pas besoin de documenter chaque public face, hum, propriété et fonction. droite. Donc, ce que nous allons faire est double pour la même fenêtre de propriétés et la construction sur Nous allons supprimer l'avertissement. Donc si on survole la flèche Oh, eh bien, je suis désolé. Je pensais qu'ils vous montreraient le numéro d'erreur, mais il y a généralement comme un identifiant d'association de cordon avec notre Vous voyez si nous y allons. Donc, si vous descendez la liste de l'ère des orteils droit sur, alors vous regardez les avertissements que vous recevez. Vous voyez qu'il y a un numéro associé à l'avertissement. Donc, vous voyez, juste en activant ce Non, il s'attend à ce que je vais mettre ce commentaire XML sur chaque chose qui est publique, et ce n'est pas pratique. Mais je n'ai pas besoin de documenter le ventilateur de départ et ces choses. Donc ce que je veux faire supprimer cette cour d'avertissement, qui est 159 Une fois que je retourne à la fenêtre de mes propriétés et que vous voyez cette option comme ils suppriment les avertissements, je suis déjà en train de supprimer 17 01 et 17. 02 Je suis sûr que tu l'es aussi. Mais nous sommes allés à 1/3 1 point-virgule. 1591 Quand je coche, sauvegardez et retournez à mon contrôleur. Alors vous verrez que ces lignes ne sont plus perdues si je vais en l'air, sauf si vous voyez qu'il n'y a plus d'avertissements en dehors de cette nature. Donc, en supprimant l'avertissement, c'est plutôt dire ça. Ok, je veux que tu saches que je ne t'ennuierai pas avec celui-là, non ? Mais au fur et à mesure que nous allons de l'avant, que nous allons de l'avant, quand nous faisons nos contrôleurs, nous allons vouloir mettre dans notre documentation sommaire tout petit continuer avec ces configurations. J' ai fait le partage de chaîne pour activer la documentation XML sur le fichier à mon départ que CS il y a quelque chose que je dois faire sur. Je dois retourner aux services de conficker. Hum, fonction alors après les lignes où j'ai installé, slugger Jen, je ne vais pas lui dire où vous pouvez trouver l'excellente documentation. Je suis désolé. Non, ce n'est pas sous son intérieur. droite. Désolé. Donc c'est à l'intérieur d'ici que je vais continuer la documentation, donc je suis toujours à l'intérieur des accolades d'origine du football. On a fait les trucs obscurs sur le foot. Puis sous le truc de point plus fort, je vais continuer, donc je vais déclarer quelque chose et voir la barre exposée étendue amuse commencer pour le fichier star X. Vous abrégez son fichier de montant. Vous pouvez l'écrire simplifié si vous le souhaitez. C' est bien sur. Puis je suis allé à droite. Donc c'est un chemin de recherche très compliqué ici, donc j'utiliserais l'interprétation. Ce que je vais voir, c'est que j'ai un signe de dollar ouvert et des guillemets à l'intérieur des guillemets. Ayez mon accolade ouverte et fermée sur ça. Je cherche l'assemblage. Ok, points, obtenez l'assemblage d'exécution. Donc, l'intelligence vous aidera sur le chemin. Et c'est un canal de fonction. Et puis j'ai des points sur le nom. C' est aussi un téléphone montré là-bas. Dis ce nom. Très bien, donc c'est essentiellement dire obtenir l'exécution d'un similaire. Donc, c'est moi qui obtiens le chemin où se trouve le projet. Donc c'est un tissage très dynamique et je pourrais jamais noter le littéralement dans pour le projet, mais alors ce serait unique au projet et je devrais le faire à chaque fois . J' ai un nouveau projet. Donc en le faisant de cette façon, je dis juste quel est le chemin sur le nom de ce projet ? Tout de suite, alors. Je veux juste tout de cet orteil upended l'extension dot xml Donc vous trouverez un fichier XML par ce nom où qu'il soit, n'est-ce pas ? Donc c'est juste une belle dynamique. On trouve ce feu extérieur. Donc, en activant cela, vous verrez que c'est le chemin qu'il a généré un fichier XML avec le même nom qu'un projet. Donc c'est tout ce qu'on fait ici à la place, essayant de taper Oh, tout ça comme une chose statique. Nous sommes juste dynamiques, donc vous pouvez copier en morceaux cette ligne dans autant de projets que vous aurez une fois que vous aurez activé cette fonction pour l'excellente documentation. La ligne suivante, nous voyons ex chemin fournir physique expat, Mots de chemin pas combiner. Mettez la moissonneuse-batteuse Alors tu vois, j'ai la part du lion rouge. Donc, cela signifie que j'ai besoin d'inclure des élaborations. Je peux juste aller à la ligne rouge. Maintenez la touche Entrée sur. Alors j'aurai la suggestion. Sous les ampoules, tout ce dont j'ai besoin pour inclure le système que je possède une fois cette pierre, c'est très bien. Donc, si vous vous débarrassez des lignes, vous avez juste besoin d'un orteil au-dessus d'eux. Frappe le garçon Bold. Vous allez vous dire quelle bibliothèque vous manquez donc partie. Mais combiner à l'intérieur des indices de feu. Je vais dire un répertoire basé sur des points de contexte. D' accord, calmez tous les fichiers X. Très bien, donc après avoir fait ces outils et donc je suis juste obtenir le fichier XML à peu près que je vais dire, Voir qui inclure des commentaires XML sur. Ensuite, je lui dis que vous pouvez trouver les commentaires sur le chemin X. Ok, donc quoi que nous mettions dans la section sommaire de toute fonction ou incendie que nous avons, ça va entrer dans ça. C' est dans un fichier que nous voyons être généré ayant dans le fichier de documentation XML sur. Ensuite, nous voyons que lorsque Swagger génère sa documentation, il devrait tenir compte du contenu de ces incendies. Donc, je vais mettre en été Est-ce que c'est un artiste de contrôleur de test ap un contrôleur sur alors celui-ci est juste été de voir obtient des valeurs. Celui-ci va dire obtenir de la valeur. Bon, donc je mets juste des trucs dessus. Puis un autre changement que nous allons rencontrer le slugger est une ligne sous Strugar. Toi, je l'ai tellement comprise. Vous après avoir défini le jus dans le fichier, je vais mettre une ligne de plus là pour dire, si point a écrit le préfixe est égal. Il va bien ouvrir et fermer les guillemets. D' accord, donc ça va arriver au démarrage. Donc, vous savez, quand on passe en mode débogage à la place, on va en remorquage, on sait où après que le frère arrive, ça devrait apparaître sur la première page. Voyons si ça marche sur Douala. Donc je suis juste entré dans l'humeur Debo et la première chose qui est venue, c'est, ou des documents de slugger. Et si vous regardez de plus près, vous voyez qu'une partie de la documentation ou d'autres des commentaires que je l'avais mis pour les options sont là, n' est-ce pas ? Donc j'ai dit, obtient les valeurs droite pour celui sur obtient une valeur. Ce qui devrait être obtient une valeur cérébrale que. Mais pourtant, le fait est que ça marche, est-ce pas ? Donc, nous avons mis en place le football, et encore une fois, il est très important que nous maintenions ces documents. Il y a un certain nombre d'autres attributs qui seront ajoutés en cours de route, et vous verrez juste le football entier les envelopper et les inclure dans la documentation et nous rendre plus facile pour nous de partager nos secrets yeux AP avec d'autres. 9. Configurer l'enregistrement à l'aide NLog: Hé, les gars, Bienvenue dans cette vidéo, nous allons installer des utilitaires de journalisation dans notre projet de relations publiques. Maintenant, quand je dis désir, je veux dire, nous allons mettre en place des fonctionnalités pour que nous puissions à peu près écrire ou mettre en place un mécanisme par lequel vous pouvez écrire toutes les actions que nous jugeons importantes dans notre application. Donc, l'important à propos de la nostalgie en particulier dans un FBI, est que ça t'aide à démystifier. Cela vous aide à suivre exactement ce qui s'est réellement passé sur l'endroit où Soto accomplit cela. Nous allons utiliser lors de la connexion. Il y a d'autres bibliothèques que vous savez sont bonnes. J' utilise l'amour pour les filets aussi, mais dans cette vidéo pour ce serviteur violet abusant de fin journal. Donc, pour commencer, nous allons aller sur le pied nouveau se met directement sur le projet, aller à la gestion, obtenir des paquets, puis nous allons chez le frère sur que nous allons chercher et c'est une lettre et L ou G et un journal. Non, ils sont numérotés ici. Mais celui qui nous intéresse vraiment est amoureux des extensions, ce désir. Bon, alors on va cliquer sur celui-là. Ne le chargez pas dans nos projets. Et une fois que cela est fait, nous pouvons toujours passer à l'installation et vérifier qu'ils déplacent le filtre et montrent tout ce qui est dans ou projettent, hum, grâce à de nouveaux gets. D' accord, ensuite, on veut mettre en place un conflit. Faits déjà mis en place ce conflit peut enfin le trouver dans la ressource est pour ce projet , sorte que vous pouvez réellement aller de l'avant et le copier. Andi, crée un fichier appelé Fin log Dot Convicts. Donc, pour créer un fichier, il suffit de cliquer avec le bouton droit sur le projet aller. Pour ajouter sur le nouvel article sur vraiment ? En fait, peu importe lequel. J' utilise juste un fichier texte, mais il doit avoir l'extension de point confortable. Très bien, donc vous pouvez utiliser un fichier texte et vous voyez dans le conflit de points de journal comme le nom sur. Ensuite, vous pouvez simplement placer le contenu dans. Je ne vais pas passer du temps à l'écrire avec vous, mais je vais vous expliquer ce qu'il y a dans le dossier. Donc, le fichier est fondamentalement simplement initialiser dans le log xml. Eh bien, c'est une configuration XML pour quatre dans le journal, donc il fait juste un peu d'initialisation assis dans le schéma de ce qui a introduit des er's d' initialisation de base sur. Ensuite, nous avons le chemin. Donc, le chemin interne du fichier, je suis assis donc un chemin sur ma machine. Bon, donc tu peux changer ça. Donc la chose la plus facile, peut-être pour vous, pour que vous puissiez voir où est votre école de bûches. Il suffit de le mettre sur votre disque principal, appeler la barre oblique et probablement de créer un dossier appelé Logs. Donc je vais juste la faire changer. Donc, c'est le journal des barres obliques C. Donc, um c barre oblique deux-points enregistre la connexion interne, puis pour le nom du fichier. Donc, les cibles ciblent les fichiers sanguins. Donc la cible aime le feu. Signification où devrait tous les bûches école. Bon, donc on va dire, on l' a trouvé. Ensuite, vous pouvez mettre sur notre chemin une fois de plus, peut-être dans votre dossier de projet ou dans un endroit qui est très facile à trouver. droite. Hum et ensuite étends-toi ici. Il dit en gros, comment voulez-vous que je nomme ce dossier si bien, c'est en fait dire que Hold your mutilé nommé le feu. Donc, l'appât requin appel déverrouiller fatso pour chaque jour que vous effectuez des actions. Il examinera la date et générera un nouveau fichier. droite. Il est donc plus facile de suivre ce qui s'est passé hier par rapport à la semaine dernière par rapport à aujourd'hui, spécifiquement sur. Ensuite, les charges seraient entières. Si chaque ligne semble donc que vous allez avoir le long bit le niveau signifiant erreur Western dans pour vous. Donc, voyez ce truc de niveau, alors vous allez avoir le message réel relatif à cette ligne. Très bien, donc c'est ce qui est sur certaines règles, comme dans la livraison minimale de la chanson de terre maximale. Mais je pense que c'est assez bon pour nous. Le produit. Je vais le sauver encore une fois. Ceci est inclus avec la vidéo afin que vous puissiez aller de l'avant sur le Fetchit si vous le souhaitez. D' accord. Donc, ensuite, nous devons configurer pour les classes et configurer ou démarrer afin que nous puissions juste faire un changement de contrôle de construction rapide et être juste pour nous assurer que nous n'avons pas introduit de héros pour casser ou programmer Andi. C' était un succès. Donc, nous pouvons procéder à quelqu'un pour ajouter à des dossiers à mon projet. Donc, je vais faire un clic droit sur Ajouter un nouveau dossier Onda puis le 1er 1 va être des contrats sur, puis le 2ème 1 Donc je vais y aller à nouveau, non ? Cliquez sur le nouveau dossier. Et celui-ci a été à ces services. Très bien, donc sous les contrats et que vous voulez créer des fichiers de classe sur avec un clic direct à nouveau cliquez sur ajouter la classe sur. Ensuite, je vais appeler celui-ci sur lequel je suis plus long service. Ensuite, sur les services. Je vais faire la même chose. Créez une classe, et je vais appeler ce service plus long. Donc l'un est un service plus long qui est sous les services pour elle sur l'autre est le service plus long sous le dossier des contrats ? Non, sous j'aime les services ou j'aime un service. Désolé, nous allons créer un vieux Désolé, celui-ci va être une interférence. Donc, la convention générale de dénomination pour Interféres est que vous mettez sur moi, euh le devant du genou. droite. Donc l'interface publique, pas la classe, mais interférer. Il est donc plus facile de décrire la classe et de la changer en interface. Mais assurez-vous de ne pas manquer cette étape. Bon, donc à l'intérieur de l'interface de anti LaVoy, connectez-vous à quatre, puis ce fils de téléphone va prendre un paramètre, hum, hors chaîne de type et on l'appellera message. Ok, donc ah, long message en quatre cordes à l'époque. La chose est qu'il y a essentiellement quelques types de choses qui voudront aimer peuvent être dans pour les avertissements, messages de débogage et certainement les erreurs qui veulent Sierra. Donc, nous avons une fonction pour un journal sur quatre, alors nous allons juste créer trois autres fonctions pour avertir. Donc, je viens de dupliquer que je viens d'utiliser le contrôle et être ainsi en sélectionnant le débarqué juste faire contrôle et être tous les doublons que liner ont donc longtemps en pleine aga avertir sur. Ensuite, je vais enregistrer, déboguer, puis enregistrer l'erreur. D' accord, donc j'ai ces quatre fonctions qui géreront la journalisation en fonction de la façon dont elle va être configurée. Chacun va apparaître différemment à l'intérieur du fichier journal. D' accord. Il serait donc plus facile pour nous de voir toutes les flèches coupées à travers le bruit éteint en quatre. Peut-être que les avertissements seraient moins utiles, et certainement nous n'avons pas besoin du livre dans certaines situations. C' est ça pour nos contrats ? Je peux sauver ça et ensuite aller au service. Maintenant, le service est à la pointe. Avoir les définitions pour les fonctions que vous venez de décrire dans l'interférence. Alors je vais faire Colon. J' ai plus de service. Bon, donc c'est ce que j'appelle l'héritage. Donc, la classe va hériter de l'interface alors. raison, Smith dit que Pour cetteraison, Smith dit quej'ai besoin d'orteils inclure des trucs manquants. Donc, je vais juste utiliser l'ampoule mise dans l'instruction using puis plus loin à cela , va me dire que j'ai été mis en œuvre après. Non, allez-y et mettez en œuvre les interférences aussi. Non, j'obtiens les définitions de fonction elle, euh, par fonction qui a été déclarée dans le dossier du contrat. Maintenant, après avoir fait ça, j'ai besoin euh, d' euh, éléments, donc ah, biens. peu près quelqu'un a privé statique, et puis cela va être hors type I plus longtemps. Donc je suis plus loin hors de la loi de fin. Glamour après inclure le cèdre en utilisant n fort. Ils ont donc leur propre rivage forestier. Mais j'utilise n log, donc je veux m'assurer que j'utilise dans le journal droit ? J' ai plus longtemps, plus longtemps. Alors ça va être égal responsable de l'amour des orteils. Certains initialisant mon objet plus long sur Gwen pour utiliser Get classe actuelle plus longtemps. Bon, alors sachez que j'ai cette doublure. Je peux appeler cet objet ou ceci. Appelons ça un objet pour que je puisse appeler ces objets. Noto porte tous mes bûcherons. Commençons par les gens du journal maintenant. C' est juste pendant ne sont pas mis en œuvre. Je l'implémente. Donc, je vais dire quand c'est ce que j'appelle le désolé quand j'appelle la fonction de débogage de l'amour. Ensuite, je veux mon orteil plus long créer un message d gras. Voyez qu'alors ce qu'il enverra est le message que j'ai passé dans la fonction . D' accord. Et c'est à peu près ça plus longtemps. Log Arrow va faire la même chose. J' appelle mon erreur de point d'objet plus longue. D' accord. Bien sûr, je suis celui qui contrôle les messages qui sont réellement transmis. Donc, si c'est une erreur et je dois m'assurer que j'ai passé en l'air un message pour que quand j' vérifié les journaux, je vois l'arabe qui jetait bien, donc je sais que je suis sûr que vous avez eu le bourdonnement si vous n'avez pas pris et peut-être au hasard . Mais j'espère que vous avez déjà posit vidéo et finir un constructeur en espérant que vous avez écrit la même chose que j'allais lire sur où les deux chariot andi Peu monde à plus d'info point pour journalisation plus longtemps que warren pour averti. Alors nous sommes tous sur la même page. Maintenant, nous avons encore un changement à apporter. C' est à l'effrayé par le CSO. Nous avons orteil ajouter que les composants de notre milieu où les configurations et se souvenir des questions d'ordre reçoivent toujours les contrôleurs mensonges pour la dernière. Donc quoi que ce soit d'autre ici en ajoutant juste un peu au-dessus de droite. Donc, pour que dans l'art du journal pour que le service plus long soit initialisé dans notre application qui démarre , je vais dire que les services sont ancrés. Ajouter singleton. Donc, vous pouvez savoir ajouter le service dans tout le milieu étaient sur le démarrage de l' application en ajoutant soit singleton ou transitoire ou ajouter portée. Donc je veux dire, nous utilisons le temps unique, donc je vais juste dire ajouter un seul service d'enregistrement Thanh I sur. Je vais expliquer la différence Ville dans la seule ville soulignent PTA et le transitoire plus tard sur son ne pas accablant avec des informations tout de suite. Donc, ce que nous faisons est de dire que nous voulons créer une instance Singleton à partir du service sur ce est notre service. Vraiment notre Ceci est notre contrat pour le service et c'est la mise en œuvre hors contrat. Donc, tout ce qui manque, vous savez, vous avez juste au-dessus et incluez la bibliothèque en conséquence jusqu'à ce que vous ne voyez pas de lignes vertes avec cela, nous aurions mis en place en amour dans notre application dans l'ensemble de notre noyau donna application sur la viande, il prêt à l'emploi. Je sais que nous nous sommes installés dans l'amour. On doit le tester, non ? Donc, le vrai test serait d'essayer quelque chose ou de mettre en ligne un tribunal qui devrait créer un journal et ensuite vérifier que beaucoup a bien été créé. Donc je vais aller voir mon contrôleur sur ce que nous allons faire, c'est mettre quelques lignes dans peut-être deux ou quatre options de sissy. Lorsque nous frappons l'action qu'il devrait écrire le journal que l'action a été touchée afin de commencer , ce que nous devons faire est d'effectuer cette chose appelée injection de dépendance, où notre service va être injecté dans le contrôleur afin que le contrôleur peut interagir avec sont dans le service d'amour. droite. Donc on fait référence au service à travers le contrat, quelqu'un pour dire privé, et je suis qu'on l'appelle juste en lecture seule Andi. Je vois que je service plus longtemps. Bon, donc c'est le nom de mon contrat que j'ai créé. Je peux juste aller de l'avant et soit utiliser, entrer ou simplement choisir le responsable pour inclure toute dépendance manquante sur, puis souligner plus longtemps. Donc c'est le nom de mes objets. C' est alors qu'ils incarnent le service qui est en train de journaliser. Mais pour l'injection de dépendance, nous avons besoin d'orteils. Sois clair à l'intérieur. Off. Fini. Contrôleur. Fini. Um, constructeur. droite. Donc, je vais dire que les contrôleurs de maison publique sont des constructeurs. Une fonction par défaut qui est appelée une fois qu'une classe est initialisée. Droit ? Donc, je vais dire qu'une fois que vous avez appelé le contrôleur domestique, je veux que vous initialisiez mon service plus long. Je vais juste passer dans le service de l'œil plus long sur puis les paramètres que je plus donc la chose cool à propos de Donna Court a refusé de faire l'injection de dépendance dans les versions précédentes NBC, nous avons besoin d'outils tiers comme injecter ou quelque chose comme ça, mais NBC fait que le noyau net de points désolé rend très facile de juste dépendance Inject parce qu'il vient biscotti construit dans cet écosystème entier entoure l'injection de dépendance. Donc ça réduit quelques obstructions, um, quelques doubles emplois et faire des choses plus d'une fois ça réduit le besoin d'en sortir. Donc, je vais juste initialiser notre objet en lecture seule sur le score orteil plus long l'objet qui va être passé lorsque nos contrôleurs domestiques ont appelé. Je sais que j'ai mon objet initialisé. Je ne peux pas interagir avec le service. Donc, si je voulais autoriser quelque chose que je pourrais dire souligner plus longtemps, alors j'ai accès à toutes mes fonctions que je viens de déclarer. Donc, je voudrais peut-être faire dans quatre sur dsi accédé, accédé à la maison contrôleur. Bon, donc je vais dire dans l'amour que ce que vous accédez à la manette de la maison sur je vais orteil, essayer de faire un autre, certains pour arrêter ça. Puis sous les gets disons que je connecte Debo à la place. D' accord , , alors. Je vais dire la valeur de Dieu sur ne pas savoir Post. Juste basé sur ça, je vais adorer une erreur cette fois. Donc, dans son post, je vais dire que c'est une erreur, quelque chose comme ça sur le dernier sous. Essayons les pistes. J' allais devenir un peu compliqué, mais c'est bon. J' allais devenir un peu compliqué, On pourra l'avoir plus tard. Donc celui-ci va être un avertissement. C' est un avertissement. Très bien, sur ce va être l'amour averti. Donc, j'ai perdu. Toutes ces fonctions sont des actions plutôt avec une fonctionnalité de désir. Alors essayons quelqu'un d'aller dans le bateau amarré, et je vais aussi lancer le facteur. Donc, si vous l'avez déjà installé ou si vous ne l'avez pas fait, alors vous pouvez aller de l'avant et l'installer et le lancer. Bon, donc on va mettre notre premier AP que j'appelle. Donc, je viens de copier l'URL de nos sessions de débogage, a déclaré l'école hôte locale américaine sur quatre. Car mon port va être différent de votre donc quelle que soit cette base sur laquelle vous êtes. Puis à Postman, j'ai dit que tu es l slash ap je slash à la maison. Donc c'est le nom de ma manette. A p a n'est pas situé à la maison. Quand je fais ça, je suis allé directement à droite. Si je fais la barre oblique cinq à la maison, alors l'envoyer envoie la valeur orteil. Ok, donc c'est le désolé. Laisse-moi te montrer ce qui se passe. Donc, quand je suis rentré à la maison, il est allé à celui-ci. Donc, l'attente est que dans le dossier judiciaire, je suis allé voir ce journal avant que les résultats ne reviennent, non ? Le même oubli verrait un débogage. Et je suppose que la valeur autour vraiment c'est cérébral, que tout droit, a obtenu une valeur retourné la valeur sur puis faisons juste un post. Donc, pour faire opposition, Comprendre ? Nous avons fait obtenir un peu juste pour supprimer cette valeur. Et je dois juste changer cette demande, arrêter le post et envoyer. Je n'ai jamais reculé un peu allait un peu trop vite. Bon, donc, donc, euh, retour dans notre contrôleur, nous avons notre poste. On y arrive par un P ? Je slash à la maison. Donc c'est ce que nous avons. C' est une méthode post. Donc, nous n'utilisons pas gets, mais nous utilisons post. D' accord, mais alors il attend une certaine valeur du corps. Droit ? Donc, cela signifie en utilisant le facteur que nous avons orteil mis dans certains visages sont une certaine valeur dans le corps. Donc, si vous cliquez sur ce corps, il semble que vous infiltrez l'autorisation, les en-têtes et le corps d'Arum Droit sur. Ensuite, la valeur par défaut sélectionnée est connue. Donc on doit aller où ? Orteil brut. Très bien, donc vous avez différentes façons de soumettre des données dans le corps à partir de la demande envoyée. Bon, donc on va choisir une brute et ensuite on quitte le test Jason. Donc, vous pouvez voir du texte. Jason est ce qu'on veut. D' accord. Donc, si vous voyez nous envoyer un SMS, cliquez dessus et vous voyez Jason dans la liste sur, alors nous allons juste taper une chaîne, et nous allons dire valeur de test. D' accord, , alors, quand nous envoyons, voyons si celle-là fonctionne. D' accord ? Donc nous ne voyons rien revenir parce que, eh bien, ça ne retourne rien, mais nous voyons un statut. D' accord. droite. Um, je pourrais même modifier ça, qu'il pourrait retourner autre chose. Mais ce n'est pas vraiment pour ça que nous sommes là. Nous avons testé le post sur il a traversé puis le dernier serait un autre. Que nous voulons tester serait la suppression. Donc, si vous regardez la ligne directrice pour arriver à faire, voir Slash du FBI et c'est une fois de plus pourquoi la documentation est si importante. Donc c'est le FBI Slash e p i avec l'action Slash 5. Bon, essayons ça ensemble. Donc, cette fois, nous faisons une suppressions. Le type de requêtes n'est pas poses, pas get, mais c'est supprimer directement sur. On s'attend à ce que je passe assez de valeurs. Je vais en sauver cinq. Je n'ai pas besoin de notre corps quelqu'un pour dire de connu sur la raison. Non, je n'ai pas besoin de nos corps comme je suis. Si vous regardez le post, Je regarde aussi met que vous voyez des tsunamis corporels attend la valeur des droits du corps . Hum, donc j'ai cette mauvaise habitude avoir une main lourde quand il vient supprimer le quart de travail de toute façon, alors essayons la suppression. Donc, je change juste que pour supprimer une barre oblique ps Sur c'est une jetée avec une barre oblique d'action cinq envoyer soudainement et puis il répondra, Okey, donc cela signifie qu'il a frappé. Et si vous n'êtes pas sûr, vous pouvez toujours mettre nos points d'arrêt sur l'action. Oh, parce que je veux dire une modification. Le point de rupture fonctionnera après les redémarrages, mais vous ne pouvez que mettre des points de rupture sur une ligne hors de l'action. Ensuite, assurez-vous qu'il appuie sur la droite sur votre clic envoyer. Vous vous arrêterez pour Depot Guy plus tôt au bon endroit, n'importe quel trou que je viens de tester toutes les options dans lesquelles nous mettons plus court. Ce que je vais faire, c'est trouver ce chemin. J' ai oublié le chemin. Mon chemin est C slash projet slash librairie un projet slash ps slash serrures. Je vais discuter de Peel off qui font monter la fenêtre de mon explorateur. Je vais y naviguer ici je suis. J' ai donc parcouru le chemin du fichier sur mon système, et je vois le fichier nouvellement créé. Donc, si je fais un clic droit et disons ouvrir avec Notify plus plus, alors je vais voir les lignes ses demandes que j'ai envoyées afin que nous, d'abord, vous pouvez remarquer qu'il a dans la date où il était dans l'horodatage sur, mais il a dans le type hors ligne du journal ou le niveau. droite. Donc nous savons tous les à quatre pattes avec tous les Eros. On connaît tous les avertissements, non ? Donc, il nous dit que le étroit ne pas où ils étaient juste que l'information générale ou ce n'était pas une erreur qui s'est produite. Ou si vous commencez à avertir de l'endroit où ceux qui déterminent lequel est écrit étaient au tribunal. Donc, en tant que développeur, vous serez en mesure de savoir que lorsque cela se produit, vous mettre comme une garantie. Quand celui-ci se produit, vous mettez en bas comme une erreur. Donc quelqu'un appelle des réponses ou, vous savez, ils éprouvent cette difficulté en ce moment. Ce jour-là, vous pouvez trouver le fichier, trouver l'horodatage sur, savoir quelle flèche peut s'être produite qui a contribué à l'expérience de cet utilisateur. C' est ainsi que nous configurons la journalisation dans notre p I. Et c'est pourquoi il est pertinent pour notre application sur, vous savez, vous pouvez l'examiner une fois de plus. Ceci est inclus avec la ressource est pour les vidéos. C' est donc l'excellent fichier de configuration sur. Vous pouvez aller de l'avant sur mettre en place toutes les autres choses pour un désir 10. Configuration CORS: dans cette leçon, nous allons configurer notre politique de cours. Aucune voiture n'est abréviation ou c'est un acronyme pour origine croisée. Partage des ressources. peu près, c'est un mécanisme qui donne des droits orteil autres utilisateurs qui ne sont pas sur le même ne signifie pas que eso. Si sur l'application est hébergé sur une autre machine de ma machine sur elle essaie d'interrompre est mon EPA. Il échouerait fondamentalement comme nous l'avons fait. Non. Donc la politique de cours est fondamentalement un moyen de permettre l'interruption à travers le tuyau de sorte que , vous savez, tout le monde de n'importe où dans le monde puisse interagir avec le FBI si besoin est. Donc, je suis ici dans mon point de démarrage CS feu sur. Nous allons descendre la fonction de configuration des services et donc je peux juste ajouter ceci juste dessous où nous initialisons oh, notre identité dans le cadre de l'entité. Et j'ai mis cela au-dessus de l'implémentation slugger. Donc ce que je vais dire ici, c'est des services amarrés. Dieu noyau. Très bien, donc c'est là, notre intelligence de cours va aider. Alors je vais juste mettre mon demi-côlon, mais on a besoin d'options, non ? Donc, je vais juste utiliser mon démarrage Andi comme une expression lambda parlant, d' accord, accord, et nous allons vraiment m'y prendre, ouvrir et fermer, brise bouclée, brise bouclée, puis à l'intérieur de ça au lieu de la brises actuelles, nous allons voir ou ne pas ajouter de politique. Donc, après la politique d'Adam, nous allons l'appeler la politique du cours. Donc, je comprends que les réponses de base est-il clair ce qui l'a publié ? C' est allumé, alors. Allez, alors nous en avons besoin d'un autre. Donc, beaucoup de fois, vous vous demandez probablement, là vous ne pouvez pas toutes ces configurations et vous vous demandez probablement, OK, Home, je suppose. Mémorisez ces choses. Tu sais, l' honnêteté. Vous allez probablement le mémoriser. Et vous vous habituez probablement au modèle. Andi, même si tu ne le fais pas, alors là. beaucoup de ressources là-bas. Cela vous aidera à point Net core a une excellente documentation. Alors que je vais le long, je peux utiliser différents jetons, donc vous ne verrez peut-être pas les gens utiliser ou vous ne verrez peut-être pas constructeur, mais c'est le même concept, non ? Donc on fait, je sais que c'est juste construire la politique. Donc je vais mettre le constructeur dans une autre ligne, donc, vous savez, ça ne traîne pas, tout est clair. Et puis je suis allé dire, les points de constructeur beaucoup d'origine. Donc celui-ci, cette politique ou malgré la politique, est fondamentalement dire que vous savez, partout où l'appel sont les droits du serveur appelant ou une application qui fait, um, contact avec mon p a. Où ça vient de Hello ? C' est juste sur, puis sous ça je vais dire point sur. Je vais te dire bonjour. N' importe quelle méthode. Donc ça veut dire que je ne vais pas empêcher quiconque Toe d'appeler certaines parties du FBI et de ne pas appeler d'autres. Ensuite, un de plus où je vois un bas tout en-tête parce qu'il pourrait y avoir des en-têtes. Je ne sais pas encore quels frappeurs je vais avoir besoin dans mes appels du FBI, donc je ne veux pas mettre de restrictions sur les en-têtes sur pas de bruit. Je suis juste en train de suivre n'importe quel hors-cours. Nous pouvons les restreindre autrement, mais il est bon d'avoir une politique ouverte, moins basée sur le contexte. Ici. Il est bon moment sur la politique ouverte, puis nous limitons à l'application cela plutôt qu'au niveau mondial maintenant, après que nous l'avons fait et que nous avons construit cette politique. Nous avons deux autres lignes hors cour qu'il nous faut écrire. Et c'est connu dans la configuration. Donc, nous avons fait que dans les services de configuration ont été ajoutés ce service pour les pores ? Non, on a besoin de laisser les orteils. Sachez comment il devrait se comporter. Donc, je vais le faire juste ci-dessus utiliser l'enracinement sur. Je vais dire que l'utilisation des cœurs. D' accord, certains locataires utilisent la plupart des cœurs le jour. Je dois préciser quelle politique. Donc on vient de le nommer ici. Nous construisons simplement une politique et lui donnons le nom, politique de cours. Quelqu' un pour le réutiliser. Ne t'entends pas les scores. Nous utilisons la politique de cours alors nous sommes presque finis. C' est ça. Nous avons donc ajouté l'application de stockage des cœurs et savons que nous sommes prêts pour un peu sur l'interaction 11. Révision et ajouter des modifications à GitHub: Hé, les gars, on est de retour. Et dans cette leçon, nous allons simplement revoir ce que nous avons fait pour vérifier nos changements de remorquage. Balcones Argueta. Je sais que je suis sûr qu'on s'est déjà inscrits. Ce que nous voulons faire, c'est ajouter nos nouveaux projets ou projets en cours comme dépôt sur nos balcons de ghetto . Donc, pour commencer avec ça, c'est relativement facile. La première chose que vous voulez faire est de regarder en bas à droite sur un coin et vous verrez sont mais dans leurs robes hors de contrôle de la source afin que vous puissiez cliquer dessus. Ensuite, vous pouvez choisir obtenir. Donc, si vous ne voyez pas que si vous ne voyez pas au contrôle source sur notre si lorsque vous cliquez dessus , vous ne voyez pas get. Cela signifie que vous avez peut-être manqué quelque chose dans l'installation afin que vous puissiez aller de l'avant et ne pas Seigneur les outils tiers pour studio visuel ou passer en revue les vidéos d'isolation que vous auriez déjà passées sur ce point, assurez-vous que que vous n'avez manqué aucune étape de toute façon, si vous le voyez, vous pouvez continuer à cliquer sur obtenir, et une fois que vous avez fait cela, vous voyez quelques changements d'interface. Un que vous ne voyez plus ça. Mais c'est au contrôle de la source. Mais, tu sais, vois une librairie A P I et tu vois que la branche s'appelle Maître. D' accord, suivant, vous voudrez publier pour vous lever. Donc, vous voyez cette nouvelle équipe Explorer pipi et venir et vous voyez poussé que vos services de développement . Nous ne les utilisons pas, mais nous allons utiliser get hub Laissez peut-être plus tard et je peux mettre en place développer siècle comment cela fonctionne. Mais pour l'instant, nous allons nous concentrer sur la descente. C' est plus facile de commencer avec Et puis je vais aller de l'avant et cliquez sur Publier pour obtenir de l'aide. Vous m'avez alors demandé de vérifier mon cône utilisateur. Donc, si vous ne l'avez pas déjà signé que vous le pouvez, il sera probablement difficile de se connecter. Si vous vous êtes déjà connecté, vous ressemblez à ça. Donc, vous confirmez juste que vous pouvez changer le nom si vous le souhaitez. Je vais partir. Mon Andi peut ajouter une description si vous le souhaitez. Si vous le rendez privé, cela signifie que tout ce que vous serez en mesure de le voir et d'interagir avec lui, sauf si vous invitez directement quelqu'un à venir, collaborer avec vous. Je vais laisser le mien sur Tickked on Click Publish afin qu'il soit un référentiel public accessible au public. Donc, ce qui va faire est de créer le référentiel. Synchroniser sur, assurez-vous qu'il pousse son trop ghetto dot com sous mon profil. Maintenant, quand j'aurai de l'espoir, je verrai tous mes dépôts, et je verrai ma nouvelle librairie AP I. Quand je clique dessus, il naviguera vers l'espace. Donc à partir d'ici, je peux ajouter une description si je ne l'ai pas mise là avant sur mon site Web sur, vous savez, remplissez comme un rapide lisez-moi pour donner quelques informations sur leurs positifs. Je vais faire tout ça ici. Vous pouvez aller de l'avant et faire votre propre bateau avant que nous nous réunissions à nouveau, et ensuite quelques informations devraient être là. Mais oui, c'est tout. Donc, sachez que si votre ordinateur se bloque, c'est que vous aurez toujours une sauvegarde dans Get up. Vous pouvez toujours revenir à cloner ou ne pas charger où vous pouvez simplement ouvrir dans Visual Studio descendra à votre machine, vous pouvez l'ouvrir et recommencer à travailler. Et c'est l'un des principaux avantages avec l'utilisation de 1/3 party, um, contrôle de source hébergé à froid fourni comme ghetto, où votre cordon sera toujours quelque part en sécurité. Si plus tard, vous voulez le changer de public, vous pouvez accéder aux paramètres activés. Vous pouvez gérer l'accès si bien. Je ne pense pas que vous ayez besoin d'aller gérer l'accès il y a. Donc, une fois que vous cliquez sur les paramètres et que vous faites défiler vers le bas, vous verrez. Rendre ce reportage privé pour le public. Vous pouvez transférer la propriété, ou vous pouvez la supprimer si vous souhaitez un accès géré avec un avocat pour inviter d'autres personnes à venir collaborer avec vous. 12. Créer des bases de données dans SQL Server: Hé, les gars, dans cette vidéo, nous allons commencer à concevoir la base de données que nous allons utiliser au moins les données de base que je vais utiliser pour ce projet. Le scénario global avec lequel nous travaillons est celui où nous avons une librairie le jour. Vous voulez que nous développions un AP parce que, eh bien, ils l'ont fait. Il y a une librairie, ils ont une base de données. Ils stockent des données sur les livres et les auteurs. Andi. Donc, ce qui se passe, cependant, c'est qu'ils veulent réellement fournir leurs informations sur leurs livres et leurs auteurs orteils tiers, euh, le personnel sur la meilleure façon de le faire est par un E p I. Afin que différents sites Web peuvent s'intégrer à leur base de données et extraire des données sur leurs livres sur potentiellement même faire des achats via ces sites tiers. Donc les scénarios, vraiment que nous allons construire un FBI en plus de la base de données existante. Cela étant dit, les scripts pour la base de données que nous sommes sur le point de construire sont fournis dans la ressource est donc si vous avez déjà l'impression de construire une base de données à partir de zéro, alors vous pouvez simplement ne pas savoir ce script et aller de l'avant et générés sur votre ordinateur. Pour ceux qui ne sont pas vus, vous savez aussi à l'aise. Alors tu pourras regarder. Cette vidéo va passer par la construction de toute la base de données. Nous n'avons vraiment que deux tables. Un pour les livres, un pour les auteurs. Nous allons créer une relation le jour comme nous l'avons dit, et vous verrez des petites nuances sur la construction de la base de données via le studio de gestion de la suite . Si vous voulez améliorer vos compétences sur le développement de bases de données, que vous pouvez consulter mon autre cours, qui est intitulé Développement Microsoft SQL Server pour tout le monde afin que vous puissiez vérifier cela et améliorer vos compétences en SQL over. Je vais continuer pour que nous ayons déjà installé SQL Express, monsieur. Um SQL Express. Si vous avez une autre édition de SQL Server sur votre machine et que c'est bien, vous pouvez simplement aller de l'avant et faire apparaître le studio de gestion avec cette instance sur quand recommencer dans cette instance, où je viens d'ouvrir le studio de gestion et le Spotswood pop up. Donc, pour mener mon instance SQL Express, j'utilise juste un point, puis une barre oblique et dans le mot esque UAL Express. Donc, une fois que je fais ça et que je pourrais me connecter, alors je devrais être capable d'obtenir l'accès toe cet écran. Donc, sur les bases de données, je vais juste faire un clic droit et dire nouvelle base de données. Et puis la première chose à fournir est le nom de la base de données. Je vais l'appeler librairie. D' accord. Librairie, valise chameau. Bigby Big est tout le reste, la minuscule. Donc je l'appelle juste librairie Click. Ok, non, pour accéder à la base de données, tout pour développer des bases de données. Donc vous voyez ça ici que j'ai un tas d'autres bases de données, mais celle qui nous intéresse est la librairie, donc vous en avez probablement une. Et si vous êtes dans vos pieds et que vous devriez être capable de ne jamais obtenir alors nous allons dans la petite librairie et il y avait des tables Actiq sur. Ensuite, nous cliquons sur nouveau. Donc radicalement des tables, une nouvelle table. Bien, cela va lancer notre concepteur de table Maintenant, pour plus de concepteur de table, nous allons juste commencer à remplir toutes les colonnes, le type de données que chaque colonne devrait avoir et si nous ne pouvons accepter aucune valeur dans cette colonne ou non. Droit ? Donc, la première colonne que chaque entité a besoin de toe a dans une base de données bien conçue est un i d. D'accord, D'accord, donc je serais représenterait un feu d'identité unique, juste Pour chaque enregistrement qui entre, ils peuvent être identifiée de manière unique par la valeur qui entre dans la colonne ID. C' est son but alors le type de données que j'utilise pour le mien est int, mais alors, quand c'est un unique identifiant honnêtement ce que vous appelez une clé primaire, donc pour en faire une clé primaire, je vais juste faire des grillons d'orteil, cliquez avec le bouton droit de la souris, puis vous voyez l'option définir la clé primaire sur. Ensuite, la chose suivante que je veux faire est de m'assurer que la valeur change d'elle-même à chaque fois. Donc, sous les propriétés de colonne, je vais descendre à celui qui dit que je n'ai pas vu la spécification et ensuite je vais définir ceci sur oui, je fais une identité. Donc, une fois cette identité, il va incrémenter d'un à chaque fois qu'un enregistrement est ajouté, vous pouvez changer cela, mais pour non, nous le laissons tranquille. Ensuite, je vais ajouter le prénom. Donc, le prénom de l'auteur sur ce type de données de quand utiliser environ char 50. Donc, Environ pneu dit que je vais être Story dans le texte sur je veux stocker jusqu'à 50 caractères vaut hors texte. D' accord, ensuite, où le nom de famille, qui va aussi être inviter nos 50 Je vais prendre de la viole et ensuite celui-ci je vais nous mettre environ char marks parce que, vous savez, au cas où vous voulez dire de bonnes choses sur les marques d'auteur signifie qu'il n'y a pas de limites perceptibles . Donc, c'est presque à la limite de votre base de données par rapport à votre machine. Mais il n'y en a pas comme 50. Tu as fait ça. Souhaite arriver à 50 caractères. Tout ce que 51 au-delà sera coupé des marques. n'y a pas de nombre réel Limits écrit sur, puis profil sur. Alors nous allons dire profil. Ah, accord, eh bien, je pense que la bio et le profil sont à peu près les mêmes, donc je viens de supprimer les profils. Donc, l'auteur a prénom nom bio. Si nous pensons à quelque chose d'autre en cours de route dans le projet et nous pouvons l'ajouter quelques va juste faire le contrôle s et sauver. Désolé, je l'ai fait sans m'expliquer. Donc, juste pour enregistrer le nom hors de la table, nous contrôlons SRE ne peut pas la disquette que vous sur. Alors on lui donne un nom. Auteur Cliquez sur OK, puis nous avons notre première table, qui est l'auteur de la table suivante que nous voulons. Donc, les tables irakiennes vont à nouveau aller à la table sur puis l'écurie va être des livres. Donc, si tous le même modèle de conception nous avons un 90, je suis en train de rendre le type difficile dans un muscle dans pour en faire une clé primaire sur Définir comme identité. Très bien, donc bien sûr, vous pouvez toujours mettre la vidéo en pause et rembobiner là où je devrais peut-être y aller rapidement. Mais j'appuie juste sur. Donc, chaque livre a un titre sur le titre va être environ Char. Je vais mettre Environ chart ici pour être 100 parce que vous savez que vous avez des livres avec de longs titres . Eh bien, l'année suivante, alors c'est toujours délicat Quand, quand il s'agit de l'année à l'année d'édition, le voyez-vous ? Nous sur entier que vous enregistrez. Il invite peut-être nos quatre droits ? Um, ça peut devenir délicat, donc je pense que parce qu'il n'y a pas de type de données d'année, il y a aussi un temps de temps à l'époque, mais je ne veux pas stocker tout le temps d'acte juste pour obtenir les droits de l'année. Donc ce que je vais faire, c'est que je vais le raconter comme int, non. Donc, bien sûr, lorsque vous construisez l'application, c'est à vous de vous assurer que les données appropriées arrivent à la base de données. Donc, tout ce sont des règles. Vous devez être conscient, offrant de mettre dans le ESPN, qui est, vous savez, le numéro unique des livres qu'il peut avoir sur ce peut être une identification unique aussi. Mais vous en dehors d'avoir des choses qui font un livre, Uli, en ayant le livre lui-même dans la base de données, vous voulez généralement vous assurer que vous avez une clé primaire qui est séparée et en dehors de identification des facteurs hors un livre. Très bien, euh, je vais mettre un résumé pour que le résumé soit comme, vous savez, si vous faisiez la publicité à quelqu'un, laissez-le lire ce résumé. On va avoir une image pour ce livre. Donc, dans une image de prévisualisation sur celui-ci, je vais nous mettre en Mars sont 1 50 aussi. Donc, je suis assis pour être, vous savez, assez grand en termes de distance Donc ce qui se passe, c'est que l'image va vraiment être l' orteil du chemin . Ah, le dossier est-ce que je laisse un dossier quelque part ? D' accord. Donc, nous pouvons juste laisser ça tel quel Quand nous arriverons à ce point, nous allons l'explorer un peu plus sur. Ensuite, nous avons le prix sur. Je vais fixer le prix de son argent. Donc SQL MSS vous allez réellement nous donner un type de données. Vous avez un petit argent, et vous avez de l'argent là où c'est de l'argent. L' argent, non ? Donc, l'argent est comme un type de données sympa littéralement conçu pour stocker des valeurs monétaires. Hum et tu sais, ça a été intégré dans le moteur pour mieux chasser ces valeurs. D' accord, donc le dernier serait l'auteur. Donc auteur, je sais qu'il agira comme une clé primaire. Et cela doit être dans Tudor parce sprint Désolé, clé étrangère, parce que les clés étrangères doivent avoir le même type Est-ce que la clé primaire correspondante, est-ce pas ? Donc une clé étrangère. Je dis en gros que la valeur qui y est ici va être liée à ce que tout le monde va ici. Donc si l'auteur a apporté un livre, , on va stocker ce disque de livres que je vais mettre dans le titre de l'année et tout sur le livre. Et puis je suis allé en mettre un comme une valeur pour l'auteur. Je ne dis pas que ce livre est associé à l'autre à l'auteur. Désolé, qui a aussi que je dévalue ? Bon, donc il y a deux choses que nous devons faire ici. Et puis on en a fini avec ce design pour Savoir où je vais ? Toe 1, sauvegardez cette table. Donc je vais sauver celui-là. Il a des livres sur. Ça devrait être des auteurs. Je l'ai appelé auteur. Ce devrait être des auteurs. Donc, si vous avez auteur, Je suggère que vous nous faites sont sur le point de faire où Juste développer des tables et vous voyez vos deux tables Là, vous voyez auteur sur les livres. Donc, le nom de la table doit généralement être pluriel pour refléter qu'elle stocke plus d' un enregistrement. Donc, vous stockez plus d'un enregistrement sur des tiers. Donc tu remets les tiers, non ? Laissez-moi recommencer cet exercice de renommage. Désolé. Parfois, je bouge vite. D' accord. Vous pouvez donc faire un clic droit. C' est activé, alors vous voyez renommer en ce moment. Une fois que vous faites cela, cela devient inévitable. Donc ce que je savais juste était juste un double clic, mais très lentement. Il est donc déjà sélectionné. Et si je le prends encore une fois, ça devient inévitable. C' est tout ce que j'ai fait différemment. Mais c'est le même effet. Donc, les auteurs et les livres Et quand vous obtenez cet avertissement rentable renommer, cliquez sur Oui, sur Appuyez sur Ahead. Bon, donc nous avons des auteurs et des livres. Maintenant que je l'ai mieux nommé, ce que je vais faire est juste. Cliquez dans l'espace vide sous la conception des livres, n'est-ce pas ? Donc, revenez à la conception de mes livres clic droit, allez aux relations sur le nombre, passé l'annonce droit sur puis à côté des tables sur la spécification de colonne. Je vais cliquer sur ce rôle. Je vois cette ellipse sur l'ellipse. Ensuite, je vais aller à la table de clé primaire, qui est les auteurs. Donc, je veux une clé primaire. L' auteur est stable, ce qui est I D. Sur cela. Je dis que la colonne correspondante dans le livre stable dans la table clé étrangère, La colonne correspondante serait l'auteur I d. droite. Donc limiter auteur, Je d rend facile de savoir que tout cela est une clé étrangère à l'auteur Stable Sonam, reliant le sens. Je ne peux pas avoir l'auteur 100 dans le livre Stable pour un livre. Mais je n'ai que cinq auteurs sont connus hors d'eux de la I d 100. Donc, ce que nous créons ici est une contrainte dans la valeur que c'est possible encore une fois si vous savez, j'ai bougé trop rapidement. Andya J'utilise le jargon, c'est que tu ne comprends pas tout à fait le nouveau canticule. Mon cours de développement de serveur Microsoft SQL pour tout le monde sur elle vous apportera à partir de zéro. Quelles bases de données sont entières pour développer des bases de données pour vos besoins sur Ben ? Tu sais, tout le reste a été mis en place. Quels opéras Ahead ici. Alors je clique, OK, je mets des vêtements, puis j'économise. Puis une fois que j'ai sauvegardé ça, ça va m'inciter à me changer. Je dis oui. Non, vous pouvez entrer sur l'ère si vous n'êtes pas si familier. Si vous étiez avec ce type de modification off, vous pouvez obtenir une erreur disant que vous savez, vous ne pouvez pas changer les tables qui existent déjà ou vous devez supprimer ou quelque chose comme ça. Ce que vous pouvez faire est d'aller à des outils ou deux options. Et puis, dans la boîte de dialogue qui apparaît, vous allez vers les concepteurs sur. Ensuite, vous verrez cette option. Asus prévenir les modifications sont nécessaires. Récréation de table. Donc, vous auriez un coché si vous avez la zone aurait. Addict, tu l'as débloqué. Très bien, Donc, une fois que vous sur le billet et cliquez, OK, et puis vous transportez à nouveau. Tu devrais aller bien. Bon, maintenant que nous avons eu, nous avons conçu cette base de données ou la prochaine mission sera de commencer à construire sur le A P. I R. Au moins commencer le projet commence à partir de la source a marqué notre propre bâtiment. vieux est le FBI sur le dessus. Droit ? Donc, nous allons mettre des exemples de données et peut-être apporter quelques modifications au fur et à mesure que nous continuerons plus tard . Mais en ce moment, nous avons accompli un peu. Encore une fois, le script est disponible pour vous et ce que vous pouvez faire avec le script, et il ressemblera, je vais ressembler à ceci. C' est un script. Donc, ce que vous faites avec c'est l'ouvrir dans le studio de gestion sur vous juste cliquez sur exécuter, et il va juste, vous savez, construire ces tables. J' ai donc traversé la façon dont vous les construisez dans le concepteur avec le script. Vous avez juste besoin d'ouvrir le script dans le studio de gestion. Désolé. Et puis l'exécution slick, et il va de l'avant et créer les deux tables pour vous. D' accord. D' accord. Donc c'est tout pour aujourd'hui bientôt. 13. Mettre en œuvre des cours de données et le cadre entièrement: les gars de cette liste, nous allons commencer à définir nos classes de données dans notre projet afin que nous puissions commencer à interagir avec nos données. La paix ? Non, Nous avons configuré les bases de données dans SQL Server sur. Nous utilisons SQL Server Express sur. Ce que j'ai ici est un puits, c'est un diagramme de base de données ou e r d. Donc à peu près de la génération que j'aurais percé dans la base de données et ensuite va être une étoile. Grammes cuire directement le nouveau diagramme. Une boîte de dialogue est apparue. J' ai ajouté les tables sur. Ensuite, il a généré ceci. Donc, il me montre toujours toutes les colonnes, les clés primaires sur les clés étrangères sur Montrez-moi qu'il y a une relation de clé étrangère. Quelle relation Primerica clé étrangère entre ces deux tables. Bref, c' est vraiment juste un gars parce que ce n'est pas là que le travail va être. Le travail va être en studio visuel, donc nous avons quelques changements qui allaient devoir faire pour Visual Studio, notre produit en studio visuel plutôt avoir quelques connaissances hors de la base de données que nous construisons sur l'autre côté. Donc, le premier changement que je vais faire est dans les paramètres vers le haut que Jason fichier. Donc, dans ce fichier, vous verrez une connexion par défaut, et il va avoir un serveur sur certaines informations de base de données. Personne n'est par défaut. Ils te donnent. Ah, un nom plutôt unique. Donc, ils vous donnent est filets Dash. Quel que soit le nom de votre projet, alors un bon rapport qualité-prix, n'est-ce pas ? Vous savez, ce que cela ferait est de dire à l'entité framework que c'est le nom de la base de données et si elle n'existe pas, alors créé il existe, puis utilisez-le. Donc, dans notre cas, nous avons déjà une base de données. C' est une simulation parce que nous construisons une base de données étrangère du FBI qui existe déjà. Donc, ce que nous devrons faire, c'est lui en dire un. quel serveur est cette base de données ? Donc, c'est ah, serveur DB local qui est fondamentalement entré dans Visual Studio. C' est parfaitement capable, mais nous n'avons pas noté, et nous utilisons SQL Express pour obtenir rs. Vous l'exprimez toujours indiquer le nom. Alors, tu vas aux pieds. Vous avez trois options. Vous pouvez soit dire que le nom ici doit barre oblique de la machine et un SQL Express ou quelle que soit l' instance que vous avez installée au cas où Peut-être ne m'a pas suivi et obtenir SQL Express N'importe quelle autre instance que vous utilisez ce qui est très bien. Juste pointé vers le bon serveur. Donc, si vous m'avez suivi en faisant exactement ce que je fais et c'est parfaitement bien, alors l'adresse du serveur dont nous avons besoin ici ressemblerait soit au nom de la machine soit nous allons écrire l'hôte local, puis la barre oblique et alors vous voyez SQL Express. Donc, cela veut dire la machine locale, qui est ma machine ici sur SQL Express. Instance, Si les bases de données sur un autre serveur, alors plus souvent qu'autrement, vous pouvez simplement mettre dans le nom de cette machine dans cet espace. Très bien, sur DSO ça me dit que j'ai des caractères d'échappement invalides. Donc, en fait besoin d'une double barre oblique inverse juste là. C' est vrai ? Donc c'est si une barre oblique, comme une barre oblique inverse est quelque chose de spécial. Donc ça parle juste de caractère illégal. suffit de mettre ce double dessus devrait être bien, sont donc je dis que mon serveur est une machine locale et vous cherchez une instance SQL Express , qui est à peu près ce qui est affiché ici ou quand nous essayons de vous connecter. Rappelez-vous, nous avons vu ce SQL Express afin que vous puissiez l'écrire tel qu'il apparaît ici. Bien sûr, vous devez doubler la barre oblique car une barre oblique s est un problème ou vous pouvez une barre oblique inverse de l'hôte local SQL Express sont inégales, courtes, analphabètes. Ce serait de voir arrêt complet s votre express, Notre arrêt complet slash SQL express. J' aurais pu dire un arrêt complet juste ici. Très bien, si plein stop barre oblique inverse eso que l'arrêt complet représente local était à peu près, mais je le laisse à l'hôte local. Suivant est la partie de base de données. Donc nous avons besoin du nom de notre base de données. J' ai donc nommé ma librairie de base de données. C' est comme ça que j'ai appelé ça. Donc je vais changer le nom de cette base de données, qui est ce qu'ils me donnent. Et j'ai dit qu'ils me donnaient une partie d'une charité. Ils l'appellent librairie du FBI Square, donc je vais juste supprimer la graisse. D' accord. De toute façon, vous supprimez simplement ce qui était là. Laissez les demi-deux-points, s'il vous plaît. Donc vous supprimez juste autour des points-virgules ? Ne dérangez pas ces point-virgule donc Si vous rencontrez des erreurs ou si vous voyez que le Groenland apparaît, c'est probablement parce qu'il a manqué le haut que vous pouvez annuler. Retournez à l'original et réessayez. Donc, voulez-vous changer le nom du serveur entre le signe égal sur le point-virgule ? Semble pour la base de données Nom Equal Signer en point-virgule sur. Vous n'avez pas à ennuyer quoi que ce soit d'autre dans cette ligne vers pratiquement donc vous pouvez simplement cliquer sur Enregistrer. Voir ce fichier et il peut fermer ce fichier Donc nous avons fini avec ce feu pour aucun prochain nous avons le contexte db d'application. Donc, pour l'application DB Context, qui est appelé sous votre dossier de données sur C'est une application de fichier. Contexte DB. C' est essentiellement interagir avec les paramètres de Jason D. pour la connexion, et la raison est de le faire est, dans notre départ. Nous avions dit qui ont été utilisés dans la connexion par défaut. Euh, donc le contexte DB utilise cette application de fichier de classe. DB Context, qui utilise un serveur SQL sur la configuration de la chaîne de connexion, se trouve sous la forme de connexion par défaut dans les paramètres up. Jason Donc ce contexte DB n'est pas non pas que nous avons fait cet ajustement. Il ne regarde pas notre base de données actuelle que nous venons de dire que c'est la base de données travaillait avec . Donc, non, ce que nous devons faire est d'écrire des fichiers de classe dans nos projets qui ressembleront à des tables. Donc, quand je dis les bons fichiers de classe qui ressemblent à nos tables, ce que je vois est sur le vous pouvez simplement taper le type Asyut. Nous allons commencer par dire, base de données, s' il vous plaît. Le boîtier est très important. Vous voulez le capital B Capital mis sur, alors la première table serait les auteurs, donc je suis en train d'écrire un fichier de classe. Je vais donc vous expliquer pourquoi je suis allé voir Author ne sont pas des auteurs. Beebe a dit : Auteur. Et puis je lui donne le nom des auteurs et c'est une propriété, vraiment. Donc il est mis sur la ligne rouge est là ? Allons en savoir plus à ce sujet tout de suite. Ensuite, un autre. Donc je viens d'écrire le mot « prop ». Le Rop a appuyé deux fois, et il a généré cette ligne pour moi. Donc j'ai clairement raté la qualification publique qu'une fois les boîtes Amigo devraient être publiques. BB met sur l'auteur dans les parenthèses de la faim, puis les auteurs sur. Alors laissez-moi essayer encore une fois. Donc c'est la télévision publique sur puis les supports d'angle. Et puis celui-ci, son livre sur le nom hors de la table, c'est que les livres sont donc ce qui est dans ce crochet d'angle attend une classe. Donc ce que je vais faire, c'est planer dessus. Mettez l'ampoule allumée, puis voyez générer un auteur de classe dans un nouveau fichier sur. Alors je vais faire la même chose pour la vente de livres. Il est passé d'être blanc et Underland à savoir être Sion ou quelle que soit la couleur qui est juste comme un mot clé vraiment. Donc, je suis allé à la même chose pour bookworm, est allé à générer livre dans un nouveau fichier afin qu'il a été généré ces deux fichiers auteur et livre à l'intérieur de mon dossier de données juste à côté de mon application. Contexte DB. Maintenant, la raison pour laquelle j'ai nommé l'auteur de la classe mais la table ou le nom des auteurs de la propriété est vraiment une question de sémantique, non ? Donc nous avons un ensemble d'auteurs, non ? Mais quel que soit le nom de la classe, vous voulez représenter une instance singulière souvent auteur. Donc un auteur représente un disque représentant une classe dans notre, euh, vous savez, nos concepts sont bien le projet, notre programme. Donc c'est vraiment un peu de sémantique, mais oui. Donc nous avons un cours pour l'auteur, et quand nous avons un groupe hors d'eux, il serait des auteurs. Et ce mentum source dans la bête de données sur la table appelée auteurs sur le concept de CME pour les livres. Bon, donc je vais commencer à remplir nos dossiers de classe Haute. Solidos maintenez le contrôle et cliquez sur. Bon, donc, contrôle, cliquez dessus. Navigé jusqu'à la définition des classes. vrai, ça marche 90 % sur le temps. Donc, je vais commencer à poser a écrit les propriétés pour l'auteur par rapport aux propriétés sur les types de données que nous avions décrits dans notre base de données. Ou supposons que nous n'avons pas construit cette base de données, mais nous héritons d'une base de données que nous devons développer en plus. On a besoin de savoir quels étaient les noms de colonnes ? Quels étaient les types de données ? Citron était la clé. Nous devons imiter tout cela dans notre classe de données afin que nous puissions commencer à interagir avec la table appropriée. Donc, je vais commencer par lui dire la table qu'il devrait cartographier. Donc, je peux avoir la possibilité d'utiliser des annotations de données sur appel onda. Nous commençons par des crochets. Donc c'est entre les Braves pour un espace proche sur le public, non ? Et nous allons voir la table Capital, table T et une brûlure ouverte et rapprochée. Et puis je vais vous dire que la table er associée à est tout troisième parce que c'est le nom de la table dans la base de données. Donc si tu l'as mal tapé ou peut-être qu'il n'a pas mis le S, c'est bon. Je ne tuerai pas me permettre une orthographe. Mais assurez-vous juste que vous le remettre parce que studio visuel ne sera pas allergique de procéder, ou vous rencontrerez des problèmes si les orthographes ne sont pas exactes. Bon, donc la table a besoin de quelque chose inclus. Donc je vais juste inclure cette dépendance. Donc, nous obtenons nos annotations de données Dana pour les schémas sur, Ensuite, nous allons commencer à remplir vieux sur la classe auteur vont également rencontrer ce quelqu'un partiel à dire, auteur, croix partielle. Donc c'est un ordre de classe partiel public. Désolé. Très bien, donc nous allons avoir sur la colonne idee sur Nous avons défini l'idée dans la base de données pour être entier ou donc aller à notre prénom et nom à la fois une chaîne, parce que dans la base de données, nous les avons déclarés comme charge vier juste pour revenir en arrière et Vous pouvez toujours revenir à vos colonnes. Je regarde les types de données Donc prénom était Mars sont ou l'environnement sont premiers dans mon nom de famille sont les deux. Que sur bio était des marques de char var, ce qui est à peu près juste une autre chaîne sur. Alors c'est tout. Donc, là, nous aurions défini toutes les colonnes correspondantes. Donc, une colonne. Eh bien, c'est tous eux. C' est quatre colonnes et nous avons les quatre colonnes ici. Cependant, ce qui se passe est que sur Auteur peut avoir beaucoup de livres, Donc c'est le point de la relation avec un auteur, beaucoup de livres. Donc, si vous n'êtes pas si familier avec les relations sur la base de données conception canticule, mon cours Microsoft SQL pour tout le monde bien, mais pas montrer la table avec la clé étrangère. peu près, c'est beaucoup. Donc, une fois que vous mettez une clé étrangère dans une table, vous dites que vous avez une entité qui peut avoir beaucoup de ces enregistrements. Ils ont un auteur. Euh, vous savez, un disque pour une personne que vous pouvez avoir beaucoup de livres liés à cet auteur. Donc, en C sharp, ce que nous voulons faire est de créer ah, propriété qui dit que si je reçois un auteur et que je veux tous les livres associés ID, alors j'ai besoin au moins hors des livres. Donc c'est exactement ce que nous allons écrire. Donc, avez virtuel public sur. Alors je vais juste inclure ça. Donc, nous utilisons une liste, qui est un type de données C tranchant. J' énumère le livre de type . Donc, je veux une liste de cours de livres sur. Je vais appeler cette liste de livres. C' est ça. Donc si j'ai un auteur, alors je serais en mesure d'inclure tous les livres connexes à l'intérieur de ce disque ? Non, pour le livre, nous allons commencer par définir à quelle table il est associé, est-à-dire les livres de table. Ensuite, je vais rencontrer une fois de plus celui-ci partiels son livre de cours public partiel. Non, je vais commencer à construire vieux ou à définir la colonne différente. Donc j'ai d fondamentalement chacun d'eux, donc je passe juste par et je me souviens trop d'eux revenir aux tests bêta que vous avez stipulés au cas où vous aviez stipulé différents types de données de moi et je suis allé de l'avant et il a dit vidéo composite et les échecs dans. Mais je vais vous expliquer ce qui se passe ici. Donc, nous avons l'idée. Bien sûr, nous avons le titre où l'in. Donc vous voyez quelques points d'interrogation en dehors d'eux, je ne fais pas peu. Très bien, donc quand nous disons notable dans la base de données serait de défini n'est pas en C tranchant, vous devez mettre un point d'interrogation et cela fonctionne sur certains types de données. Ça ne marche pas sur quelqu'un. Une fois que nous avons posé le point d'interrogation, cela signifie qu'il s'agit d'un orteil de charge. Vous avez la valeur ? Non. Donc, le framework d'entité va appliquer ce type de validation. Donc, si j'essaie de créer un livre sur, je ne fournit pas un titre vital pour l'état que c'est différent, le travail va probablement le renvoyer et dire que vous avez besoin d'un valide pour cela. C' est généralement si strict avec numérique sur lingots. Une fois la chaîne jouée, elle a un peu plus de clémence, donc je me concentre vraiment sur l'entier. Le double Andi, l'autre entier ont maintenant rempli toutes les colonnes ici qui sont présentes dans la base de données sur ont l'auteur Odd I D. Mais alors la chose cool sur le cadre d'entité est que si vous avez, ah, relation Ori de cette relation clé étrangère rappelez-vous que j'en ai discuté avec l'auteur. En incluant cette liste hors livres, je peux récupérer juste un auteur et ensuite obtenir automatiquement la liste des livres. Non, la même chose pour le livre. Si je récupère un livre sur, je veux des détails sur l'auteur en SQL que vous auriez après lors d'une jointure interne, mais dans le cadre d'entité, il vous permet d'inclure une propriété hors du type du fichier de classe qui contient les données. Donc non, quand j'aurai ce livre, j'aurais une propriété dans ce livre appelé Author on Off Course Author Ideas. Qu' est-ce qui lierait l'auteur ? Et vous savez que quelle que soit l'idée est hors de l'auteur, il est sur pour la récupérer automatiquement. Ensuite, je serais en mesure d'obtenir leur prénom nom de famille sur leurs détails juste en obtenant le livre. Donc, c'est ce que dans le travail différent apporte à la table afin que vous puissiez aller de l'avant et enregistrer cela sur c'est tout pour non. Donc ce qu'on vient de faire pour récapituler. Et je vais juste faire un projet de loi pour m'assurer que je n'ai rien présenté pour briser le programme et qu'il a été couronné de succès. Donc c'est bien. Donc, ce que nous venons de faire était d'encourager les paramètres de la base de données pour examiner notre base de données appropriée , qui serait une fois de plus dans ce contexte sur la base de données existante. D' accord, nous sommes également allés de l'avant sur DWI configuré les classes partielles pour nos tables. Parmi ceux-ci sont comme des conduits sont des ambassadeurs pour la base de données. Je ne sais pas quel autre mot je pourrais utiliser pour les décrire, mais à peu près ils vont négocier des relations entre notre application ici sur la base de données réelle. Donc, notre contexte db ? Non, si, ça va ? Je suis à la recherche d'une table appelée auteurs et je vais utiliser cette classe que nous venons définir le broker orteil Toute relation entre ceux-ci Si je veux dire commencer quelque chose, il sera relatif à ce que je peux insérer à travers cette classe à mesure que nous allons le long. Cela aura un peu plus de sens, ou simplement en fonction de la configuration. Certaines choses vont changer qui devront peut-être revoir ces choses, mais pour nulle part ces configurations, donc nous n'avons pas à les refaire. Ne nie pas 14. Configuration AutoMapper et DTO.: Bienvenue en ce moment. Écoutez, nous allons activer nos objets de transfert de données, ou DT doit quatre courts ainsi que mettre en place Autumn Oper, qui gérera le mappage de puits entre nos données. Les amis sont des objets de nos classes de données de base. Alors laissez-moi vous expliquer un peu pourquoi nous avons besoin d'objets de transfert de données. J' ai donc ici les classes de données que nous avons récemment créées, qui seraient livre sur auteur. Donc, nous savons déjà que ceux-ci sont en train de balayer directement les tables de la base de données. Si nous changeons la table dans la base de données, vous devez changer ces classes en conséquence juste pour vous assurer que nous ne cassions rien de route. Maintenant, le fait est que nous ne voulons pas interagir directement avec ces classes. Ces classes sont censées être une représentation directe de la base de données sur si nous avons besoin de les modifier , elles ne devraient être modifiées que les modifications relatives des orteils dans la base de données sur les gorges construisant le MP que j'allais exposer certaines fonctionnalités qui permettraient à l' interaction d'être limitée par quelqu'un. Donc, nous sommes dans le contrôle de ce que je l'utilisateur peut faire à travers notre 80 I sur qui sont commence par le développement approprié . Donc, je vais probablement donner un exemple où, vous savez, en insérant un nouveau disque, en insérant un nouveau livre, nous ne les aurions probablement pas mis dans une valeur pour le I d. donnez-leur un titre. Donnez-les, monsieur. Donnez-leur la capacité d'entrer un titre. Entrez l'année, peut-être le numéro ISBN sur peut-être un résumé sur tout, mais ils ne sont pas l'i d. Aussi probablement pour déterminer l'auteur dans quoi que ce soit. Nous ne voudrions probablement pas qu'ils puissent changer le bateau d'image sur eux pour pouvoir changer le prix et ainsi de suite. Donc, un objet de transfert de données est à peu près ce que nous appelons un modèle. Si on est à NBC, on appellerait ça un modèle dans une paire. Le développement appellera ça un B t o. accord, donc à peu près ça va être comme un conduit. Donc c'est une autre obstruction loin de la base de données où nous contrôlons quel type de scarabée peut être transmis. Ensuite, nous gérons cette manipulation par la suite, donc nous construisons ce programme. Donc, la première chose que nous allons faire est d'inclure Autumn Oper dans notre Solution. Nous allons donc faire un clic droit sur ou un projet dans notre projet. Désolé alors, Goto gérer de nouveaux paquets get Ensuite, nous allons à Bro et puis nous sommes à la recherche d'auto Ma Per So auto est une automobile et vadrouille er sur la Semicon Prendre inclure pré release Si vous aviez unticketed d'un exercice précédent sur, nous sommes à la recherche d'auto Ma par Donc, nous allons aller de l'avant et installer cet automne Oper sur. Ensuite, nous allons également installer les extensions point Microsoft qu'il injection de dépendance . Alors allez-y et commencez ça. Et puis une fois que nous avons fini avec ça, nous pouvons aller de l'avant et sortir nouveau get donc non, nous avons l'automne supérieur. Non, on a besoin d'orteils. Laissez notre application savoir sur l'automne supérieur Quelqu'un pour aller de l'avant et créer un nouveau dossier sur je veux appeler ce dossier. Ma pings Donc m e p i n g. J'ai une erreur de dépense là, pas voir mon curseur. Sa mère pince, puis à l'intérieur de ce plein sur lequel on va créer une nouvelle classe. Je vais l'appeler vadrouille. Donc, vous voulez juste choisir des noms qui ne seront pas en conflit avec les mots-clés. droite ? Donc, vous ne pouvez pas donner. Vous pouvez appeler ça quelque chose de différent. Assurez-vous simplement qu'il ne se bloque pas avec les mots-clés. Donc nous avons des cartes de classe publique, et ensuite je vais dire appel au profil. D' accord, alors ça va me demander d'inclure quelque chose que je dois utiliser. Tige d'automne. C' est bien, alors. Eh bien, c'est juste une classe de configuration, donc nous ne sommes pas tout à fait prêts pour cela tout de suite, Mais nous laissons nous ne devons pas laisser notre application ou bateau ou les aspirations oper automne. Nous allons donc démarrer, pas CS allumé. Alors, je vais aux orteils. Ajoutez-le tous les droits au-dessus de ce Strugar. Quelqu' un pour dire services, points ad Oh, trop mappeur. Et le voilà, en bas de la liste. Donc, à l'automne supérieur et puis je veux dire, tapez, puis appelez l'endroit le nom de notre classe, qui est vadrouille. Donc tapez hors vadrouille sur demi-côlon hors cours aller de l'avant et inclure tout ce qui est doit être inclus sur. Ensuite, nous sommes bons d'aller sur la partie, donc non, notre application sait qu'il a besoin de tomar Pratt a déclenché les services. Ensuite, nous allons faire quelques détails. Donc, où on peut ne pas faire tous les DT d'accord ? Non, mais je vais rencontrer ceux de la base et ensuite, comme on va, probablement en faire d'autres. Donc, je vais détruire, cliquer à nouveau, créer un nouveau dossier. Donc, il dossiers sont un excellent moyen de garder vos fichiers similaires ensemble. Agita. On fait feu partout. C' est pour ça que je vais créer beaucoup de balles au fur et à mesure qu'elles vont. Cette fois, je vais appeler ça des trous DT. droite ? Donc c'est le nom du dossier sur. Ensuite, j'interagirais avec le dossier cliquez ajouter la période, une nouvelle classe sur. Ensuite, je veux appeler ceci un auteur Beatty, ou et je vais juste créer une autre classe en même temps sur appel ce seul livre, GTO. Donc, pour chaque classe de données que vous avez chaque table, vous savez, vous voulez probablement vous assurer que vous avez des objets de transfert battus afin que vous puissiez skimer ce ne devrait pas être modifié sur vous suivez ce qui devrait être modifié en cours de route. Très bien, donc ce sont les DT de base que je vais avoir une entrée si réelle qu'ils vont ressembler à la classe de données. Donc, je vais juste copier tout cela à partir de la classe de données sur je vais mettre dans le DT ou ici pas une bonne chose. Donc, vous vous demandez peut-être. OK, alors pourquoi ai-je besoin de cours ? Et c'est très bien. C' est une question valable. Eso je viens de copier tout de l'auteur à l'auteur DDO Tout de la réservation au détail du livre . La bonne chose à propos du DT Oh non, c' est que c'est Low City et quatre validations de premier plan. Donc, alors que nous aurions mis en place la base de données pour dire Ok en Mars sont 50, vous remarqueriez que le livre est une chaîne et il n'y a pas de limite réelle à la chaîne, donc la chaîne pourrait être environ pneus marques et il pourrait être invité notre 50 pourrait être environ Taïwan. Nous ne savons pas à ce niveau que nous n'entendons pas, cependant, quand ils viennent au GTO, c'est avec cela que nos utilisateurs interagiront. Donc, quelles que soient les règles que nous avons mises en place pour la validation ici , si c'est nécessaire ou si vous savez, c'est, vous savez, limité dans le nombre de caractères que vous pouvez obtenir . Hum, nos utilisateurs hors du A p i pour pouvoir le faire, nous ferions au niveau des objets de transfert de données que vous voyez ici que j'ai copié et collé directement de booby pour avoir une ligne rouge. Donc, vous êtes probablement allé de l'avant et avez inclus des données, mais vraiment à l' esprit, je ne veux pas que le GTO interagisse directement avec la classe de données, donc les détails devraient interagir les uns avec les autres. J' ai donc le détail de l'auteur. Donc, si j'ai besoin d'une représentation souvent auteur à l'intérieur de mon livre détail, alors le relatif serait le détail de l'auteur. Très bien, Donc, les détails sur les classes de données n'interagissent pas directement. droite ? C' est pourquoi nous avons Autumn Oper donc sachez que nous devons mettre en place des détails. Bon, je peux retourner à mes vadrouille ce fichier CS et finir mes configurations. Donc, la configuration à laquelle je fais référence ici est de créer le mappage. Donc, je laisse l'automne haut ni que ces deux classes devraient être en mesure de marquer directement l'un à l' autre. Et c'est pourquoi les mêmes noms de colonne ou de propriété doivent être présents. Donc, si j'épelé un faux ou si je si je parlais résumé avec un vieux. Mais avec cela, vous finissez dans la classe de données de livre à la fois sur ou dans le GTO, puis les automobiles vont ignorer cela parce que en ce qui concerne l'automobile, ils ne sont pas les mêmes. Ils n'ont pas raison. Donc, quand je suis assis sur des cartes que CS c'est ce que nous sommes heureux que nous faisons ici. Donc, je vais dire, créer vadrouille et puis ouvrir le support d'angle. Et puis je vais voir que je veux balayer l'auteur et puis enregistrer la virgule à l'auteur E T o. d' accord. Puis, après le support d'angle, j'ouvre et ferme des parenthèses et je vais dire point balai inverse. Cela signifie que la cartographie peut aller dans les deux sens. Non, vous voyez que pour avoir un numéro pour ça atterrit et j'ai une erreur d'orthographe. Laissez-moi vous décrire ça à ce moment-là. Je vais juste aller de l'avant et inclure tout ce qui doit être inclus. Donc après avoir inclus tout ce qui doit être inclus, papa et moi avons un Ridley. Oh, mon mauvais, mon mauvais. Donc ce qu'il nous faut ici dans la classe, c'est Ah, constructeur. Ma méchante. Donc nous devrions dire des cartes publiques. Donc je n'ai pas émigré vers le constructeur. Excusez-moi. Donc, nous avons ou vadrouille de classe que nous avons notre constructeur sur. Ensuite, nous serons le bras clair UPI est Ok. Donc, je peux juste créer les deux mappages. Donc, j'ai un pour auteur et aussi détail sur puis je suis avec un pour livre Onda Book DT. Très bien, donc essentiellement, ce que cela va faire est seul moi orteil remplir soit un hors de ceux-ci alors. Donc, quand je dis Phil, je veux dire, si je cours selon la base de données et que je récupère la classe de données hors livre Mais alors le détail que j'ai peut-être trois colonnes de moins que la classe de données. Ensuite, je peux juste faire un balayage direct, et il trouvera les couleurs des mêmes noms mettant ces données, ignorer les autres, et puis j'ai ah livre objet PTO rempli avec les données pertinentes. Venant de la classe d'origine au revers est vrai parce que hors de cette configuration, vadrouille inverse, où les détails du livre peuvent être remplis avec des données. J' ai juste besoin de le mapper et il remplira sur l'objet hors type livre avec des données qui peuvent ensuite être transmises à la base de données. Hors cours. Il n'y aurait ce feu que si les validations que j'ai mises en place dans la vidéo du livre ont été couronnées de succès. Non, juste la clôture. Nous allons faire une seule construction et nous assurer que tout est intact en faisant ma construction. Et je vois que je dois porter un sérieux donc dans l'auteur DT ou j'ai la propriété et la cartographie orteil livre. Donc, comme je l'ai dit avant le personnel bto à DT aussi d t o droit sur la chose cool sur les opérateurs d'automne qu'une fois la vadrouille existe, si je dois balader quelque chose, um, de l'auteur GTO mais par rapport au livre, il va automatiquement gérer que la cartographie est une bibliothèque tellement impressionnante pour vous. J' ai donc fait cet ajustement et je vais construire à nouveau. Je vois si j'ai des assemblages manquants. Je ne veux pas une construction réussie sur dso Nous avons terminé 15. Révision et ajouter des modifications à GitHub: Bienvenue de retour. C' est encore une fois que nous examinons ce que nous avons fait pour cette section et que nous vérifions nos changements pour obtenir de l'espoir. Donc, pour cette partie du cours, nous aurions créé une base de données dans SQL Server Express sur. Ensuite, nous sommes allés de l'avant et avons modifié nos paramètres pour pointer vers cette base de données nouvellement créée. Nous avons implémenté les classes de données qui allaient être utilisées pour interagir avec les tables de la base de données. Et nous avons également mis en place Autumn Oper avec quelques DT dus pour nous assurer que nous avons la configuration de mappage pour notre utilisateur et notre base de données. Et dans notre a p I Non, nous allons juste vérifier nos changements. Donc chaque coche rouge représente que j'ai changé le fichier. Donc, si vous voyez ce qu'il faut, cela signifie que le fichier a été changé depuis le dernier poulet. Si vous voyez un cadenas, cela signifie qu'aucune modification n'a eu lieu depuis que l'incendie a été enregistré. Si vous voyez que l'ennemi de processus est que, alors que vous venez d'ajouter quelque chose de nouveau à l'erso robuste existant au poulet sont des changements. Nous sommes allés directement sur la solution cliquez sur Commit, donnez-lui un message afin que je puisse juste écrire un bon message afin que vous puissiez mettre la vidéo en pause et écrit le message comme je l'ai écrit. Mais je vous encourage toujours à être relativement détaillé dans votre message pour que quelqu'un d'autre puisse avoir une idée de ce qui a été fait avec ce poulet. Cependant, pour vérifier complètement comme ça, ne sont pas à côté du mot commit all et puis vous voyez , commit tout sur le puits sur ce que cela fera est commit localement et ensuite pousser pour obtenir de l'aide . Une fois cela fait, vous pouvez toujours revenir à votre positif et vérifier que vos modifications ont été effectuées sur. Alors c'est tout. 16. Auteurs : Repository et service: Bienvenue de retour. Nous allons commencer à configurer notre référentiel d'auteurs maintenant. Juste un peu d'arrière-plan Les dépôts sont-ils à peu près comme une collection hors fonctions, n'est-ce pas ? Donc, quand nous parlons de notre auteur repoussé ou ce que nous faisons est de mettre en place une structure de base à travers laquelle interagira avec notre auteur table toe, effectuer toutes les opérations liées à la base de données. C' est donc un autre niveau d'obstruction afin que nous n'appelons pas directement la classe de données chaque fois. Mais on appelle juste une fonction. Andi, cette fonction peut être utilisée à plusieurs endroits. Ensuite, nous allons nous asseoir pour l'injection de dépendance dans nos contrôleurs pour l'accès. Mais nous allons également profiter de cette occasion pour mettre en place un référentiel de base. Donc ça veut dire que chaque table, eh bien, chaque bande va faire ce gars. Quatre des mêmes fonctions sont des opérations. Fondamentalement, les opérations de foule créent, lisent, mettent à jour et suppriment. Nous allons donc mettre en place une base ou un buster avec une définition de base ah pour ces fonctions. Et puis toutes les autres classes ou tous les autres dépôts hériteront plutôt de cette base un peu. Commencez par ça. Donc, d'abord ils veulent aller à notre dossier de contrats, clic droit, clic droit, clic droit. Ajouter sur je suis en train d'ajouter la classe sur. Je suis vraiment ajouter bien, classe ou interfère, Nous sommes vraiment créer un interfère. Mais je peux utiliser la classe indépendamment. Andi, je vais appeler celui-là. Je dépôt BCE. Très bien, Donc, une fois que vous avez mis dans ce nom, je référentiel fondamentalement en avant et cliquez, ajouter et attendre que cela soit généré. Donc une fois de plus, on fait une interférence, donc je vais changer la dernière Inter féroce. Tout va bien, alors. Je vais juste dire que je veux que la base soit relative orteil une entité de classe que j'appelle thé. Où ? Du thé. Classe de colons. Des parties de cette colonne disant qu'il s'agit d'un dépôt basé sur sa fonctionnalité seront relatives à l'eau une classe à laquelle je dis qu'il est relatif. Et quand je dis classe, je veux dire les classes de données qui sont les courtiers directs. Pour la table appropriée, vous aurez tous du sens. Donc je vais juste aller petit à côté de ce stand. On le construit ensemble. Donc nous allons avoir une fonction carburant. Euh, bien défini, pas défini. Déclaré à l'intérieur. A partir de cette interface, nous allons commencer par celle-ci appelée Find all No, je vais utiliser une programmation asynchrone pour regarder une programmation synchrone, qui est, euh, programmation parallèle qu'il rend la mise en œuvre orteil très facile, et il augmentera la réactivité de votre application sur ces opérations. Asseyez-nous donc orteil en raison de déclarer sur une fonction synchrone, nous devons déclarer à la tâche, puis nous ouvrons des crochets d'angle et puis si elle renvoie valeur, et alors vous devez spécifier la valeur qui est retournée ou le type de données désactivé, la valeur est renvoyée. Donc le 1er 1 que je fais est de trouver tout et je voulais tout trouver sous la forme d'une liste. que les listes sont amusantes ? Je fais la liste là-dessus. Je veux la liste de type t se rappeler, thés juste fille relative, un type de classe est passé dans le droit sur. Alors je l'appelle trouver tout. Donc, fondamentalement, je vois si cette fonction est appelée, c'est une fonction asynchrone. Il devrait retourner au moins hors de Quelle que soit la classe que je demande, j'appelle la fonction. Trouve. Ensuite, nous avons une tâche sur celui-ci est juste de renvoyer une instance de n'importe quel élément de classe ou un objet de n'importe quel type de classe que je demande. J' appelle celui-là. Trouver par Heidi sur celui-ci va prendre un paramètre hors int i d. Ensuite, nous avons une tâche. Désolé. Tâche sur taureau. Donc celui-ci va retourner un booléen sur. J' appelle celui-là. Créer sur quoi ? Je crée une entité hors du type T. Donc, t on, je l'appelle entité. C' est mon nom de base. Donc quel que soit le type de classe, je vais créer une instance hors, Comprendre ? Pour passer dans l'objet. Il attend un objet de ce type de classe sur. Ensuite, je veux aussi avoir un peu et supprimer qui vont sembler très identiques à créer . Donc je vais juste dupliquer ça et dire obtenir Andi supprime Rappelez-vous, contrôle D est le Sharkey dupliqué. Et puis j'ai monté une dernière fonction appelée Task Bull sur celui-ci va passer le tamisage de la poignée des orteils . Droit. Donc, la chose dans deux travail différent lorsque vous créez, vous devez toujours enregistrer les modifications pour elle réellement engagé dans la base de données. Maintenant, ce n'est que le référentiel de base. Non, j'ai besoin d'un référentiel spécifique à mes opérations d'auteur. Je vais aller de l'avant dans les contrats. Créer une autre interfère sur. Ensuite, celui-ci va être appelé dépôt I auteur. D' accord. Ensuite, je vais de l'avant et cliquez, ajouter. Mais une fois de plus, c'est un inter fees. Mais alors cette interface va hériter de la base du référentiel. Bon, donc quand je dis hériter, je veux juste dire que je vais voir que j'auteur du dépôt Colon sur. Ensuite, ajoutez la base du dépôt alors t n'est pas ce que je passe mais parce que je sais que je traite avec l'auteur, l'entité exacte sera l'auteur OK, donc cela signifie que tout ce qui sera fait à l'intérieur de cette interférence particulière sera relatif à l'auteur. Mais alors c'est cool. Il en sera ainsi pour chaque classe de données que vous allez avoir un référentiel quatre. Ensuite, vous allez simplement spécifier la classe de données sur laquelle il est relatif toe, alors vos fonctions vont être définies par rapport à cela. D' accord, mais ce n'est qu'une autre interface. Donc, s'il y a d'autres opérations liées à Auster que je veux mener, que nous ne sommes pas, vous savez, pas partie de la bête. Donc, la base est juste que vous savez, sont quatre opérations que chaque table va être en mesure de réaliser. Je veux dire, avoir des types spécifiques hors d'opérations. Peut-être que je veux récupérer l'auteur par un livre que je d ou quelque chose d'autre hors de la norme de la norme de ce qui est dans la base. Alors je peux écrire ces déclarations à l'intérieur. Cela interfère partie sur le gars devra inclure ce qui manque. On y va. Donc, une fois de plus, ce sont des interfaces, et ce ne sont que des déclarations. Donc, bien sûr, nous avons besoin d'une classe concrète qui va réellement mettre en œuvre ces opérations. Donc, le contrat, sire interface avec les déclarations, mais ensuite vos services. J' ai donc un dossier ici services Ce seront des fichiers qui hériteront. Donc, nous avons fait quelque chose comme ça avec le service plus long où j'avais le contrat avec les déclarations hors des fonctions sur puis le service hérité du contrat. Andi a effectivement mis dans les définitions de ces fonctions. Droit ? Donc, nous faisons la même chose ici que nous avons le dépôt d'auteur, qui hérite de la base sur. Alors ce que je vais faire, c'est aller dans les services dans une nouvelle classe. Andi, celui-ci sera l'auteur. Référentiel, cliquez sur Ajouter Ensuite, je vais faire hériter le référentiel de J'ai acheté Author Repository Right on. Ensuite, je suis allé après inclure un Le dossier utilisent cet espace de nom sur. Ensuite, je vais avoir orteil mis dans les définitions pour d'autres fonctions. C' est ce qu'est cette ligne rouge. Donc, si je survole, vous direz l'interface d'implémentation et il générera tout sur la méthode Stubbs orteil relatif ce qui a été défini. Donc vous voyez, tout cela vient de B, c'est parce que, en héritant de I auteur Repository, je récupère tout ce qui est dans la base. Et puis, si j'avais des fonctions personnalisées ici, alors j'aurais aussi la méthode Stubbs les représentant en un seul endroit. Non, je peux faire une facture rapide juste pour m'assurer que je ne manque rien. Et il est toujours bon de faire des constructions après avoir fait quelques changements de cour parce que vous avez peut-être manqué quelque chose en cours de route ou qu'il n'a pas fait quelque chose correctement sur une construction, vous informera hors de vous empêcher d'aller de l'avant avec des erreurs flagrantes. Droit ? Donc, le constructeur a réussi et non, nous allons commencer à implémenter ces fonctions. Donc, pour commencer que ce dont j'ai besoin est une instance hors de mon contact db d'application. Rappelez-vous donc que le contexte BB de l'application et je viens d'ouvrir le fichier rapidement. Il a les définitions pour Whole pour se connecter à la base de données. Il sait que ce sont les classes de données sur lesquelles il devrait regarder orteil. Il sait que les configurations, ainsi que la connexion, chaîne tout ce qui est enveloppé dans cette classe. Donc, ce dont nous avons besoin est un objet de cette classe, qui est notre contexte db d'application à l'intérieur de pour Buster afin que nous puissions commencer à interagir avec la base de données. Donc, je vais commencer par définir la propriété privée en lecture seulement sur Il va être hors contexte application de type db sur. Je vais appeler le nom des objets sur la partition. DB, droit ? Non, après cela, je vais l'initialiser à l'intérieur du constructeur. Donc, je vais créer un constructeur. Et pour ce faire, je peux lire l'ordinateur portable C t o r et il génère un constructeur. Donc, c'est une belle nette façon d'obtenir votre constructeur. Alors sachez que je suis un constructeur. Je vais lui dire qu'il devrait enlever un paramètre hors application de type. Contexte DB activé. Je vais appeler le paramètre db Donc l'un est underscore DB et l'autre est juste BD sur. Puis à l'intérieur de cette construction, je vais l'initialiser sur la partition. B B est égal à DD, donc c'est ce que nous appelons l'injection de dépendance, où vous déclarez la propriété sur le nouveau, initialisez dans le constructeur, puis vous pouvez utiliser l'objet librement, n'importe où dans votre demande. Maintenant, je vais faire les définitions sont les bonnes la fonctionnalité dans chaque. Mes pensées s'arrêtent relatives. L' ensemble que je les définit est l'ordre dans lequel je les ai définis dans la base du référentiel, et il y a quelqu'un particulier pour le faire cette semaine. Donc, en fait, je vais commencer par l'épargne parce que c'est le plus facile, non ? Donc, je veux faire sauver et puis nous ferons de trouver tout vers le bas pour supprimer dans cet ordre. Donc, commençons par safe, donc je veux trouver la fonction save sur. Ensuite, ce que je vais faire est de supprimer cette exception qui est en train de lancer et puis nous allons voir var change quelques querelles de variable l'appelant change, alors je vais dire underscore db Donc c'est mes objets qui me permettent d'interagir avec la base de données est le cœur du cadre d'entité qui négocie toutes les opérations de base de données en mon nom . Donc, c'est mon objet au framework d'entité talkto. Ensuite, je dis point et puis j'ai un tas de fonctions. Donc, plus souvent qu'autrement, vous pouvez regarder la fonction. J' en déduis ce qu'il est censé faire. Donc, comme, ajouter, je suis sûr que vous pouvez inférer que l'annonce aiderait uà ajouter quelque chose à la base de données. Vous avez des mises à jour, avez des suppressions ce que nous traversons. Donc, pour l'instant, ce que nous cherchons à faire, c'est sauver. Donc nous voulons chercher quelque chose qui suggère la sécurité, est-ce pas ? Ils ont enregistré les modifications qu'ils ont. Voir si les changements d'un puits savent que la différence entre les deux est bien, évidemment l'un est asynchrone et l'autre n'est pas asynchrone. Enregistrer les modifications fonctionne. C' est très bien. Mais alors parce que nous utilisons une programmation synchrone ici, je vais vous tirer parti des frameworks d'entité. Vous êtes des fonctions synchrones CN qui enregistrent change un puits sur, puis ouvrir et fermer brise. Non, il y a peu de choses qu'ils ont besoin de noter quand il s'agit de fonctions asynchrones. Un. Oui, nous les avons définis comme des tâches. Mais après, vous avez survolé cette agence que c'est Oh, je suis désolé. C' est un autre. Permettez-moi de compléter la base de la cour et d'expliquer l'ensemble C'est intéressant. Donc c'est notre lingot. Ce qu'il est censé faire, c'est revenir. S' il y avait des changements, la viande ne le sont pas. Donc, si j'ai soumis quelque chose à la base de données que le framework d'entité, quand il n'enregistre pas les modifications, il devrait dire que oui, il y avait un changement d'accueil. Des dossiers ont été changés ou quelque chose comme ça, non ? Donc si aucun dossier n'a été changé, c'est notre problème, non ? Alors je veux retourner à nos chutes. C' était leur problème ou pas ? S' il y a eu des enregistrements changés, alors tout est bon. Donc, cela reviendrait vrai. Donc, je vais juste écrire des changements de retour supérieurs à zéro. Bon, donc c'est une belle et un bout d'une ligne de voir le chèque. Si les changements était la Grande-Bretagne et zéro et puis retourner le résultat de ce Non, je vois sur l'erreur ici. Donc c'est dire que je ne peux pas, euh, retourner fondamentalement cette zone, en disant que c'est moi qui retourne la tâche, euh, mais quelque chose est en jeu. Donc, ce domaine n'est pas vraiment clair. Donc c'est ce que j'explique le synchronisé dans. Donc, cette erreur ne vous indique pas vraiment quel est le problème. Le problème est que lorsque vous effectuez un appel asynchrone, il revient. Et si vous survolez ces modifications est tâche. Souviens-toi que nous avons la tâche Bull ici. Il retourne tâche int, mais pour cette opération orteil arrive, il a besoin d'un int. Très bien, donc c'est essentiellement dire que, vous savez, vous savez, les types de données ne font pas grand-chose. Donc, quand nous faisons et un appel de fonction synchrone, vous savez, pour obtenir sur le type concret, comme dans pour revenir et dans un pas une tâche dans, je vais devoir procéder avec le mot-clé attendre alors c'est un autre en lui-même parce que non va me dire que vous ne pouvez pas faire sur la façon dont il sans et une fonction de lavabo. Donc, alors la suggestion ici serait faite de la méthode un puits, qui introduit le mot-clé chasing après public et remarque tout. Non s'en va. Toutes les erreurs disparaissent maintenant. Laisse-moi juste un peu tout ça. Lorsque vous êtes un orteil bateau, définissez sur la fonction asynchrone. Vous devez dire l'assouplissement, vous lui donnez le qualificatif, bien sûr, de la tâche face au public, puis de retourner le type. Et si c'est vide, alors il n'y aurait pas de types de retour. Ce serait juste une tâche sur. Ensuite, enregistrer sera Save est un nom de fonction. Vous avez donc besoin du mot-clé, d'un évier, de la tâche de mot-clé. S' il y a un type de données impliqué, alors vous le mettez dans les crochets d'angle. Sinon, alors vous ne le faites pas. Et puis vous devez vous assurer que vous allez réellement appeler quelque chose qui est un à l'intérieur synchrone de cette définition. Sinon, vous seriez plutôt obsolète d'avoir un puits sur la tâche. Si vous ne faites pas réellement une opération asynchrone , n' est-ce pas, chaque fois que vous allez faire l'appel de fonction, vous devez procéder avec le mot-clé wait. J' ai remarqué quand je ne choisis pas notre, eh, pense eh, que les délégués automatiques mis en évidence afin que les deux hors d'eux fonctionnent bien ensemble. Donc, si vous n'avez pas de cause de fonction asynchrone ici, alors vous n'avez pas besoin d'une fonction asynchrone à peu près tout droit. Non, la prochaine sur laquelle on va travailler, c'est la découverte. D' accord, donc tu retournes à la base et tu t'assureras qu'on a bien sauvé ? Non, on va voir tout trouver et tout trouver. Je veux retourner une liste des auteurs. Je veux retourner tous les auteurs qui sont actuellement la base de données, donc je vais déclarer une variable de nos auteurs égale à sur Puis je suis parti. C' est parce que j'ai l'intention d'utiliser sur la fonction asynchrone juste sur le point db de score en disant le soulignement d B que j'ai accès à toutes les classes de données qui auraient été définies dans le contexte db. J' ai donc un rencard. Une classe appelée auteur sur les propriétés appelées auteurs, droite, donc c'est une propriété. Donc les auteurs db dot sur juste le double vérifier à nouveau ses auteurs, parce que c'est ce que je l'ai appelé ici. C' est le nom de la propriété, l'auteur des classes. Mais les propriétés sont troisièmes parce que la connexion hors auteurs Très bien, donc je ne suis pas les auteurs point sur. Je veux au moins un fantasme pour énumérer qu'il s' enfonce, alors souviens-toi, si je dois attendre. Ensuite, je dois précéder la tâche avec le mot-clé un évier. Bon, on y va. Tout l'air est parti. Non, cette zone est toujours là parce qu'elle dit que c'est le besoin de retourner quelque chose, donc je m'attends à ce qu'elle rende une liste. Auteur. Alors c'est la liste ? Je vais juste voir un auteur de retour. Donc, une fois que cette fonction est appelée, il va retourner une liste des objets hors type auteur, OK, Organismes de bienfaisance. Le prochain serait condamné à une amende par I. D. Donc tiré par I d sera assez simple mise en œuvre orteil. Ce serait similaire. Donc celui-ci s'attend à un paramètre sur i d. Donc, je vais sauver notre auteur parce que je m'attends à trouver un auteur à travers cette fonction sur. Ensuite, je vais voir un poids sur les auteurs de points db Donc en regardant l'auteur stable sur , alors je veux que vous trouviez qu'il est synchrone sur. Ensuite, j'ai juste besoin de passer dans les i d sont donc la trouver que vous avez trouvé et trouver un chant à peu près ce que le dysfonctionnement fait, est-ce, euh, il regarde dans la base de données ou regarde dans cette table pour tout élément qui a le clé primaire correspondant à ceci. Donc nous savons que la Primerica s'appelle idee. Il le saura automatiquement. On s'attend à ce que je dévalorise. C' est censé être une clé primaire, puis il la trouvera sur. Ensuite, cela s'attend sur l'objet hors type auteur. Donc nous aurions obtenu sur les disques d'auteur. Nous devons revenir. Auteur. On y va. D' accord, d'accord. Donc, on arrive gentiment. Suivant serait crée un peu d'école, mais orteil un dépôt, trouver ou créer sur. Ensuite, dans celui-ci, nous aurions obtenu une entité hors des auteurs de type. Ce que nous voulons faire est de créer un nouvel enregistrement d'auteur en utilisant ces données sur C'est assez simple. Donc, ce qui ferait est de souligner les auteurs de points db ajoutent. Donc, l'un ou l'autre, mais obtient alors ce que Nous avons eu un évier. Donc on pourrait aussi bien l'utiliser dans un évier, non ? Alors, dans un évier. Et puis j'ai passé dans l'entité qui est sur le point d'être ajoutée. D' accord, alors, si je fais à un cours de chant off, j'ai besoin d'un poids sur. Puis la dernière chose après que vous avez. Tu n'as pas cet appel ? Oh, j'ai une attente et ils pensent aussi que c'est un évier public, donc il est facile d'oublier qu'il est facile d'écrire l'un et de ne pas se souvenir de l'autre. Mais je peux vous assurer que le studio bizarre vous rappellera toujours que vous en avez besoin. Alors la dernière chose ici serait de rendre les lingots. Alors qu'arrive-t-il qu'après avoir fait cette opération, vous devez enregistrer les modifications ? Et j'ai ah, fonction dédiée à juste appeler les changements de sauvegarde, qui en fait, est en fait, sont, euh, sur la fonction synchrone. J' ai donc besoin de retourner la valeur que cela reviendrait. Donc, le lingot qui est attendu est ah lingot relatif. Si les changements ont été enregistrés avec succès ne sont pas si ce que je vais faire, vous dites juste retour et ensuite j'appelle une fonction de lavabo. Donc cette fois, c'est ma fonction de face. Je veux dire cette fonction asynchrone. Mais encore une fois, si vous appelez une fonction asynchrone, vous devez attendre là-dessus. Je vais juste appeler sauver correctement, donc ça va faire l'entité. Si l'opération de base F et cela va appeler ma fonction, attendez les résultats, puis retournez-le. Puis, au moment où il reviendrait, il rendrait des lingots de toutes sortes. Une chose merveilleuse. C' est juste un grand écosystème agréable et c'est vraiment génial à comprendre. Très bien, donc après la création, nous avons des mises à jour que supprimer. Alors laissez-moi juste le mettre à jour. Donc, que ce soit à peu près un simple, comme l'ajout, Sauf que vous avez db, vous dites underscore db dot auteurs Mais alors il n'y a pas d'espoir Bit un penser. Donc c'est vraiment juste un peu plus haut. Ensuite, vous appelez l'entité qui est en cours de mise à jour, de mise à jour, ou vous gérez l'entité qui devrait, vous savez, vous savez, être nécessaire sur. Ensuite, vous allez faire le CMC. Si les changements étaient, vous retournez une seve de blé et puis hors cours si je suis en attente que j'ai besoin d'une série de réflexion essentiellement. Si je ne déclarais pas ça comme un évier, alors vous n'auriez pas de sens. J' ai ceci comme quelque chose de faux. Très bien, donc bien, voici toute l'opération asynchrone est la mienne alors c'est le même genre de dynamique pour supprimer tant d'ajustement pour copier cela au lieu de tout taper à nouveau, allez sur supprimer collé, mais à la place hors mise à jour. Je vais supprimer donc pour supprimer, il est supprimé. Supprimé. N' a pas sur la fonction de chasse, facilitant la version à elle. Donc, il est supprimé l'entité sur. Pensez-vous que Toe Elite l'opération de sauvegarde sur C'est tout. Nous aurions conclu assis sur la ligne de base opérations croates pour notre table d'auteur. Droit. Donc, à partir d'ici, nous pouvons créer un nouvel auteur que nous pouvons supprimer sur l'auteur existant. Nous pouvons trouver tous les auteurs ou trouver un auteur spécifique. Vous pouvez enregistrer tous les changements hors cours qui est nécessaire sur nous pouvons également mettre à jour sur Auteur est données. Bon, donc c'est tout pour s'asseoir. Notre auteur Buster a traversé un peu, mais nous avons fait un travail de base ici que nous n'aurons pas besoin de répéter à nouveau parce que pour tout autre dépôt qui sera en place, nous avons déjà la base donc nous n'aurons pas à refaire la base tous les temps. Toutes les différences seraient que nous devons entrer et écrire l'orteil spécifique de la cour cette classe de données. Ce référentiel est en cours de construction pour 17. Autheurs : contrôleur de configuration: Hé, les gars, bienvenue dans cette vidéo, nous allons installer notre contrôleur AP pour nos auteurs. Maintenant, avant de commencer à mettre en place ça, il y en a. Ou il y a au moins une autre configuration que nous devons effectuer avant de pouvoir démarrer avec succès la configuration de notre contrôle. Et c'est dans le démarrage, pas le fichier CS. Donc, quand j'aurai commencé à parler de CS, je vais descendre à la section des services sur. Ce que je dois faire est d'ajouter à notre départ le fait que nous avons besoin d'une instance délimitée ou dépôt. Droit ? Donc ça va nous aider avec nos injections de dépendance. Je vais dire que le service est cette annonce marquée. D' accord, alors vous pouvez toujours un steak. Je regarde ce que la portée signifie, mais c'est comment elle est définie. Mais j'avais délimité la portée. Ce que je dois dire, c'est que j'étudie le référentiel de l'auteur, le référentiel l'auteur, Andi, le référentiel Andi, de l'auteur, n'est-ce pas ? Donc, la même chose que nous avons fait avec le service six avec le service plus long, sauf le service plus long ajouté unique temps. Cette fois, c'est à portée. Vous avez aussi eu transitoire Maintenant chaque version ajouter sculpter, transitoires sont singletons Chacun a sa propre façon de travailler jusqu'à présent heures que vous avez portée avec mes opérations de données je peux inclure la lecture sur ce qui est la différence entre chaque So sur le corps faire avec ça ? Hum, mais un corps de connaissances. Droit ? Sachez donc que vous pouvez faire cette lecture plus tard. Mais faites juste cette annonce sculpter. Et il y avait Pasching I auteur Repository Onda, auteur Repository sur Si vous avez besoin d'inclure des espaces de nom manquants alors allez-y et faites-le . Je sais qu'il est dans le fichier de démarrage. Je peux savoir l'injecter confortablement en tant que dépendance dans toute autre classe qui sera utilisée dans la portée de ce projet. Donc celui que je fais spécifiquement référence à savoir est notre contrôleur. Donc nous avons eu notre sport de manette et nous avons déjà une manette à domicile, que j'utilisais comme contrôle de test. Donc si tu veux l'enlever, je peux le laisser là ? C' est notre test, donc nous pouvons le supprimer plus tard lorsque notre application s'est réellement épanouie en quelque chose. Donc, en ce moment, je vais juste aller de l'avant et faites un clic droit et cliquez sur Ajouter un contrôleur sur puis. Cette fois, je veux un contrôle vide. Je ne veux aucun contrôleur avec des fonctions prédéfinies pour moi écrira sur chaque point de terminaison nous-mêmes. Droite, Donc un contrôleur de paire vide sur, puis cliquez sur Ajouter Vous voulez vous assurer que nous donnons le nom de sorte que le nom serait auteur auteur . Donc les auteurs contrôleur, je pense comme bizarre. Et quand cette opération est terminée, nous avons notre contrôleur du FBI que nous avons ou route, qui est les auteurs orteils serait un p I slash auteurs. C' est comme ça que vous arrivez à cette manette. Très bien, maintenant, pendant que nous sommes ici va faire quelques configurations basées une fois de plus parce que nous allons construire tous les points de terminaison dans des vidéos séparées. Mais en ce moment, je veux juste faire certaines choses pour que nous sachions exactement ce que ce contrôleur fera, et ensuite nous pouvons le prévisualiser dans la documentation. Donc, un que je veux un résumé quelqu'un à un résumé, je viens d'écrire que Oh, rapidement deuxième vidéo positive et copié. Si vous voulez notre torture et notre résumé, résumé, d'autres choses que je vais faire ou la prochaine chose importante que je vais faire serait d' injecter la dépendance du dépôt de l'auteur. J' ai donc besoin d'une propriété privée en lecture seule sur le référentiel d'auteur de type I. D' accord. Et bien sûr, si vous avez besoin d'inclure des bibliothèques, vous allez de l'avant et faites cela sur. Alors je vais l'appeler auteur. Repository soulignera l'auteur Buster parce que, vous savez, c'est juste ma convention de nommage pour les propriétés privées. Très bien, donc, euh, c'est le soulignement, le dépôt Auteur. Et puis j'ai besoin d'un constructeur. Rappelez-vous, nous avons c tour alors que généreux un constructeur sur. Ensuite, nous avons passé dans un paramètre. Certains veulent juste copier et coller qui se déplacent rapidement. C' est sur le score. Andi Inside de nos constructeurs, où nous initialisons la dépendance est autant de dépendance que vous pourriez avoir, vous pourriez avoir besoin de plus d'un référentiels représentés dans le contrôleur CME. Donc, vous ajoutez juste autant et assurez-vous de les mettre en tant que paramètres, puis de les initialiser ici. Donc c'est le soulignement. Le référentiel auteur est égal à top quelle que soit la valeur que l'application transmettrait. C' est ainsi que fonctionne l'injection de dépendance. Nous aurions défini notre service et notre contrat nous informons l'application que le service sur le contrat sont désossés les uns aux autres. Donc, tout ce qu'il voit cela qu'il devrait savoir qu'il interagit avec cette classe basée sur. Ensuite, à l'intérieur d'un contrôleur quatre, on peut juste le passer. Nous avons notre objet privé, mais alors il est initialisé par tout ce que le CS commence à passer. C' est à peu près la dépendance. Injection une fois de plus point noyau net rend cela très facile. Maintenant, une autre chose que je veux définir un bateau ou un contrôle. Et c'est vraiment à des fins de génération de documentation. Encore une fois, vous voulez vous assurer que votre documentation est vraiment bonne pour quiconque va consommer votre p I. Donc je vais vous en montrer un de plus. Cette notation que vous pouvez ajouter à votre contrôleur sur cela est de dire au document qu'il produit le type de réponse à ce moment-là. Donc, les types de réponse se réfèrent fondamentalement aux cordons http de sorte que vous avez 200 pour ok, 400 pour le beurre. Question, etc. Sur les différents types de réponse sont l'école de statut. Donc on sait qu'on a commencé l'école qu'on va retourner. Il sera le statut 200 donc je peux dire des codes de statut parce qu'ils nous ont donné Ah, énorme, vous savez. Donc nous sommes bégaiement des points sur. Ensuite, à partir de cette Eelam, je peux juste voir le statut 200. Ok, donc cela signifie que chaque fois que quelqu'un regarde le document pour cela, il saura qu'au moins cette réponse qui peut être retournée. Alors laissez-nous juste sauver notre, vous savez, juste construire. Assurez-vous que nous n'avons rien cassé alors qui va en mode débogage. Et regardez la documentation qui est générée jusqu'à présent sur le document ne reflète pas notre Ok, OK  ? Oui. Donc je veux dire, ils ont été un peu en arrière. Donc, notre documentation pour notre contrôleur a p a pour les auteurs n'apparaîtrait pas encore parce que nous n'avons pas de points de fin pour la documentation. Donc Songer l'ignore parce qu'il n'y a littéralement rien aux documents. Quoi ? Donc, quand nous commencerons à construire sur les points de terminaison du FBI, nous commencerons à le voir apparaître dans les documents. Donc c'est essentiellement ça Ford assis sur le contrôleur à son niveau minimal. La prochaine opération serait de commencer à s'asseoir ou à obtenir des points de terminaison, puis nous commencerons à voir la vraie beauté off ou le contrôleur auteur prendre vie 18. Auteurs : Configuration: vous les gars. Bienvenue dans cette vidéo, nous allons commencer à configurer nos points de terminaison get pour notre contrôleur auteur. Non, j'ai manqué une étape dans la configuration de base pour les contrôleurs où j'aurais dû inclure le service plus long. Donc on va se connecter. Il quitterait le chemin, l'interaction ou la fonctionnalité de notre AP et du FBI, parce que ce que je vais faire est d'introduire sur la mère Private Read only objet sur celui-ci va être hors type I service plus long sur, comprendre ? Pour l'appeler soulignement plus longtemps sur. Ensuite, je vais dans le constructeur à un autre paramètre. Je vais désespérer la ligne pour ne pas aller trop loin, et ça va être hors type. Je service plus longtemps. Donc, je vais juste introduire cette dépendance sur. Ensuite, je vais juste voir le trait de soulignement plus est égal orteil plus longtemps. Bon, donc maintenant j'ai injecté le service plus long dans le contrôleur A p I sur presque tous les autres contrôleurs APEC. Eh bien, au moins si vous avez l'intention de consigner ce qui se passe, il devrait avoir cela comme une dépendance aussi. Bon, alors commençons. Donc je veux Ah, au point final pour avoir tous les livres. Je sais qu'on va commencer à regarder les verbes. Donc, je l'aurais dit dans l'introduction que vous avez quelques verbes que vous avez, obtenir post mis sur et bien, obtenir reporté et supprimer. Donc, la première chose que je veux faire est de laisser notre contrôle ou au nord à travers le bâtiment et les notations que je suis allé pour définir une fonction http, get. Et c'est littéralement tout ce que vous avez à taper. Http. Obtenez. D' accord. Ensuite, je vais lui dire que je veux un public une tâche de lavabo. Andi, je voulais un résultat d'action de type I. Donc, les résultats d'action est celui si vous utilisez si vous êtes utilisé pour M v c Web régulier, NBC que vous le savez, les résultats d'action. Je résultat est en fait une petite extension hors de l'option résultats réunion Vous avez plus que vous pouvez retourner. Donc les résultats de l'option. Tu pourrais revenir tellement. J' en sais plus. Non. Dans mes résultats d'enchères, vous pouvez revenir encore plus, surtout dans le contexte du FBI, où vous retournerez certaines choses. Je ne reviendrais pas dans une application NBC, donc l'action de la tâche I aboutit. Je vais appeler celui-là. Prends des livres. Désolé. Obtenez les auteurs. Mon bourgeon. Il en va de même pour les auteurs. C' est le contrôleur de l'auteur. Donc, on me fait mal au dos des auteurs. Donc, nous allons obtenir des auteurs et puis je vais juste ajouter un résumé ci-dessus rapidement. Donc celui-là, je vais voir sortir des auteurs. Donc je trouve plus facile de juste, vous savez, vous savez, faire la documentation sur laquelle il a commencé alors, vous savez, vous savez, peaufiner au fur et à mesure que vous allez. Mais au moins commencé quand vous faites la chose ne le met là pour que vous ne oubliiez pas. Donc, c'est obtenir tous les auteurs et il renvoie la liste des auteurs. D' accord, Aan den. Ce que nous devons définir ici serait la fonctionnalité que vous voulez invoquer. Alors rappelez-vous que nous n'interagissons pas avec notre classe de données directement étaient en interaction est DT Aussi, le contrôleur parle à la DEA pour transférer des objets Autumn Oper avec mon entre les objets de transfert de données sous l'auteur. Donc, notre référentiel va appeler l'objet de données dans la situation où nous allons le balader à l'objet de transfert de données sur, puis retourner l'objet de transfert de données à celui qui appelle cela un p I Alors regardons comment ça va travail. Donc, je commence par voir les auteurs de la barre est égal à sur j'appelle une fonction asynchrone. Comme je dis Await underscore auteur rapports histoire ancrée pour obtenir tous les auteurs que j'ai la fonction trouver tout droit, maintenant que j'ai obtenu tous les auteurs, J'ai besoin de balai orteil à mes objets de transfert de données, je suis allé voir var Oh ther ou va var qui est réponse est égale orteil sur dso C'est une autre dépendance dont je vais avoir besoin. J' aurais donc inclus Autumn Oper dans le dans le fichier CS point de démarrage. Donc non, je peux prendre cette indépendance. Donc, vous voyez, fur vous allez voir que vous avez besoin d'une dépendance différente est sur C'est le même processus. Vous incluez simplement une instance de celui-ci. Donc on a affaire à Ah, je me suis balai donc juste dupliqué cette ligne et je tape. Je vadrouille et je vais appeler l'objet mon per on. Ensuite, je vais faire la même chose ici où je vais introduire une virgule et ensuite introduire je suis supérieur à ma liste hors paramètres Andi assumer backtrack Andi, changer. Donc je fais ça rapidement. Donc copier et coller est votre ami qui quand vous voulez faire les choses rapidement. Mais vous pouvez simplement inclure n'importe quel espace de nom manquant ou en utilisant Autumn Oper. Non, nous avons l'automne supérieur injecté dans son application. Nous pouvons juste commencer à utiliser l'empeigne d'automne. Donc, quand je veux vadrouille, je dirais souligner vadrouille er pas vadrouille. D' accord, alors je vais dire que je veux serpiler. Donc, si vous regardez simplement l'incident de définition que les cartes à points sont quelle est la destination sur laquelle vous voulez un orteil de carte ? Quelle est la source ? Donc je veux une liste de TEM sur les pieds. Eh bien, monsieur, un objet de transfert de théâtre. Notre détail d'auteur est ce que nous appelons. Ensuite, la source serait les auteurs. D' accord, donc je me dégage la lèvre. Mes auteurs revenant de l'orteil de base de données moins sur le type d'objet de transfert de données. Je me souviens de cet objet de transfert de données Une fois de plus, je vous aime à contrôler quelles données vous voulez. Ne sont pas ainsi en d'autres termes, qu'il s'agit d'un dossier complet de l'auteur. Mais que faire si nous voulions seulement renvoyer certaines des propriétés sont les colonnes, certaines hors des données et pas toutes les données. Si je dans mon auteur DT Oh a dit que j'ai laissé le i d sur. Peut-être que je n'ai pas inclus la bio. Je voulais juste le prénom et le nom. Si ce sont les deux seules propriétés que j'avais dans l'objet de transfert de données, alors cette opération ici je dirais oui, j'obtiens cinq propriétés, mais je ne prends que tout l'outil qui importe par rapport à la classe sur DSO. Tout ce que je retournerais à l'appelant serait juste les propriétés que l' objet de transfert de données a définies. C' est donc ce que les objets de transfert de données s'allient à faire. Ils vous permettent de contrôler quelles données sont réellement présentées à la personne qui appelle le FBI par rapport à ce qui provient réellement de la base de données. Non. Après avoir fait une base de données, le crâne l'a balayée. La prochaine chose que je voudrais probablement faire est de revenir, donc je veux retourner la réponse. Il y a donc des fonctions intégrées pour le type de réponse. Donc, si quelqu'un appelait pour obtenir des auteurs, alors je retournerais la liste des auteurs avec notre réponse refroidie. D' accord. D' accord. Donc c'est comme un AP universel. J' aime qui quelqu'un construire une application autour d'un A P. Je saurais que quand ils voient à 200 réponse, c'est bon. Donc tout s'est bien passé, donc je dirais, OK, parce que, eh bien, ce Nick ou un P sur lequel je m'ai donné cette fonction de construction. Je dirais, Voici la charge utile avec la réponse fumée. Droit. Donc, la douleur serait les données de mars ou la liste des auteurs afin qu'il retourne. OK, alors on revient. Le Seigneur. Non, je veux m'en vanter un peu. Donc, je veux ajouter un peu de journalisation et un peu de gestion des exceptions trop. Donc j'essaie toujours de mettre en piste des prises. Droit. Donc, vous essayez d'opérer, et puis vous attrapez n'importe quelle exception. Donc ce que je ferais ici, c'est d'essayer tout ça. D' accord , alors. Ce que je vais faire, c'est dire que tu essaies ça en retour. Ok, sur, alors, s'il y a une exception, vous voulez l'attraper, donc exception attraper, alors vous pouvez True, Mais je préfère peut-être juste répondre pour qu'il ne bloque pas l'application et voit, um, retourner par requête. Notre préférence, je ne retournerais pas une question de beurre. Probablement retourner quelque chose comme si Donc questions beurre 400 question de beurre suggérerait que l'appelant ou le client constitué par la demande au serveur, ce qui n'est pas nécessairement les enfants parce qu'ils ont seulement demandé une liste des auteurs. Il y a très peu de choses qu'ils pourraient faire à tort et si cela a frappé ici et que quelque chose a mal tourné avec notre opération et nous ne voulons pas leur dire qu'il s'agissait d'une demande, mais nous voulons peut-être suggérer que quelque chose a mal tourné de tous les côtés. Donc, vous avez le statut de cause de fonction marqué, à droite, et ensuite vous pouvez passer à la cour. C' est là que l'apprentissage d'une partie des chiffres devient important. Donc, l'erreur interne du serveur est 500. Je pense que 501 est porte interne avec Il y a quelque chose qui s donc les différents nombres sont là. Je ne dis pas que tu devrais mémoriser tous les numéros là-bas. Certains nombres que vous utiliserez encore et encore sur certains d'entre eux sont intégrés comme OK et la mauvaise requête et ce genre de choses sont intégrés, mais, mais vous savez, il est bon de connaître les chiffres et tenir le pied vous savez, manœuvrer autour d'eux. Donc, je dis ici que lorsque vous essayez d'obtenir tous les auteurs, si nous faisons tout d'accord, vous obtenez la réponse 200 avec les données associées à un appel. Si quelque chose ne va pas, cependant, je vais vous le dire Eh bien, je vous envoie juste à propos de cette erreur 500 pour dire que quelque chose a mal tourné pour voir s'il y a allumé . Il y a même un remplacement. Donc vous pouvez même leur donner, ah, ah, un message pour sauver quelque chose pour que vous puissiez probablement dire que quelque chose a mal tourné. Veuillez contacter l'administrateur. Très bien, donc ce sont des petites choses que vous pouvez ajouter à votre FBI pour le rendre un peu plus personnel que vous ne le savez, je robot répondant aux gens. La prochaine chose que je vais faire est d'ajouter un peu de journalisation, donc je veux aimer sur dsi. Souligner un point plus long en quatre, long sur quatre, alors quoi ? Je veux me connecter quand la personne fait ah voiture. Donc ça va répondre à l'appel. Donc, quand il frappe les essais en train de bûcher et dire que cela a été tenté. Donc tenté, euh, obtient tous les auteurs, donc il n'y a pas de forme réelle. Je veux dire, c'est ton temps que tu as raison, les messages que tu veux. D' accord. Vous pouvez même mettre peut-être une souche temporelle. Donc, je vais juste utiliser l'interpolation. Eh bien, il y a déjà un horodatage intégré dans le journal, en fait. Donc, je dis juste que j'ai essayé d'obtenir tous les auteurs alors juste avant la réponse okey, je dirais plus longtemps. C' est la connexion à quatre heures. Je verrais probablement le succès 40 Off auteurs de Dieu. Donc vous savez que cet appel a été couronné de succès. D' accord, donc vous savez, vous pouvez présenter ces enregistrements partout où vous jugez nécessaire. Je les mets juste là, par exemple, saké. Vous n'avez pas à enregistrer toutes les petites lignes comme ça. Euh, tu peux vraiment souffler au dossier de l'amour. Mais là où il devient très important pour moi serait dans le tri sur la prise dans la partie de l'église. Désolé. Alors juste avant que je revienne que c'était ah, sur la flèche. Je voudrais me connecter à des fins d'audit interne point plus long journal de points. Terrible parce qu'il a attrapé à l'exception alors les détails que je mets dans ce serait et je viens d'utiliser inter pollution ici. Dis, hum e pour qu'il soit mon loyer d'objet d'exception. Donc, je veux enregistrer ce que l'air réel a été ce que ce message peut être, mais e pas dans l'exception. Parfois, vous avez mangé ce message. Ensuite, vous avez mangé cette exception intérieure avec plus de détails. Donc, s'il y a une époque, je veux voir ce que l'air a été, Andi peut-être tous les autres détails nécessaires. Et puis nous pouvons leur dire que c'était un comte interne. C' est après tout que nous pouvons juste faire une construction rapide, en nous assurant que tout va bien. Une fois que cela a été réussi, nous pouvons simplement aller dans le débogage plus que voir si notre contrôleur du FBI auteur et il n'y a pas d'apparition dans notre documentation. Et on y va. Donc, nous avons des auteurs non énumérés sur. Nous voyons notre p. J'appelle un p I slash auteurs et notre résumé obtenir tous les auteurs sur. Ensuite, nous voyons ici que bien, le cordon, il sait que va revenir est 200 succès. Donc nous pouvons plus, euh, informateur que, vous savez, nous aurions le potentiel de 500 sur d'autres choses. Donc le truc cool à propos de Slugger, c'est ce swagger. Je vous demande de tester l'a p a. juste ici dans la brochure. Aucun facteur ne lui permet de faire certaines choses que le football ne vous permet pas de faire, ou c'est plus difficile de le faire. Soldats est bon d'avoir les deux outils à portée de main, alors nous allons juste tester sur un p un droit savoir que quelqu'un va échanger vote sur, puis cliquez sur exécute. Il dit qu'il n'y a pas de Parlement nécessaire. Pas de problème. Nous exécutons sur Dwell. n'y a pas d'auteurs dans notre base de données, vraiment. Et vraiment donc tout Eh bien, ça marche en fait. Donc la question où j'étais que c'était notre opération get sur le corps de la réponse était vide car il n'y avait pas d'auteur dans la base de données de toute façon. Mais nous voyons que notre réponse a été de 200. Ce que je vais faire, c'est que je suis allé botch quelque chose dans la définition de nos connexions à la base de données . Et puis je vais essayer de forcer 500 air quelqu'un du genre. Je fais ça. Tu peux le faire avec moi, mais fais en sorte que tu aies corrigé Philia Theron. Mais si tu ne veux pas le faire, pas de problème. Tu peux juste me regarder. Donc, je suis juste en train de changer le bouleversement pour que ça se sent sur la connexion à la base de données sur j' essaie de forcer un stagiaire à sortir, hum, erreur de serveur. Revenons donc en mode débogage et essayons à nouveau. Cette fois, facteur amusant donc attaqué dans l'URL qui serait l'hôte local sur le numéro de port slash ap i slash auteurs. Donc j'ai mis ça dans la demande sur Ditz. Je reçois l'opération et je clique sur envoyer sur son essayant de passer par. Alors maintenant, vous voyez qu'il me donne à propos du message. Quelque chose a mal tourné. Veuillez contacter l'administrateur sur le code d'état est 500 pour dire flèche interne du serveur. D' accord ? Non, la dernière chose que je vais faire est juste de regarder le journal très rapidement, juste pour vous montrer à quoi ça ressemble en regardant juste le feu de bois. Vous voyez où il a dit OK pour tenter d'obtenir tous les étudiants ou Désolé, tous les auteurs Mon mauvais. Et puis il a réussi sur. Puis le deuxième appel est passé. J' ai essayé de mettre tous les auteurs sur, puis on voit la flèche où elle est. On ne nous dit pas qu'un réseau a parlé de ce que, alors c'est bien, ce point aurait dû être pour l'intérieur de Mme Donc c'était le message sur. Alors j'ai dit : Dash, donne-moi un message intérieur à l'exception, il n'y en avait pas. Mais ce serait suffisant pour nous de partir en interne. Donc, vous ne voulez pas dire aux utilisateurs les détails pourquoi il a échoué nécessairement. Mais tu veux garder le camion, quel chaudron allumé, alors pourquoi ? C' est donc un bon moyen de savoir pourquoi. Donc c'est, euh, sont juste de bonnes choses à mettre dans votre pour aller chercher le chemin. Désolé pour le fichier journal, mais laissez-moi juste m'assurer que je sors du mode de débogage en m'assurant de corriger le fichier de paramètres APP Donc je ne rencontre pas ce problème à nouveau. Andi. C' est donc un bon moyen, une bonne introduction à la configuration de notre premier point de terminaison. Donc c'est obtenir les auteurs. Le suivant serait get author, qui serait un auteur, donc ça va être assez similaire. C' est aussi à http. Je vais juste aller aux pieds. Copiez ceci sur. Alors je vais voir http. Obtenez. Mais alors celui-ci, je voulais lui faire savoir que cela nécessite un paramètre. Donc, chaque fois que vous avez un paramètre un ou plusieurs paramètres, vous savez, vous pouvez simplement écrire le parent pour saisir les guillemets de patine, puis en utilisant les étreintes actuelles, vous indiquez le paramètre ou les paramètres. Dans ce cas, on a seulement sur Idée combien ? Je veux juste copier tout ça. Cette fonction différemment, fils. Apparaissent. Ouais, quand même, bougez un peu plus vite. Assurez-vous que vous obtenez mai, um accolades, crédit. Donc, vous pouvez le taper. Je vous l'ai dit si vous voulez. Tu n'as pas à le faire. Copier et coller. Laissez-moi et tendance faire le contrôle des dégâts. Mais alors ce que je veux faire est de changer cela de obtenir les auteurs pour obtenir l'auteur. Et puis je veux aussi spécifier le paramètre qui est requis. Donc, je suis auteur, c'est ça. Et je m'attends à un paramètre de type I D sur. Je laisse le A P contrôler. Je sais que cela nécessite un paramètre de type I. Alors quoi ? Je vais faire ici est très similaire âme. Laisse-moi juste copier le bûcher tué, et je vais voir plus d'infos et tenté d'obtenir, et puis il peut être aussi profond que celui de Teyla avec lequel tu veux obtenir l'auteur. Laisse-moi juste copier le bûcher tué, et je vais voir plus d'infos et tenté d'obtenir, Alors je vais dire que j'ai du côlon. Droit ? Donc, je suis en train de journaliser exactement ce qui a été essayé avec le i d. Et puis je vais juste spécifier le i d qui est venu à travers le paramètre afin d'essayer obtenir aussi avec idee que juste là sous que je vais sauver notre auteur est égal à Ah, attendez sur la partition. Il n'a pas BB auteur, droits de dépôt pas trouver par i d Et puis je passe juste le i d. Ok, Ok, Alors je vais voir que ma réponse sera servir ire réponse est égale à et puis souligner mes points supérieurs vadrouille . Et puis ça, je suis un oeuf de serpillère. Une seule instance hors auteur. Donc, la dernière fois que nous avons fait le moins hors auteur détaillé cette fois juste être une seule instance hors DT auteur ou ainsi mappant cela à l'auteur qui a été collecté sur. Puis je suis allé répondre. Désolé, je suis avec le retour d'accord avec cette réponse. D' accord. Donc, bien sûr, vous voulez ajouter la journalisation ici pour voir obtenu avec succès l'auteur avec des idées. Donc obtenu avec succès auteur avec Eddie. Très bien, donc c'est bon d'avoir un bon journal de détails pour que même quelqu'un d'autre puisse regarder les journaux et comprendre ce qui se passait. Mais nous allons faire un peu plus dans cette opération. Donc, une fois de plus, nous avons ou essayons attraper comme toujours. Alors laissez-moi juste avoir que Top Test génère ce talon. Donc je vais essayer tout ça. Bon, Donc, dans la section chat, je voudrais définir la même bière et commencé message marqué. Mais alors j'ai l'impression que je vais me répéter parce que je vais le faire sont dans d'autres fonctions aussi bien. Tout comme les autres points de terminaison. Ce que je vais faire est de créer une fonction et je vais l'appeler privée, et ça va être hors de type école de statut, les résultats. Donc, la raison en utilisant les bons résultats de statut est qu'il va retourner ce truc à l'école, qui est à peu près un résultat de l'école de statut Type de données Droit sur. Je vais appeler ça un tour d'ère interne. Non, euh, et ça va prendre ah, paramètre de chaîne appelé message. Droit ? Donc, l'attente ici est qu'il va gérer la journalisation sur il sera aussi, J'ai retourné le début de l'école qui est nécessaire. Donc, laissez-moi juste dire que tout d'abord, je veux l'amour plus long des orteils en cas d'erreur parce que c'est la seule raison pour laquelle cette fonction serait appelée. Le message est ce qui va être aimé, non ? Alors je suis allé après. Assurez-vous d'avoir un passage approprié ou un message à chaque fois dans cette voiture. Ensuite, nous allons juste revenir au bégaiement. Marqué avec le avec l'erreur. Onda. Andi, j'ai une erreur ici. Oh, l'art. Donc, le type de données est incorrect. Donc ça veut dire que je devrais revenir. L' objet est ou non un résultat de code d'état. Donc, si c'était juste le statut marqué, 500 serait commencé marqué résultat. Mais parce que j'ai les informations supplémentaires avec, c' est un résultat d'objet, non ? Donc je veux dire, vous n'avez pas à, vous savez, inquiéter des différents types de données le plus souvent. S' il survole ce qu'il est, vous devez revenir, vous verrez quel type de off beat le type qu'il est, et assurez-vous juste que vous avez le type de données approprié représenté. Donc, quand cette fonction est appelée, elle va aux pieds. L' amour. Quels que soient les messages transmis, je vais juste en retourner 500. Donc, cela signifie que je peux juste faire cet appel Sean pour que je puisse juste appeler l'erreur interna chaque fois qu'il arrive à l'exception. Mais alors, rappelez-vous, j'ai besoin du message. Nous devons donc faire la même chose là où j'ai l'exception. Ensuite, je vais juste passer dans une chaîne de valeurs donc en utilisant l'interpolation et je veux construire une chaîne similaire à ce qui a été mis dans l'air du journal, chaîne similaire à ce qui a été mis dans l'air du journal, certains vont juste enlever tout cela sur. Je vais juste le transmettre comme message, non ? Donc quand on arrivera à la prise, j'espère qu'on ne le fera pas. Mais si jamais nous le faisons, alors il va appeler la flèche interna, en passant le message d'exception sur l'exception interne sur. Ensuite, quand il est appelé, il va faire la journalisation appropriée, puis retourner le début de score, qui serait ensuite retourné à la fonction à droite alors donc je peux juste voir retour ici. Donc, je vais retourner la flèche interne sur. Je peux enlever le jet. Donc, une fois qu'il sera là, il va juste retourner la valeur que cette fonction a appelée son avocat. Donc ça veut dire que chaque fois que je touche la section de l'église, euh, appelez. Je peux juste faire ça. Un liner où juste appelé deuxième interne a été remplacé que dans le précédent. Parce que je voulais être cohérent. Je veux que tout coule dans un sens. Droit. Donc, le comportement pour les exceptions interceptées devrait être la couture. Vous attrapez l'exception sur vous faites juste un journal sur le retour pour commencer une école à 500. , Bien sûr, si vous voulez des messages différents, non. Alors tu veux dire qu'il faut regarder, tu sais, le trouver un peu. Mais en fin de compte pour 500, je ne veux pas être plus élaborée que quelque chose ne s'est pas passé. Vraiment. Et vraiment juste. Une autre chose que je veux faire à l'intérieur de mon auteur get serait de vérifier si j' ai réellement récupéré quelque chose quand j'ai passé cet appel. Donc je ne veux pas juste retourner un 200. D' accord. Quand il n'y avait rien de téléphone. Droit ? Je peux retourner une liste vide et dire 200. D' accord, mais il n'y avait rien appelé. C' est bon tour. Eh bien, tu sais, Green Off cherchait dans cette situation. Je ne veux pas que tu cherches avec le, euh désolé. Auteur avec i d deux et puis ne pas obtenir le résultat serait obtenir un 200. Ok, donc ce que je vais faire ici, c'est que je vais voir si Auteur est non. Alors je veux revenir. Euh, pas appelé. D' accord, donc pas les quatre ou quatre, non ? Vous devriez être familier avec pour quatre. Lorsque vous cliquez sur quelque chose sur Internet sur, puis il mène sur une page de quatre et dire, Hey, Hey, vous avez probablement fini ou vous êtes à la recherche de quelque chose qui n'existe pas. C' est un 404 donc c'est ce que je veux. Si vous commencez pour un auteur avec i d 100 alors qu'il n'y a pas d'auteur avec i d 100 ou au moins il n'a pas été appelé dans la base de données, alors je veux me connecter et voir. Ce n'était pas le téléphone. Donc ce retour arrêterait l'exécution juste ? ici pour que je puisse juste ajouter la journalisation dans fort asi plus longtemps que le journal peut-être avertir M. C Warne eso vous pouvez déterminer le degré de la, um l'intensité sont le danger de chaque opération lager, non ? Quelqu' un pour avertir cet auteur avec i d Andi, Il suffit d'utiliser l'interpolation n'a pas été tombé. D' accord, donc ils ont fouillé. Il n'a pas été trouvé. Donc peu va juste aller à Deeble plus que tester ce point de terminaison. Très bien, donc swagger nous montre que nous avons un nouveau endpoints qui est hors type get quand je regarde, je vois qu'il a un paramètre requis appelé I d. Droit sur dit retourne 200 succès. Donc, nous allons revenir en arrière et ajouter plus d'annotations pour cela. Eh bien, laissez-nous juste cliquetis dans Horseman. Très bien, donc dans Postman, nous allons tester ce nouveau point afin que je puisse toujours consulter la documentation pour voir à quoi ressemble leur question. Il ressemblait à des auteurs slash ap slash slash sur la valeur i d. Droit ? Donc, ce que je vais faire est de dire, slash ap slash auteur slash Une fois que je n'ai pas d'auteurs dans ma base de données, donc on devrait donner quatre ou quatre sur. En fait, je vais le déboguer avec toi. Donc ce que je vais faire, c'est revenir au contrôleur. On va mettre un point de rupture. Ensuite, nous passerons à travers juste pour voir exactement ce qui se passe. Il se détache du chemin. Alors quand je vais faire le facteur sur le gars frappé, envoyez-le. C' est mon point de rupture. Alors on y va. Donc personne n'a été appelé dans le bon point, et c'est toujours un moment heureux. Si je vérifie, je d. Nous voyons que la valeur on est transmise sur ce qui a utilisé F 11 pour passer à travers. Donc, il va essayer l'opération. Tout d'abord, se connecte , puis oui, ça va aller dans tout ça sur. Ensuite, il va essayer de trouver, ledit auteur. Donc, en fait, je vais juste sauter cette fois parce que ça va passer par une autre cause. Donc, je vais juste utiliser ce petit bouton de lecture pour passer à la ligne suivante sur. Alors vous voyez, cet auteur est en effet non. Donc, il n'a pas obtenu un auteur de la base de données avec I D un sur, donc il va descendre dans notre section, um où il devrait aimer avec l'avertissement qu'il n'a pas été appelé. Oui, et il le fera sur. Ensuite, il reviendra, pas appelé, puis appuyez sur si j'ai continué l'exécution. Donc, quand je regarderai en arrière dans Post man, vous verrez le statut de quatre personnes qui n'ont pas téléphoné être retournées. Très bien, donc c'est pour qu'on puisse contrôler les attentes sur les interactions avec leur A p. J'ai lancé le statut, noté des mises à jour. Donc, juste quand même. Eh bien, je n'ai pas dit à un été à celui-là, donc on a juste un résumé sur le fait d'aller dire Allez. Auteur par I d onda paramètre nom est l'idée peut laisser cela seul et retourne sur. L' auteur est requis. Très bien, donc pas plus d'un p une documentation aura un peu plus d'informations à ce sujet. Non. Une autre chose que je vais faire est de produire des annotations de type de réponse au différent de point determinaison différent. Donc, ce point de terminaison est capable de revenir sur OK ? Ou un 500 quelqu'un à dire ci-dessous pour obtenir que cela fonctionne bien, mais il fait aussi le statut 500. Erreur de serveur interne 500. À droite sur ça. Je vais faire la même chose pour celle-là, ce qui fait aussi le bon. Il fait également la flèche interne, mais il est également capable de faire un état 404 Donc, c'est que fait pour tous les quatre pas téléphonés. D' accord, et puis nous allons jeter un coup d'oeil à la documentation juste pour voir quelles différences ces viandes. Bon, donc notre documentation comprend notre résumé. Quand je ne suis pas dans les offres get, je vois qu'il n'est pas conscient que le 200 succès ou 500 flèche serveur là tout à fait possible. Et si je regarde dans celui avec le i d. je vois que je pourrais obtenir un succès pour quatre et un 44 a sa propre charge utile, ce qui aurait vu dans la réponse où il nous dit le type, le titre, le statut, les vraies sociétés, je suppose qu'il est retourné lorsque nous appelons que la fonction non téléphonique sur DSO. Notre documentation fait une représentation sur le fait que c'est ce qu'un quatre ou quatre peut avoir dedans, est-ce pas ? Donc je suppose que nous pouvons remplir ces détails avec notre coût, euh, contenu si nous en avons besoin de la même façon que nous pourrions envoyer un message personnalisé avec nos cinq pays, donc c'est à peu près tout pour rester séparés, Obtenez et points. Ensuite sera la configuration ou créer en point de sorte que la prochaine fois que nous testons pour obtenir, alors nous devrions être en mesure de valider que les données sont réellement récupérées de la base de données. 19. Autheurs : Configuration CREATE Endpoint: Bienvenue en ce moment. Écoutez, nous allons mettre en place le point de terminaison de création pour nos auteurs, contrôleur du FBI. Donc, nous commençons cet exercice en écrivant sur une nouvelle tâche asynchrone hors résultat d'action de type I sur. Alors on va l'appeler. Créer dessus va s'attendre à un paramètre que je vais voir cela utilise l'annotation qui provient du corps, n' est-ce pas ? Cela signifie donc que lorsque la personne ou le client fait un appel à ces points de fin, ils sont censés passer dans notre corps avec du contenu. Maintenant, c'est là que les objets de transfert de données vont certainement entrer en jeu parce que pour l'instant, nous n'avons que des détails d'auteur, ce qui est d'accepter idee. Prénom, nom bio. Andi, je fais la liste des livres. Essentiellement, lorsque vous créez un auteur, vous n'avez pas besoin de fournir un i d. Sur D ne vous attendez pas à ce qu'ils fournissent la liste des livres. Droit ? Donc, ce que je vais faire est que je vais créer une nouvelle classe, et je vais juste utiliser le même auteur, DT ou classe, DT ou classe, Mais le fichier de classe de détail de l'auteur, plutôt. Mais je vais créer une nouvelle classe là-bas quelque part pour voir le public. Plus sur. Alors je vais appeler cet auteur. Désolé, auteur. Créer e T o. tout droit sur, alors. À l'intérieur de cet auteur créer GTO. Je vais avoir des définitions pour ces prénoms, nom de famille sur bio. Donc c'est tout ce que je veux que quelqu'un puisse me fournir pour la création souvent. Auteur. Très bien, Donc, ils attendaient des données une fois de plus pour créer le aussi serait défini et aussi créer DT Owen. Et à partir d'ici, je peux mettre, euh, certain que je sais pour fuir Second, faire son requis. Laisse-moi juste mettre ces quatre balles prénom et nom de famille la bio je vais me facultatif. Donc, après inclure quelques bibliothèques pour obtenir ces annotations. Je peux également mettre différentes annotations, comme pour le type de données et la longueur maximale. Et donc je ne vais pas, vous savez, appliquer tout ça. Mais je m'assure juste que je leur fais savoir qu'au moins ces deux-là sont nécessaires alors la bio est-ce ainsi ? Très bien, Donc en définissant cet auteur créer GTO revenir à mon contrôle, que j'ai laissé très incomplet, je saurai. Dites que le paramètre que j'attends du corps devrait ressembler à quelque chose comme l'auteur crée DT. De plus, s'ils ne mettent rien d'autre, ils doivent s'assurer qu'ils ont au moins le prénom, le nom et la biographie sur ce sujet. Je suis en outre en train d'appliquer que le prénom et le nom de famille sont requis. Nous sommes retournés au contrôleur. Bon, alors nous commençons à définir exactement ce que devrait faire ou créer. Non, je vais faire une série de chèques. Le premier jour, je vais faire mon essai. Attrapez à l'intérieur de la prise. Je reviendrai juste. flèche interne du serveur serait à son tour sur l'erreur. Um, une fonction appelée Désolé, Andi a mis mes exceptions. Je fais ça parce que c'est la chose la plus facile à faire pour m'assurer que je ne l' oublie pas . droite. Donc, j'ai ça. Je sais ce que je vais faire. Nous voyons si l'objet qui est Oh, eh bien, désolé je mets dans la classe et en faisant mettre là le nom. Désolé. Donc, du corps, je m'attends à l'auteur, objet hors type auteur crée des détails quelqu'un pour dire si l'auteur est non. Donc, cela signifie qu'ils ont essayé de soumettre une demande Mais il n'y avait pas de données d'auteur ou pas de données attendues à condition que je vais juste retourner. Ah, mais demande. C' était à propos d'une demande de votre part. Très bien, alors, il y a cet objet ou cette propriété que je peux appeler Model State, qui suit essentiellement le statut de validation des données. droite. Rappelez-vous donc que nous venons de mettre une validation pour dire que certaines choses sont nécessaires, et ainsi de suite sur l'état du modèle suit fondamentalement tout ce qui se passe à travers les valeurs de données . Donc à peu près est bonne pratique orteil, faire tous les contrôles avant de continuer à transformer plus tard. Parce que le fait est que vous voulez vous assurer qu'au moment où vous appelez l' orteil de base de données , mettez quelque chose dans la base de données que tout est en ordre. Donc je vérifie si c'est le cas, sachez que je vous dis que c'est juste une question de demande. Je n'irai pas plus loin. Um, si c'était un cas où vous vouliez seulement des auteurs avec vous avez besoin de noms sont jamais enregistrés. Devrait avoir quelque chose d'unique que vous vérifiez pour l'unicité sur. Ensuite, vous revenez s'approprier. Donc pour l'instant, c'est seulement que je suis en train de faire. Alors je ne peux même pas le mettre. Ah, l'amour. Donc, avec ces déclarations, si vous avez une terre, vous n'avez pas besoin des thèses parentales. Mais une fois que vous avez plus d'un, vous avez besoin de parenthèses sont juste copier le journal. Euh, eh bien, laissez-moi juste dire sur le score. Amour usé plus longtemps. Non, pas né le. Je vais juste voir ça. Je vais juste voir que la demande vide a été soumise, accord. Et puis, bien sûr, je peux mettre un autre bûcheron. Je commence à voir la soumission. Tentative de soumission de l'auteur. Donc on sait. Et puis celui-ci aurait été une info. Bon, donc on informe tout le monde que quelqu'un a tenté de créer un auteur. Si la charge de la baie était non, alors nous sommes juste avertis de voir Intercoastal soumis, et ensuite nous revenons qu'il y avait une mauvaise demande directement sur. Je peux probablement mettre le modèle. Je suis resté. Laisse-moi compliquer ça. Plus qu'une autorité auparavant. Donc, ce n'est que quelques informations. Donc, nous pouvons passer à autre chose alors nous pouvons dire vérifier les états du modèle. Rappelez-vous que l'état du modèle ici est plutôt, euh, euh, orteil fatigué quelles que soient les validations imposées à notre DT. Oh, c' est vrai. Donc, notre DT toujours dire que ces deux sont tenus quelqu'un de dire, Si ce n'est pas le cas. J' aime faire les mauvais chèques d'abord, non ? Donc, vérifiez toujours si tout n'est pas en ordre. Et si ce n'est pas dans l'ordre que je ne vais pas procéder. Si ce n'est pas les états du modèle, c'est valide. Donc, cela signifie que s'il y a quelque chose ah, bateaux, les données soumises qui ne répondent pas aux critères de validation et que nous avons réglé alors je vais également retourner sur demande. Droit ? Mais alors je changerais plus longtemps manquer légèrement à voir. Hum, tu le sais. Waas incomplet. Les données de nos auteurs étaient incomplètes. D' accord. Une autre façon cool de le faire serait au lieu de voir l'auteur chaque fois que vous venez de dire, laissez un nom de contrôleur et leur escorte qui vous permet d'obtenir juste le contrôle et le parent à l'endroit où le tribunal est écrit. Donc à la place, j'essayais de dire, auteur,à auteur, chaque fois, auteur, chaque fois que vous pouviez juste voir le nom du contrôleur, qui est des offres et ensuite voir les messages, au moins dans le journal, c'est plus facile à dire. Étaient ou quel contrôleur ce message plus générique est associé à notre tout trou. Il y a tellement de façons de faire cette chose que si je devais essayer de mettre tout cela hors de cours, nous ne finirions jamais. Donc, vous savez, nous pouvons juste aller de l'avant et apprendre et grandir au fur et à mesure que nous avançons. Non, après que j'ai eu mes fesses hors du chemin. Si ça dépasse ces deux contrôles, quelque chose doit être juste, non ? Donc, je vais dire auteur var ou quel genre de réutilisation Author var. Voyons voir, Record est égal à sur alors vous savez ce que je vais ne veux pas dire Auteur D T o. donc vous savez que c'est le GTO qui vient du paramètre que je vais sauver notre auteur. D' accord, donc j'essaie juste de mettre ma variable à genoux pour que tout le monde puisse regarder la cour et, vous savez, associer facilement, hum, variables à leur place Jusqu'à présent, Auteur va être orteil égal ma ma ma par avoir vadrouille. Et puis je suis allé voir que je veux TEM jusqu'à l'auteur de la classe de données. Cette fois, je veux qu'il se lève. Quelles que soient les données qui arrivent par l'auteur E T O. Sur cela, je suis victoires après inclure certaines choses sur lesquelles je peux impliquer la classe de données auteur. Donc, ce que cela fait est dans la direction opposée, ou donc je reçois le détail du client avec les données sur. Alors je vais dire OK, ma partie supérieure. Je veux que vous preniez toutes les données incluses ici, qui impliquerait le prénom, le nom de famille et la bio. Et puis je veux que vous le baladiez à la classe de données qui a tout le reste de toute façon , non ? Donc, s'il manque quelque chose, il va obtenir insert. Il sera inséré plus tard. Ou au moins on peut contrôler celui-là. Droit ? Donc, au minimum, une fois que cela est balayé, au moins le prénom et le nom de famille souvent auteur devraient être balayés. Si notre bio est présent qu'il sera marqué s'il n'est pas présent que c'est bien, vous savez, n'est pas une conséquence que nous ne l'avons pas fait exiger Non avoir fait la cartographie, je vais essayer de sauver les changements. Donc, je vais dire que var est le succès est égal orteil loin. C' est l'appel à mon auteur. Eople auteur de Bus story dot Créer à droite sur les succès de virus résultant qui se rappellent que cela va retourner un booléen. Quoi ? C' est réussi ou pas ? Ce qu'il semblait réussir ou non alors la création attend une entité hors type auteur, ce que je viens d'avoir fait le mappage. Donc je vais le transmettre. Ensuite, après cela, nous allons voir si ce n'est pas son succès, ce qui signifie que si ce n'était pas une opération réussie que je vais probablement vouloir me connecter à DSI. J' aime juste rapidement et dire création d'auteur, Field on. Alors j'appellerais ma servante interne bonne fonction, donc je rendrais ça. Donc je veux dire, il y a tellement de façons de faire cette lecture, puis à condition que tout le reste est vieux t. Donc, cela signifie que si cela a été réussi, Désolé. Donc l'air interne du message serait que je suis désolé. Je mélange, mélange, mélange, sors de moi-même. Ce que je vais faire ici est en fait transmis dans ce message en tant que droits flèche du serveur interne. Ok, donc je vais passer un champ de création d'auteur comme message. Donc c'est ce que nous allons être enregistrés. Mon corps est sur. Ensuite, l'utilisateur va juste obtenir que quelque chose a mal tourné. Administrateur de contact de pièce avec un état refroidi 500. Donc, si cela a été tenté et qu'il n'a pas réussi, alors ils obtiendront 500. Donc, vous savez, je fais la différence entre les mauvaises demandes et 500 parce qu'une fois de plus, mais demander signifie que les clients n'ont pas fait quelque chose de bien sur le 500 signifie que notre côté échoue. Donc ils ont tout fait correctement, et il s'est levé jusqu'à ce point, et ça a échoué. Donc, il soit champ ici ou les enseignants non exceptionnels et champ. Soit nous devons leur dire que quelque chose champ, qui est une flèche 500. Cependant, à la fin, hors tout cela à condition qu'aucun hors de ces pièces de feu soit touché ou ceux-ci. Si les déclarations sont frappées, alors nous pouvons supposer en toute sécurité que le retour que nous avons créé avec succès afin que je puisse retourner. Euh, commence refroidi. Créez Ted, ce qui, je crois, est un deux trous. Oui. Donc 200, c'est bon. C' est un bon, Andi, Andi, quelque chose de bien ? Donc créé Il serait dire, Yemen que vous avez créé quelque chose sur tout va bien et donc passera ici et si nous sommes finis, nous voyons qu'il attend une chaîne. Vous êtes sur une valeur d'objet. Donc ce que je peux retourner ici serait, ah, vous savez, créer Ted et ensuite voir créer, puis passer un nouvel objet avec les données qui viennent de l'auteur, n'est-ce pas ? Donc, une fois que nous aurions créé aussi avec succès, cette entité sera en fait automatiquement mise à jour avec le nouveau I d. Par exemple, sur ce que j'aurais probablement assis après la soumission, donc ça va juste pour renvoyer les détails de ce qui a été créé. Et puis je peux inclure je plus ici, euh, Oliver dot dans son intégralité pour voir. Également créé avec succès. Ils sont créés auteur de notre Laissez-nous juste laisser cette offre de création. Ok, alors laisse-nous rester ça pour un tour. Nous avons fait un peu de travail, puis hors cours. Vous voulez tester chaque scénario pour vous assurer qu'ils fonctionnent comme nous nous y attendons avant d'aller avant, bien que j'aie négligé de mettre une notation. Alors laissez-moi vous dire que c'est un post http. D' accord ? Donc, une fois que nous faisons une réponse post ou une demande post, ils sauront qu'il devrait frapper cette fonction par cette action. Plutôt, je vais aussi lui faire connaître les différents types de réponse que nous produisons. Donc nous ne produisons pas. Ok, mais nous produisons un outil créé correctement, donc celui-ci vous fera savoir qu'il a été créé. Il ne fera pas un 404 mais c'était une mauvaise demande, Donc le stock fait pour 100 est mauvaises demandes. D' accord , alors. Bien sûr que vous le faites. Aussi faites-leur savoir quand ils à leur tour nous flèche a eu lieu. Très bien, sur ce donc, mais pas laisser commencé à mettre mon résumé. Donc, c'est le plus grand être pour la plupart des programmeurs se souvenant de mettre l'été donc ce serait créé sur l'auteur alors Le nom Param est l'auteur DT. Oh, donc je vais rester ici. Eh bien, je peux vraiment laisser ça tranquille, et je n'ai pas besoin de préciser quoi que ce soit qui est retourné. Alors allons démystifier plus que de le prendre pour un tour. D' accord ? Donc, la documentation est en cours d'exécution, nous voyons ou postons il y a un exemple de ce qui est attendu. Droit ? Alors rappelez-vous que nous utilisons le DT Oh, nous n'avons pas utilisé l'objet auteur complet. Et donc le détail que nous utilisons était le prénom, le nom de famille. Et par ce sont les seules données requises, um, bits de données que nous devrions transmettre. Et ça nous dit que ça devrait être dans le corps de la requête. Ok, alors essayons ça avec le facteur. Donc, je suis allé et créé une nouvelle baignoire, et puis je mis dans les points de fin, qui est l'école hôte locale à bord slash ap auteurs slash. Mais nous avons, ah, un peu les moyens de faire ici. Donc un qu'on ne fait pas, je comprends, mais on fait un post. Donc, nous devons changer cet appel à poster. Bon, alors dans le corps. Nous devons spécifier des données, donc je vais à Eh bien, vous avez pour moi une de vos données codées Elin. Une variété de binaire de graphe quells que el Donc, je vais faire du rock sur. Puis je suis allé changer ça de texte à Jason. Bon, donc je passe dans un oreiller qui ressemble à ça, et c'est dans un type de données sont ah, ancien type de chose appelé Jason. droite. Donc Jason est comme un standard quand il s'agit de l'envoi et la récupération des données, et il est au moins loyer No on. C' est vraiment cool. Il s'est emparé. Comprendre ? Donc, je vais juste copier cet exemple de la documentation sur dans Postman Coller dessus. Ensuite, pour la valeur du prénom, je vais mettre mon nom pour la valeur du nom de famille. Je mettrai mon nom aussi là-dessus. Je vais passer une biographie vierge. Pas d'attente. Voici qu'une fois que j'ai frappé envoyer, il va orteil appeler ce point final. Donc ce que je vais faire, c'est revenir à plus, hum froid et je vais mettre un point de rupture sur les créations. Droit ? Donc une fois que je ferai ça, je connaîtrai Hit, envoyer, et c'est notre point de rupture. Alors, bonne journée, alors. Si je passe la souris sur le GTO, alors je verrai ce bios vide. Mais le prénom et le nom sont en effet présents. Bon, donc je suis sûr que si je continue, alors ce serait un succès. Donc, les images appuyez sur f cinq et continuer à travers l'exécution. Andi, vérifiez le facteur pour voir quelle réponse. Waas et moi avions tort. En fait, je reçois un 500 à tour de rôle sur terre. Donc quelque chose s'est mal passé en chemin. Tu sais, au lieu de passer et de marcher, je peux distraire ma serrure ici dans mon journal, je vois ce qu'on dit. Donc, il est dit que la flèche est manquante. configuration du vadrouille n'est pas prise en charge Vadrouille. Oui, je comprends complètement ce que c'est. Un bateau. Alors laissez-moi juste sortir bateau b amarré et réparer ça. Donc, ce qui s'est passé est que nous avons introduit un nouveau DT Oh, sous la forme d'auteur créer GTO sur. J' essaie de le balayer. Mais devine ce que je n'ai pas fait. Je n'ai pas dit à l'automne haut de connaître un bateau qui cartographie donc retour dans les vadrouille. Je dois spécifier qu'il y a je suis en train de balayer qui existe entre l'auteur et l'auteur. Créer de deal. Très bien, donc vous voyez Ah, flèche très simple, parce qu'une configuration manquante. Mais c'est toujours bon. C' est l'un des avantages des journaux parce que, vous savez, aurait passé du temps à Trente, étape à travers un Philippin chaque terre pour voir où il a mal tourné et a essayé de voir l' exception. Mais plus vous le dire, c'est pour ça que ça a échoué. Donc, l'utilisateur voit juste que quelque chose a échoué. plaît contacter l'administrateur qu'ils appellent vous êtes l'amour un billet avec votre entreprise , puis vous pouvez aller dans le journal et enquêter exactement ce qui s'est passé. Bon, alors essayons encore. Retournons dans le bateau amarré à l'essai ou un P I à nouveau. Je vais donc essayer de soumettre les mêmes données avec Postman. C' est pourquoi le facteur est si pratique parce qu'il enregistre vos séances. Il enregistre vos tests et vous pouvez toujours simplement revenir à l'école et cliquer. Envoyez. Alors voyons s'il se passe. Donc c'est mon point de rupture, et je vais juste appuyer sur un feu pour que ça continue. Alors laisse-moi revenir sur le facteur. On y va. Alors je reviens. Je nous commence vers un pour voir qu'il a été créé avec succès sur Il renvoie également tous les détails de l'auteur nouvellement créé. C' est le premier dans le le nom de famille. Et bien, il n'y avait pas de partialité. Laisse-moi essayer quelqu'un d'autre. Donc sur une clé Ah Evans Andi, elle est intelligente. C' est notre biographie. Alors laisse-moi cliquer. Envoyez. Je retire juste le point de rupture pour que, tu sais, on n'ait pas à les accrocher à chaque fois. Et puis il y a un K. Evans avec sa biographie. Donc, la chose à propos du non requis serait que si je ne soumettais pas un de ces champs obligatoires. Laissez-moi prendre en charge la première et la première Emma Lawson ont été acquises. Je prends le prénom pour régler le point de rupture ici. Juste les orteils, assurez-vous. Donc, cette fois, je veux un point de rupture sur que je vais cliquer envoyer. Eh bien, ça n'a même pas atteint le point de rupture. Il vient de me dire que c'est une mauvaise demande pour Barroso. Des erreurs d'état du modèle seraient incluses pour indiquer que le champ prénom est requis. Donc, c'est la puissance de ces réponses. Donc, si vous n'avez vraiment même pas atteint le point de rupture, sachez juste sont peut-être que j'ai mis chronométré la mise en place d'un point de rupture et la soumission, mais il frappe probablement celui-ci. L' état du modèle n'est pas valide. Les données de l'auteur étaient incomplètes sur. Ensuite, il a retourné une quête de beurre vous disant l'état du modèle sur un test de plus où je vais l'appeler, mais sans aucune donnée. Donc quand je frappe, envoyer va juste me donner Oh bien, ça donne un type de média non pris en charge. C' est donc une réponse par défaut. Non, parce qu'il n'y a pas de méthode post ah dans mon a p I. Cela ne prend rien dans le corps. Donc vraiment et vraiment il ne devrait pas avoir. Eh bien, si votre demande ne fait pas grand-chose à l'intérieur du FBI, alors vous aurez un pour cinq à voir. Tu sais, c'est un invité pris. C' est juste cette réponse par défaut. Ondas une ville Erekat vous dit honnêtement, ho, je simulerais celui-là pour vérifier si c'est petit, mais c'est comme ça, non ? Donc, les cinq étrangers auraient même intercepté avant qu'il ne tente d'appeler cela créer. Donc c'est tout pour configurer notre create in point on, nous avons la journalisation. Nous avons des réponses et des validations appropriées. Um, erreurs le long du chemin que nous avons mis en place un nouveau détail sur quand nous reviendrons seront mettre en place la mise à jour et le point 20. Autheurs : point d'arrivée de la configuration: Hé, les gars, bienvenue dans cette leçon. Nous allons mettre en place le point de terminaison de huit pour nos auteurs, un contrôleur P I. Je vais donc accélérer cette pierre et copier une partie de ce qui existe déjà. Onda juste coller. Et puis nous ferons des modifications au fur et à mesure. D' accord, alors ? Donc si mon indentation s'est éteinte, répare ça, accord ? Donc, je viens de copier en paix que la création, Mais alors je vais faire quelques changements. Donc, cela va être opiacés sur l'auteur sur, alors la pétition pour cela est d'être http, mettre Tout droit, Donc quand vous parlez de met, c'est tout ce que vous en haut un peu. Je suppose que ça veut dire qu'ils vont entrer. Tu l'as fait. Je ne sais pas pourquoi on appelle ça « met « , mais on va travailler avec ça sur Dwell. Nous pouvons modifier le statut. scores plus tard seuls sont finis, mais celui-ci va être en place. Et par non, je suis sûr que vous réalisez probablement que ce n'est presque pas tout à fait important ce que vous appelez l' action parce que nous n'appelons pas les actions par leur nom dans Postman. C' est vraiment la méthode sur les paramètres que nous avons passés qui déterminent quelle fonction devrait être interceptée. Donc, si deux fonctions se ressemblent trop, comme vous pourriez avoir à créer des formations dans le même contrôle de paire et je pense que les mêmes paramètres. Quoi ? Ils ont des noms différents. Ce sont studio peut ne pas vous donner une erreur, parce que dans la tactique, c'est correct. Mais dans la façon dont les yeux AP fonctionnent ou au moins se reposent, Felipe a du travail. Cela causerait probablement un problème parce que les charges utiles sont les données envoyées ressemblent trop . Donc, je peux dire quelle pauvre étoile qui a la fonction qu'il devrait appeler. Très bien, donc les noms ici comptent vraiment moins que le fait que vous mettez l'annotation Andi , ou la ligne dans les paramètres de la voiture. Constructions inattendues. Donc, pour notre mise à jour en points, je vais mettre sur les paramètres idee. Donc les attentes qu'ils vont appeler, euh, mettre le point de terminaison Désolé, la barre oblique de l'euro, le I D. euh, mettre le point de terminaison Désolé, la barre oblique de l'euro,le I D. On attend notre corps hors données. Donc, beaucoup de fois, vous voyez que les gens utilisent le détail de création et il parfois l'appeler et éditer ou ils l'appellent absurde, ce qui signifie mise à jour sur l'insertion d'un, parce que généralement le créateur et il est très similaire. Vous ne les autorisez pas à modifier les mêmes choses que vous ne leur permettez pas de créer, est-ce pas ? Mais le fait est que si nous avions besoin de différencier, comme, par exemple, un aussi, si vous voulez que cette personne puisse éditer la bio mais pas le prénom et le nom, alors nous pourrions pour spécifier un nouveau détail avec toutes les propriétés qui attendaient Data 4 et accepteraient. Ce sont pour dans ce cas, je vais juste utiliser le continue dans la création parce qu'il sert un double but. Mais alors le nom peut être dangereux parce que, vous savez que vous voulez être explicite. Mais dans cette situation, je le laisse tranquille. Donc aussi créer des détails et je vois que je m'attends à quelque chose hors détail de l'auteur. Non, vous avez vu dans la documentation que c'est un détail d'auteur. Je ne veux pas forcément dire l'auteur à celui qui lit des documentations. Si j'ai changé cela ici, je dis juste que le nom de Param est l'auteur, même si cela signifie manquer beaucoup et cela va m'avertir que Hey, vous savez, il n'est pas auto beaucoup, mais c'est ce que je veux qu'il dise dans le documentation. Droit ? Donc en passant un auteur sur je veux prénom, nom de famille et sur la bio. D' accord, alors. Encore une fois, si nous trouvons cet avertissement ennuyeux, nous pouvons simplement regarder le tribunal d'avertissement, qui est 15 73. Oui, 15 ans. 73 sur. Ensuite, on peut aller de l'avant et, hum, prendre tout notre supprimer dans nos propriétés. Non, à l'intérieur de notre corps d'action, nous avons ou d'habitude, essayez attraper. Et dans notre prise, nous allons juste revenir sur la fonction d'erreur interne. Exception d'appel avec l'objet e. Alors commençons par nos poussins avec le premier contrôle et voyons si je l'est, c'est moins d'un, ce qui signifie que cette valeur n'a pas de sens. Ou si l'auteur bto est équivalent à savoir droit ? Ensuite, je veux retourner la demande Bud. D' accord. On, alors. Tellement mauvaise demande. Si vous regardez les overlords, vous voyez qu'ils vous permettront de passer dans l'état du modèle. D' accord, donc c'est une mère qui dit qu'on a parlé qu'un bateau sera aussi capable de passer une erreur pour qu' on puisse passer un objet personnalisé donc c'est une mère qui dit qu'on a parlé qu'un bateau sera aussi capable de passer une erreur pour qu' on puisse passer un objet personnalisé. Ou nous pouvons chercher un objet approprié qui nous donne tous les points de flèche que nous voulons. Bon, donc je retourne de mauvaises demandes. Si la charge utile est non, ou ceci, je dévalue n'a pas de sens. Nous pouvons également vérifier à nouveau si l'état du modèle ancré est évalué. Donc, nous vérifions si ce n'est pas valide. Donc, si ce n'est plus, l'état est valide. Ensuite, je vais retourner aussi de mauvaises demandes. Mais cette fois, je passe dans l'état du modèle. Droit ? Je vais laisser la journalisation pour la dernière fois. Je suis juste en train de parcourir toutes les principales fonctions. Très bien, donc, après avoir fait ces deux contrôles, je peux probablement supposer que tout va bien. Quelqu' un pour procéder et sauver notre est. Le succès est égal à attendre les résultats. Mon auteur posit Torrey comme il appelle les mises à jour, mais puis j'ai fait un manquant un grand pas ici où j'ai besoin d'un objet hors type auteur. Donc on a le détail dont on a besoin pour serpiler. Je n'ai pas raté cette étape, donc c'est bien pour l'instant. Auteurs égaux à sur la partition Ma serpillière supérieure droit ? Et je suis à l'auteur sur la source est ce qu'Avery nage dans travers écrit e T o. ok, donc je vérifie ce qui est mauvais si quelque chose est sur le retour. Nous ne voulons pas commencer à frapper les opérations avec de mauvaises données. Donc on vérifie le corps. C' est notre retour. Arrêtez l'exécution rapidement si quelque chose ne va pas mais Et si nous obtenons ce feu, voulez orteil, faire la cartographie, essayer et la base de données soumise et puis nous disons , sinon, est si excessive alors nous savons que nous avions sur l'erreur interne du mieux que nous pouvons le deviner. C' est tout ce que seule une erreur interne le ferait ne pas fonctionner. Ensuite, nous procédons à dire retour. Donc s'il reçoit ce feu, alors on ne veut pas retourner le contenu, pas vrai ? Donc aucun contenu n'est Ah, ça sonne par, mais c'est en fait une bonne réponse A marqué bon dans le sens qu'aucun contenu signifie que vous n'avez pas eu d'erreurs Mais je n'ai rien à montrer. Donc 200, c'est bon pour que tu reviennes. Un résultat s'il y a des données mais en aucun contenu dit ? Eh bien, c'était bon, mais sur la base de la demande, ça aura tout pour le montrer. Mais je ne m'ai rien demandé. Droit ? C' est donc ce qu'aucun contenu n'a besoin. Donc, non, j'ai juste besoin de peaufiner ça un peu. Donc, l'erreur interne ici serait optimiste. Opération fils champ. D' accord, on va commencer à mettre un peu de journalisation. Alors comprenez, Tow bar l'enregistreur en ligne complète ici sur ce, je vais voir auteur Hope Deeds tenté, hum, puis mettre en valeur i d étant les permis sont je d. Et puis je vais juste mettre dans mon interprétation ici. D' accord, donc j'ai fait un peu de journalisation. Vous pouvez mettre en pause la vidéo et tout de suite la journalisation, si vous voulez, vous savez, suivre la journalisation que j'ai. Si vous ne le faites pas, alors c'est bien. Je vais également régénérer ce résumé parce que l'été ne fait que la représentation pour le paramètre auteur. Mais j'ai aussi mis en ce que je décide de cette région. Et donc vous voyez Author Onda le détail. Donc, ce qui se passe sait, c'est que je viens de remarquer que nous allons certainement avoir une ère où nous essayons de le faire. C' est parce que j'utilise toujours le détail de création. Donc, ce qui se passe avec le détail de création, c'est que je me laisse juste revenir en arrière. Nous n'avons pas inclus de droit I D. Donc, pour créer, nous n'avons pas besoin d'un I D. Mais dans l'ordre de mise à jour de remorquage, nous avons besoin d'un I d. parce que et deux travaux différents ou a besoin de l'i d dans l'entité. Droit de savoir quelle entité devrait cibler en changeant leurs propriétés. Donc, euh, j'ai dit qu'on pouvait continuer avec le détail de création, mais clairement j'avais tort. Donc, nous allons juste créer la capacité sur le détail évité va probablement ressembler plus à détails de l'auteur sur le détail de l'auteur Skopje. Eh bien, n'entends pas basé sur eux, qui est appelé son auteur hors bit DT Oh, mais je n'ai pas besoin de cette liste de livres. Droit. Donc, les détails des mises à jour et ont l'i d hors de l'entité en cours de modification. Le prénom et le nom de famille sur le bios. Tout là-bas alors j'ai besoin, mais mes annotations pour indiquer ce qui est absolument nécessaire pour les mises à jour De aussi, non ? Non, on est retourné chez mon contrôleur. Je vais changer tous les paramètres de l'offre. Création du détail de mise à jour de l'auteur Droit sur. Je vais aussi ajouter une autre vérification ici où je vais voir pendant que notre détective la valeur i d est inférieure à 10 r. Si l'autre objet de détail est non, Mais je vais mettre dans une déclaration de plus à dire, ou si le I d n'est pas égal à l'auteur DT doit I dévaluer. Donc, ces deux valeurs ne devraient pas manquer beaucoup. Je ne peux pas passer la valeur cinq ici, mais passer des données pour aussi avec i d six. Ça n'a aucun sens. Droit ? Donc, quelles que soient les idées ici devrait beaucoup l'idée étant transmise dans le corps pour l'auteur. Bon, alors mettons-le à l'épreuve, donc je vais juste y aller. Je vais en consacrer plus. On va tester avec le facteur. Bon, donc nous voyons ici que nous avons le point de terminaison représenté, donc c'est qu'il faut un périmètre sur lequel je suis. Nous attendons également le remorquage de charge utile. Ai-je d prénom, nom de famille et bio que les propriétés. Nous voyons également les différents types de retour qui vont être affinés parce qu'ils n'ont pas autant de retours. Nous. Tu n'as certainement pas de succès. 200 ou 201. Qu' est-ce qui nous permet de valider d'abord avant de partir sur moi ? Ces changements. Donc je vais aller chez un facteur, avoir un nouveau top. Je vais le changer à partir du « get toh put ». Très bien, alors je vais voir l'auteur avec Idee un parce que je sais que j'ai un auteur avec i d un, mais alors je dois m'assurer que j'ai la charge utile. Laissez-moi tester celui-ci en premier, pour vous assurer celui-ci va juste me donner que pour 15 ans je le crois. J' en ai eu un quatre ou cinq cette fois. Donc voir la méthode, pas une charge. Très bien, donc il semblait que j'ai mis quelque chose comme, je reçois la demande, mais j'appelle le mettre parce que je mets s'attend à ce qu'il y ait un paramètre ainsi que le corps. Donc quatre ou cinq. C' est une réponse automatique disant que vous connaissez votre demande sur le verbe Ne pas grand-chose. C' est très bien. Donc je vais avec le corps, choisissez brut aller à J Asan sur, puis je suis avec le poste pape dans l'échantillon, donc je dois mettre idee avec la valeur sur. Alors je veux mettre à jour que, euh, l'auteur d'être Alia sur le nom de famille serait Stewart pour la bio. Hum, disons que je vais mettre les orteils. Elle est géniale pour écrire des livres. Très bien, c'est de la bile simple. Donc, quand je clique, envoyez ici et je vais mettre nos points de pause à l'intérieur de Visual Studio pour m'assurer que nous atteignons le bon point de fin. Donc quand je clique sur Envoyer, je reçois un quatre ou cinq. C' est voir la méthode, pas Telesis qui dit, Oh, je vois quel est le problème. D' accord. Retournons au studio visuel et faisons un appel rapide Changer un peu le mode de débogage sur cette cour. Retournons au studio visuel et faisons un appel rapide Changer un peu le mode de débogage sur Le changement n'est qu'une question d'avoir le chariot sur une émission télé, non ? Donc ce que j'ai besoin de voir, c'est que pendant que je l'ai défini que vous savez, nous voulons le périmètre ici comme vous allez devoir passer un appartement ou serait premier. Donc ce que je veux, c'est le même genre. Um, appelez où ils ont dit Slash ap Slash auteurs slash le i d. droit. Donc, sans spécifier cette partie à elle. Donc c'est tout ce qu'on a fait pour l'obtention. Je ne l'ai pas fait pour la vente. Donc, sans le faire pour les ports serait après avoir passé le paramètre i d. en utilisant une méthode différente que dans le um réel, vous êtes. J' aime ça. Donc ce que je vais faire ici est similaire à ce que nous avons fait pour le pas similaire. Il réplique ce que nous avons fait pour obtenir Onda laisse le mettre ni que son attente sur I d paramètre dans l'URL. D' accord, pendant que je suis là, laisse-moi changer le statut des sports. Donc, je vais dire que c'est le statut d'autoriser quatre pas de contenu. Whoa ! 24 Anakin, dis appuyez sur l'espace de contrôle et il sera automatique. Complétez ça pour moi. Ok, alors essayons encore une fois sur validation sur orbites. Bon, essayons à nouveau avec le facteur. Donc j'ai la même requête ici sur les auteurs du FBI. Une sur ceci est la charge utile. Donc, quand je clique sur Envoyer, ça touche nos points de rupture. Vous savez, nous savons que nous envoyons les demandes correctement. Très bien, donc quand je survole l'idée C I d. Un si je survole l'auteur DT sur I Look, je vois les données entrer et les idées beaucoup. Donc, une fois de plus, nous avons quelques validations à dire si les idées ne sont pas bien, puis retournées. Mais demander en ce qui me concerne, ils le feront. Une grande partie de cela ne serait pas obtenir Mets. Rien n'est non sur i d est. Eh bien, effet et en fait, pas moins d'un. L' état du modèle est valide, je crois, parce que je ressens toutes les données requises. Donc, cela ne serait pas touché alors la cartographie. Donc, si quelque chose aurait probablement une exception parce que nous avons manqué une validation. Et je pense que nous allons frapper l'exception parce que nous n'avions pas la cartographie. D' accord, donc je vais juste appuyer sur f 5 et ensuite on va juste regarder dans le facteur pour ce 500 . On y va. Nous n'avons donc pas fait la balayage. Je n'ai pas besoin de vérifier le journal pour voir ce qui s'est passé, mais je vais revenir au fichier de mappage qui est dans les cartes et les cartes que CS sur leur nous avons créé des gTO. Je vais juste dupliquer cet auteur. Oh, c'est DDO, accord, c'est juste sur le point de le faire encore une fois et ensuite on est à la maison libres. D' accord, donc je viens de soumettre la demande à nouveau et nous recevons la réponse à un quatre. Pas de contenu pour montrer que nos quelques mises à jour. L' opération a été en effet réussie, Donc je vais juste revenir à l'une des plus anciennes demandes où j'ai dit obtenir tous les auteurs et je vais envoyer à nouveau cette fois parce que j'ai au moins deux auteurs dans la base de données que je vais voir auteur avec I d un. C' est celui que je viens de mettre à jour. Elle écrit aussi des livres, disons, ne voyez pas seulement des livres de trucs Donc je peux contrôler ça hors de cours, parce que si vous voulez l'auteur, je veux dire ne pas vouloir retourner tous les livres juste avec juste l'auteur. Donc, en modifiant le détail et en prenant la liste des livres, je peux dater ça. Ok, où nous voyons les deux auteurs si je retourne à l'obtention avec le retrait i D, eu un quatre ou quatre au départ. Donc, je vais juste cliquer envoyer et revenir auteur avec I d un et nous voyons le retour. Baylor Stewart. Elle écrit aussi des livres. Andi. Pas encore de livres dans le système et nous savons comment soumettre sur. Non, nous savons comment mettre à jour les orteils. Donc le dernier serait la suppression de l'hôtel, alors restez autour, c'est 21. Autheurs : Configuration Endpoint: Hé, les gars, Bienvenue dans cette vidéo va mettre en place la fonctionnalité de suppression pour les auteurs. Contrôleur Onda. Eh bien, ai déjà pris la liberté, en remplissant les choses avant pour que vous puissiez mettre la vidéo en pause et répliquer ce que j'ai là. Mais je vais continuer. Donc, sous notre suppression, ce que nous voulons faire, c'est accepter un permis de type I. Ensuite, continuez à essayer de supprimer cet enregistrement. Commençons par nos mauvais chèques. abord, ils veulent s'assurer que le je dévaluer a du sens quelqu'un pour voir si la valeur I d est inférieure à un, puis retourner par requête. Bon, alors je vais aller de l'avant et voir si elles sont bien, ce que je vais savoir c'est essayer de trouver le record avec ça. J' ai quelqu'un à sauver. Notre auteur est à la hauteur de cela. Je vais juste utiliser mon auteur de Torrey Docked positif. Trouver par je d sur ça, je vais passer dans le I D hors des chevaux, n'importe quoi. Quelqu' un pour le permettre. Bon, alors non. Après atom pour récupérer cet auteur, j'ai besoin de vérifier ceux sur lesquels cet auteur existe vraiment ? La façon de le faire est de dire, si l'auteur est assez équivalent. Donc quelque chose est revenu, ce ne sera pas non. Donc si ce n'est pas le cas, alors je vais juste revenir, pas le téléphone. Donc, vous essayez de supprimer quelqu'un sont un enregistrement et il n'a pas été appelé dans la base de données, donc je retourne juste que ce n'a pas été appelé. Bon, donc si ça ne s'arrête pas là, cependant, je vais continuer. Je vais voir que je veux vérifier le succès. Quelqu' un à sauver. Notre est suc cess est égal à attendre. Auteur, Vous tirez les fléchettes sur les pistes. Ensuite, je veux lui donner l'auteur orteil supprimer alors si ce n'est son succès. , Bien sûr, nous voulons nous assurer que toutes les avenues sont couvertes, c' est-à-dire qu'il y a tant de déclarations et de poussins. Donc, je dis juste, si cela n'a pas réussi, que je suis allé retourner mon erreur interne sur alors si après tout le reste, je vais juste retourner aucun contenu parce que je n'ai rien à vous montrer au moment où vous avez supprimé quelque chose. Donc, si on a une réponse sans contenu, tu sais qu'Alicia a réussi, accord. Et puis vous modifiez simplement ce stupide sinon le succès que l'auteur du champ des besoins. Bon, donc ce que je vais savoir, c'est juste ajouter la connexion, puis on pourra tester. D' accord ? J' ai donc fait des journaux, des lignes de journalisation. Vous pouvez faire une pause et en prendre le plus si vous voulez répliquer la minorité et mettre des années en. Mais maintenant, nous allons juste tester et valider ou l'opération de suppression. Bon, donc on est en mode débogage d'un facteur. J' ai commencé un nouveau top. Le verbe amusant est delete. droite. Et vous voyez que j'ai appelé les différents verbes. Je pense que c'est très utile sur. Ensuite, je vais essayer de supprimer l'auteur avec le premier. D' accord. Alors laissez-moi simplement cliquer sur Envoyer, et il me dit pas de contenu. Donc, cela suggère que quelque chose s'est bien passé. Donc, nous revenons juste à ma réponse get et il a encore certaines des anciennes données certainement cliquez sur Envoyer à nouveau sur DSO Je ne suis de retour l'auteur avec le i d à sur si je reçois auteur avec idée Un qui est ce que nous venons de supprimer. Ça devrait me donner un 404 pas appelé. On y va. On peut toujours recréer sur l'auteur si on veut. Parce que je n'ai pas fermé ces baignoires ou pour les demandes précédentes à l'époque. Évidemment, si j'avais essayé mise à jour orteil sur l'auteur. Ça n'existe pas. Voyons ce que nous avons ici. C' est Ah, 500 dans le serveur d'aiguillage, Earl. Donc je ne pense pas que ce soit très intuitif. Donc on peut redoubler sur le nettoyage. Parce que si j'ai essayé des opiacés orteils un auteur qui n'existe pas, ça ne devrait pas me dire un internet. Plusieurs domaines devraient me dire que je n'ai pas téléphoné, est-ce pas ? Donc je vais juste sortir de l'e livre Mood on vient juste de faire ce changement. Donc, cette vidéo est sur la suppression, mais nous avons juste passé en revue tous, vu des lacunes, compris pour le corriger en ce moment. Donc, pour faciliter cela, cependant, je devrais mettre une voiture supplémentaire. Donc ce que je veux faire, c'est faire la trouvaille. Je vais juste copier tout ça ici. Donc c'est là que je trouve l'auteur par I d sur. Alors. S' il n'est pas appelé, je vais donner la flèche. Je n'avais pas ce chèque ici. Je suis sur la vérification de la valeur I d. est valide aan den vérification. Si le plus petit état est valide et n'importe quoi, n'importe quoi, ce serait un serveur interne, Earl. Bon, ce qui n'est pas nécessairement exact. Donc, au lieu de dire à l'utilisateur une flèche interne du serveur, je vais le faire. Vérifiez ici où je suis avec pour essayer de récupérer cet auteur sur. Puis je suis allé vérifier si c'était non ou pas. Tout droit, puis en avant. Non, je vois que j'ai un petit problème ici. Alors ce que je vais faire, tu vois ? D' accord. Donc, au lieu moi en utilisant la trouvaille par i d je ne vois aucun orteil ont ah fonction mère. Donc ce que je vais faire, c'est à l'intérieur de mes dépôts. Donc, c'est la raison pour laquelle le dépôt se refroidit tellement à l'intérieur. Mon auteur pose très à l'extérieur des formations de base trouver entièrement. Ou plutôt, je pourrais réellement ajouter à la base parce que cela pourrait être utile avec les autres. Je vais orteil faire une autre fonction ici je vais juste dupliquer la création, mais je vais appeler. Il existe. Donc celui-là va juste prendre que je suis si dans l'idée d'aller passer l'idée, et ensuite il va me dire oui ou non. Cet enregistrement existe-t-il ? droite. Donc parce que je l'ai défini dans la base, je vais devoir retourner à la classe de béton. Mise à jour, mise en œuvre , fonction manquante, qui est son existe. Et un peu plus. Je trouve ici qu'il est sur alors dans son existence ce que je vais faire vous dire quelque chose comme retour. Um, soulignement db dot Um y a-t-il un évier ? Laisse-moi voir s'il y a un évier. Donc il n'y a pas d'évier. D' accord. Je suis sûr qu'il y a un évier. Euh oh, désolé. Bebe Authors, mon bar. Pas personne que tu coules. On y va. D' accord. Donc, ce que je veux faire est de savoir s'il y a une urgence, un blé, andi penser dans la fonction sur. Donc, je veux savoir s'il y a un auteur. Donc je dis que c'est un fondamentalement sans leur contrôle stable. S' il y en a avec les expressions Lambda. Donc des expressions glum. C' est bon de voir s'il y a un disque avec un I D. C'est beaucoup que j'ai été passé, non ? Donc ça va juste revenir à nos défauts, c'est tout ce que tout le monde fait. Ça dit, vrai ou faux. Donc c'est soit il y en a, ce n'est pas là. Alors sachez que je suis revenu à nos chutes. Je suis juste de sauvegarder mes modifications dans le contrôleur à l'intérieur de la mise à jour. Ce que je vais faire est de dire, euh son existence jusqu'à présent est existe sur je vais dire à la place si je, euh auteur, rapport vérifie son existence. Donc, après que les causes existent, alors je vais voir si non, il sort. Souviens-toi, c'est une force si sûre. Si c'est faux, alors je veux juste revenir, pas appelé directement. Donc, je pourrais juste réutiliser cela dans la suppression à la place off, allez-y et trouver le fichier entier donc je vais juste vérifier son existence en premier. Andi, je peux supprimer cela, et puis je peux remplacer cette ligne où je trouve l'auteur juste au-dessus de la suppression réelle quelqu'un pour récupérer l'auteur ici et ensuite effectuer la suppression, puis validé qu'il était succès ou non sur Warren en conséquence. Donc c'était un peu Vous êtes en affacturage, et au fur et à mesure, vous verrez peut-être d'autres lacunes. Peut-être que vous verrez tous les moyens de rendre votre cour un peu plus efficace. Mais c'est ce qu'est le développement. Vous allez toujours voir des choses que vous pouvez introduire en cours de route. 22. Révision et ajouter des modifications à GitHub: Notre gars. Donc nous sommes arrivés à la fin de cette section. Ou bien sûr où nous venons de mettre en place avec succès ou un contrôleur P I pour nos manipulations d'auteur . droite. Alors passons en revue ce qu'on a fait. Nous avons mis en place quelques données, nouveaux objets de transfert de données que nous avons mis en place pour eux. Nous aurions injecté la dépendance pour le dépôt auteur pour le service plus long sur pour le vadrouille er hors cours, vous configurez l'orteil du référentiel, interagissez avec nos abeilles de données sur DSO. Nous transmettrons toutes les opérations liées aux bases de données via notre référentiel. L' orteil plus long garde les journaux hors de chaque action qui se passe dans le dans les points a p a n sur notre poignée de balai er l'orteil. Vous savez, transférant des données entre l'objet de transfert de données sur les objets de classe de données réels, nous aurions implémenté avec succès des fonctions ou des points de terminaison toe. Récupère tous les auteurs. Teoh, obtenir un auteur par i d toe, créer une nouvelle mise à jour auteur orteil sur l'auteur existant et supprimer les orteils sur l'auteur. Nous avons également mis en place trucs génériques de base afin que nous ne nous répétons pas tout le temps sur nous avons fait usage ou journalisé chaque étape de la semaine, nous avons également examiné certaines techniques de débogage sur DSO. Ce que nous allons faire en ce moment, c'est vérifier nos changements pour avoir de l'espoir. Donc, nous avons seulement besoin d'un clic droit ou d'une solution sur, puis aller à commettre. Nous donnons notre message de validation afin que l'argent puisse mettre en pause la vidéo et la répliquer si vous souhaitez. Mais je vais aller de l'avant et m'engager sur l'évier. Vous sauverez tous les changements en cours de route sur ce qui poussera notre nouveau tribunal basé sur pour obtenir de l' aide. C' est tout pour ce sexe. À la prochaine fois. 23. Livres : Repository et service: Vous les gars, bienvenue dans cette leçon, nous allons être assis ou positionner Torrey et le service pour Cincinnati pour notre table de livre . J' ai donc ouvert la base du référentiel et nous utilisons cette base quand nous chassons, compris nos référentiels d'auteurs ou allons fondamentalement suivre et commencer à implémenter nos référentiels de livres. Donc, dans mes contrats eau, je vais ajouter un nouveau puits, classe, mais interfère vraiment sur. Je veux l'appeler référentiel iBook. D' accord. Plus personne ne l'est. C' est une interface. Donc, j'ai juste changé ça en interface. Andi, je vais le faire hériter de la bête du dépôt. Donc, nous menaçons juste la base du référentiel et le type de classe dans cette situation est livre sur. Alors il va aux orteils. Vous voulez que j'inclue une bibliothèque ? Et c'est inclus. Alors que les spines se souviennent que cette extension interfaces si nous avons besoin d'écrire des fonctionnalités personnalisées qui ne sont pas incluses dans notre base que nous le déclarons à l'intérieur du dépôt iBook sur, puis déclarons et puis concrétisons dans le mis en œuvre dans la classe béton. Maintenant, regardons notre classe concrète et nous allons la créer dans les services, donc je vais juste de l'avant et cliquez. Ajouter à une nouvelle classe et celui-ci va être référentiel de livres Notre Booker Buster va hériter du dépôt de livres I sur. Ensuite, une fois que nous implémenterons l'interface, nous allons obtenir tous les arrêts de la méthode. Donc, la première chose que nous devons faire est d'injecter notre contexte db d'application dans tow, notre dépôt de livres. Et je l'ai fait rapidement. Donc, cela consiste à l'application privée en lecture seule être l'objet sur, puis l'initialiser dans notre constructeur pour ou dépôt de livre Suivant up est d'implémenter ou enregistrer des modifications. Donc, quand je descends à ma fonction, disons si je veux m'assurer de ce que c'est un évier sur le rappelez-vous que nous avons une fonction appelée Enregistrer les changements Andi Well, un appel variable change sur nous appelons la fonction save change un synchrone sur. Alors on revient. S' il y a eu des changements, oui ou non ? Ensuite, nous avons nos créations. Donc, pour faire notre création, je vais dire ah loin. Il a souligné les livres de points db que Andi je suis orthographié en attente de clarté. Donc, et j'en ai encore un autre parce que je n'ai pas mis un évier droit. Donc, vous vous souvenez toujours que vous attend et un évier. Donc soulignent les livres de points db ancrés sur. Alors on dit Adah, tu t'enfonces. Ensuite, je suis passé en entité, et puis je ah, blé ou désolé, je reviens et puis attend les résultats de la fonction save. Bon, donc je vais juste copier cette partie parce que je sais que c'est vraiment fait dans toutes les fonctions. Certains ajuster une copie et le coller dans toutes les fonctions applicables. Eh bien, vraiment. Mettre à jour et supprimer. Donc, nous le faisons rapidement. Alors laisse-moi revenir à ce que je fais. Donc, dans la suppression, nous voulons dire soulignement d b livres point pas supprimer sur. Ensuite, nous supprimons l'entité. D' accord, on revient. Maintenant. Nous économiserions sur et hors cours, vous avez besoin d'un évier sur la fonction. Laisse-moi passer et chanter partout. Aussi, juste pour être sûr que je ne l'oublie pas, vrai. Bon, maintenant on peut continuer, donc non, on veut trouver tous les livres. Trouver tous les livres est assez simple. On a juste besoin de dire « Attendez ». Soulignement, db point Books points à la liste est couler et cela va obtenir tous les livres et hors cours j'ai besoin de retourner cela. Donc j'ai besoin de retour des orteils maintenant. Je pourrais l'écrire comme ça. Je pourrais l'écrire en une ligne, bien sûr, mais j'aime être un peu plus cohérent. Donc, je pense que dans l'auteur l'a effectivement écrit où j'ai déclaré une variable. Cependant, validez simplement cela. Oui, je l'ai fait. J' ai dit, variable Vier est égale à cela. Donc je vais faire la même chose ici, pour que ça marche. Mais j'aime être cohérent pour que mon tribunal soit cohérent en tout temps. Donc, je vais sauver des livres de fer est égal orteil le résultat sur que je retourne des livres. D' accord. Même chose pour trouver par idéal. suffit de copier cela vraiment, parce que c'est très similaire accord quelqu'un pour sauver notre livre sur le livre de retour. Mais alors, dans cette situation, je fais, euh, livres dot trouver un évier et puis je passe dans le paramètre I d la valeur I D et il existe serait quelque chose comme ça une fois de plus. Quoi ? Je commence juste celui-là le manuel est allumé. Sauvegardez. Ire existe. Est égal orteil un poids sur le score. DB ancré livres points sur. Alors je vais te dire si je sais que ça va être un peu plus facile, d' accord ? Et puis mon expression de bois pour voir Est-ce qu'il y a un livre avec la propriété ? I d. Que beaucoup Est-ce que la dévaluation i vient par cet appel de fonction Et puis je suis allé retourner son existence Tout droit, sur, sur, puis dernier Mais en aucun cas, nous avons des mises à jour allaient dire soulignement points BB Books , pas sur étaient le jeûne dans l'entité maintenant une Onda mystique commune. Eh bien, je vais dire que j'y croise. Je ne vais pas faire croire qu'ils sont, tu sais, d'autres personnes là-bas, on ne croise pas ou que je ne le fais pas. Mais parfois, il est facile d'oublier quel dépôt dans et une telle référence la mauvaise classe . Donc, assurez-vous juste que votre est dans la bonne classe ou la bonne propriété du contexte db d'application dans le bon référentiel. Je sais que j'ai mis en place le dépôt et le contrat. Je vais juste passer au démarrage et m'assurer que la représentation du contrat et du service est sur moi. Donc, je vais juste m'assurer que j'ai mon dépôt de livres ainsi que la classe concrète , qui est le dépôt de livres sur. Une fois cela fait, nous pouvons faire une construction juste pour nous assurer que nous n'avons rien introduit pour briser notre cordon sur nos bâtiments. Réussite. Donc, pour non, nous avons mis en place ou référentiel sur le service avec succès. 24. Livs : contrôleur de configuration: Bienvenue, les gars. Et cette leçon, nous allons mettre en place le contrôleur du FBI pour nos livres, donc je vais juste y aller et cliquer sur contrôleurs Click. Ajouter le contrôleur Goto sur. Ensuite, je veux un contrôleur AP I vide sur. Alors on va l'appeler un livre. Des livres. Désolé. Contrôle le contrôleur des livres. Maintenant, rappelez-vous, car notre orteil de manette a une fonctionnalité, ou est-ce qu'ils interagissent avec notre logique ? Jusqu' à présent, nous devions l'avoir. Donc, cela signifie que nous devons nous assurer que nous injectons notre dépendance est juste. Donc, nous avons besoin de dépendance est pour le dépôt sur Basé sur ce que nous avons vu et le contrôleur des auteurs , nous avons réellement besoin de dépendance est pour le service de journalisation et aussi pour la cartographie afin que nous puissions suivre de même. Et je veux juste copier tout cela au lieu d'essayer de le taper manuellement. Donc je vais juste copier tout ça du contrôleur de l'auteur. C' est la première fois que tu regardes cette vidéo. Tu n'es pas si familier. Vous pouvez prendre le temps vidéo positive quand j'ai fini de prendre soin de ces erreurs. Je reproduis juste ce que j'ai ici, mais j'ai besoin de notre présentation hors de mon dépôt iBook, et je vais l'appeler sur la partition. Référentiel de livres non auteur. Référentiel. Andi, j'ai mon service plus long. J' ai besoin de mon je suis supérieur un peu vous utilisez l'automne supérieur sur hors cours. Nom hors du contrôle. Le constructeur doit être le même que les contrôleurs qui échangent que Andi change les références à l'auteur. Donc c'est à peu près tout ce que je dois faire au moins pour me lever et courir parce qu'à peu près ils sont les mêmes au niveau le plus basique. D' accord, donc c'est tout. Donc copier et coller juste fait une minute entière de saisie réduite à moins de 30 secondes . Donc, ce que nous venons de faire était de mettre en place une lecture privée sur les objets du dépôt iBook. Je service plus longtemps, et je suis supérieur puis mettre en place un constructeur où nous allons les initialiser. Nous acceptons donc un permis ou par objet privé que nous venons de déclarer. Ensuite, nous les initialisons à l'intérieur de ce constructeur. D' autres choses que nous pouvons aller de l'avant et faire serait d'inclure un résumé de ce const hors de ce contrôleur. Donc je verrais juste, euh interagit avec la table des livres. Très bien, Onda, si tu veux, on peut mettre ces annotations sur toutes les écoles de statut qui peuvent être retournées. Mais nous ne sommes pas encore sûrs de ce qu'ils sont. Quelqu' un pour laisser ça seul pour Non. En ce moment, nous avons fait des choses de base. Vous savez, le fait est que, au fur et à mesure, nous voulons dire que nous avons besoin d'une autre dépendance, c'est parce que peut-être nous allons mettre en œuvre quelques opérations de livres pour lesquelles nous avons besoin du dépôt de l'auteur, pas vrai. Donc, le fait est que pour chaque dépendance que nous avons, nous devons simplement en faire la représentation de la même façon que nous l'avons fait pour ceux-ci. Ensuite, nous aurons accès à toutes ces fonctionnalités à l'intérieur de la manette, mais pour non, c'est tout. Nous avons mis en place ou contrôleur pour les livres 25. Livres : Configurer des points Setup: Hé, les gars, bienvenue dans cette leçon. Nous allons commencer à configurer nos points de terminaison get pour nos livres, quelqu'un pour commencer par mon annotation, laissant tout le monde savoir qu'il s'agit d'une opération http get sur laquelle je suis sur le point de commencer à écrire là-bas maintenant déclarer qu'il est public un puits , en retournant mes résultats d'action. Et nous appelons celui-ci. Enfilez les livres. Il ne faut pas de paramètres car tout ce que nous faisons est de récupérer tous les livres possibles. Donc, bien sûr, cette opération va être relativement simple. Nous commençons par plus, essayons les chats ou essayons top tub sur catch on. Eh bien, jusqu'à présent, notre contrôleur des auteurs, ce que nous avons fait c'est que nous avons mis en place une fonction qui serait appelée chaque fois qu'il y avait une erreur. Donc nous allons répliquer ça. Donc je vais juste aller voir le contrôleur de l'auteur, emprunter ce morceau hors cour, le mettre aux dernières parties de la page, quelqu'un qui soutient cela parce que vraiment et vraiment, est la même chose que nous allons être faire sur tous les contrôleurs. C' est notre standard, non ? Donc je vais vraiment le mettre là, Andi. Ensuite, je vais m'assurer que je veux dire cet appel dans la section des exceptions. Donc quand j'attrape, je veux appeler erreur interne, alors je veux passer e. C'est un message, non ? Non, il y a autre chose que je voulais avec l'exploitation forestière, mais je vais laisser ça jusqu'à la fin. Alors continuons à l'intérieur du bloc try. Je vais sauver Ire Books est égal orteil soulignement db Désolé. Pas DD, mais le référentiel de livre dot find. Bon, donc je trouve tous les livres sur. Alors je vais revenir d'accord avec l'objet de livres, non ? Mais bien sûr, je dois faire notre cartographie entre les deux, donc je suis juste que je me précipite ici. Donc entre avoir les livres et retourner ce que je devrais faire, je suis avec jiggle les livres juste là sur je devrais sauver. Notre réponse est égale au score de mes points supérieurs, oreillons. Et puis je suis en train d'augmenter mon Je vais cartographier deux sur ma liste hors des droits du livre B T o. Rappelez-vous notre DT toujours vraiment ce que nous donnons à l'utilisateur ou à l'appelant Plutôt le client sur puis I Ma source est livres, donc je m'attends à une liste de livres sur. Ensuite, je le mappe en vadrouille dans le livre DT. Ou Et je viens d'inclure ce qui doit être inclus sur alors c'est ce que je renvoie avec mon ok, Cette réponse, d' accord, accord, sur la finale est un synchrone. Ils voient cette ligne rouge qui dit que, vous savez, je n'ai pas de fonction asynchrone, mais je ne fais rien de logiciel asynchrone. Donc je dois dire, attendez juste là. D' accord. J' ai également modifié la flèche interne parce que ce que j'aime faire est cohérent. Donc, je vais juste référencer les auteurs contrôlent et voir un que j'ai passé dans le message sur l'exception interne. Donc, je me suis assuré de transmettre ce même type de message hors ancien de sorte que mes journaux sur tous les points de terminaison semblent à peu près les mêmes. Donc, mais dans ça, une autre chose, non, ils vont tous à une période de l'apparence. Donc, si cela doit être enregistré la même chose à chaque fois, comme dans il y a un 500 une fille de obtenir des livres sur, il y a un 500 sont d'Aero de obtenir des auteurs en regardant le journal, je ne saurais jamais vraiment lequel hors d'eux champ droit sauf si le message l' indique explicitement, vous savez que cela s'est produit lorsque ce type d'opération a été tenté. Je ne saurais jamais vraiment de quelle action ou contrôle de la région est aimée. Alors ce que je veux vous présenter, n'est-ce pas ? Non, est une autre fonction où je vais obtenir l'action du contrôleur sur le nom du contrôleur sur cela. Je vais utiliser ces orteils, déterminer ce qu'il faut ajouter à la chaîne de journal afin que nous puissions regarder le journal et savoir exactement quel contrôleur en action aurait déclenché ce journal. Donc une fonction simple séparatiste. Je vais juste dire chaîne privée sur. Je vais l'appeler Get on les noms de Troller Axon, pas vrai ? Andi ne prend pas de paramètres. Alors ce que je vais faire, c'est sauver Ire. Le contrôleur est égal au contexte du contrôleur. Des points sur. Je pense que je devrais peut-être inclure quelque chose ici quelque part. Je vais inclure comme je vais le long parce que ça aide vraiment. J' ai parlé de contrôle en fait. Donc le contexte du contrôleur. Très bien, là, nous contrôlerons le descripteur d'action de point de contexte pas Et puis vous avez en fait beaucoup de noms de contrôle. Je prends le contrôleur. Droit. Donc j'ai le nom du contrôleur et je vais dupliquer ce terrain. Alors ne remonte pas le genre. Qu' en est-il de cela à nouveau sur je vais dire le nom d'action sur la variable est appelé Action sur. Alors ce que je vais retourner est, euh, chaîne formatée. Certains veulent juste utiliser mon dollar san guillemets sur. Ensuite, je transmets la valeur de la variable de contrôleur sur. Ensuite, je vais dire bœufs de tiret, valeur variable. Donc ce que ça va faire, c'est quand on l'appellera, ça va dire OK, quelle action ? Quel contrôleur sur l'action fait cet appel. Nous pouvons utiliser ces informations, remorquer un stylo Taurel afin que nous puissions regarder le journal et savoir exactement de quel contrôleur et action, l'erreur ou l'entrée pour l'avertissement vient. Laisse-moi le faire rapidement avec le livre get. Donc je vais dire, une fois que les livres seront appelés, je vais sauver notre Ah, c'est un endroit. Donc emplacement qui signifie que c'est là où il est. Je vais obtenir des noms d'action du contrôleur et stocker à l'intérieur de l'emplacement. Droit ? Donc, quand je suis revenu avec l'amour, je vais pré-écrire tout autre message avec le texte venant de l'endroit. Droit. Et puis je vais dire cool à quelqu'un de dire emplacement. Très bien, donc l'emplacement est le contrôleur. Andi, j'ai parlé terriblement contrôleur. Permettez-moi de le faire rapidement. Poussette, non ? Laisse-moi juste m'assurer que ce chariot est partout d'accord ? Donc, je reçois les noms réels du contrôleur, le stockant dans l'emplacement. C' est une fois que ça frappe pour avoir des livres. Alors chaque fois que nous allons nous connecter à l'avenir, nous allons préparer la fin de quoi que ce soit. Tout message que nous mettons avec l'emplacement vient de sorte que nous pouvons revenir sur le faire dans le contrôleur de l'auteur plus tard. Mais en ce moment, on se concentre sur les livres. Laissez-moi juste ajouter quelques informations. Aime notre propre Ce qui se passe quand on frappe pour avoir des livres, en fait. D' accord, donc j'ai ajouté des lignes d'orteils dans les journaux de flux juste ici dans la ligne 38 allongée 41 sur DSO Ce que j'ai fait, je viens d'avoir l'emplacement comme on l'a fait pour Internet. Flèche sur. Je l'ai juste ajouté à quelque chose pour dire des tentatives d'appels. Donc, au lieu d'essayer d'écrire une phrase comme je l'ai fait pour les auteurs pour les Longs pour les auteurs, où j'ai dû voir essayé, obtenir tous les auteurs et obtenir avec succès tous les auteurs à la place, je dis juste que vous appeler le contrôleur Livres et action Obtenir des livres. Andi. C' est une tentative qui appelle. Ensuite, si cela a été réussi, je dis juste que le même endroit a été couronné de succès. Donc, pour moi, cela réduit le montant hors détail après avoir mis et non, mon échelle d'amour plus cohérente parce que j'écris ces phrases. A moi, tu l'écris de cette façon. Non. Un. Ensuite, écrivez-le différemment dans ce fichier journal. Et vous savez que ce n'est pas cohérent dans l'ensemble. Donc c'est juste un petit orteil supplémentaire ce que nous faisons ici. Comme je l'ai dit plus tard, nous allons revenir en arrière et nous pouvons juste nous former. La section des auteurs a confirmé que le contrôleur des auteurs était à la hauteur de cette norme, n'est-ce pas ? Donc on a tous les livres. D' autres choses que je voudrais inclure seraient nos types de réponses, qui sont 205 100 et hors cours ou résumé pour indiquer obtenir tous les livres. Bon, donc c'est tout pour le get all ou les get books. Le prochain que je voudrais, c'est le livre get de I D. Ok, donc je vais aller en dessous de celui-ci. C' est toujours un http, obtenez donc je dois répéter ça. Sauf que ce get est un peu différent car il prend un paramètre. Alors s'il vous plaît n'oubliez pas cette partie. Ensuite, on voit que j'ai commencé. Ensuite, vous pouvez qualifier davantage les types de données de périmètre. Je peux dire quelque chose comme j'appellerais int afin que la documentation indique spécifiquement qu'il attend une entrevue au lieu de s'habiller. Il s'attend à une idée. Donc je laisse ça comme ça et on verra si ça fait une différence matérielle. Quand nous regardons la documentation, je vais juste copier ces types de réponse ici et coller réellement comprendre pour copier tout dans ce téléphone montré sur la base parce que deux fonctions sont très similaires. Mais bien sûr, je vais changer le nom de quelqu'un pour voir obtenir un livre à la place. Obtenez des livres sur, alors c'est ce qui va prendre un paramètre int idee. On a déjà les emplacements. Je n'ai pas besoin de refaire ça. Et puis je suis entraînée opération où je peux voir une tentative d'appel pour I D sur D. Je vais juste dire ce que j'ai essayé. D' accord ? Donc je veux dire, ça peut devenir grand, mais alors, je veux dire, on sait déjà où est l'appel pour cette idée. Donc nous savons que c'est une tentative d'appel pour le livre de get avec l' I.D. I.D. Donc il est facile de déduire que nous essayons d'obtenir ce livre avec ce que je dirige. Ah, ce qu'on fait ici, je vais juste changer de chœur. Donc le livre Vier est égal à livre dépôt ancré trouver par D On passe dans le paramètre I d aan den. La réponse sera une cartographie du livre GTO, pas une liste. Donc, je fais juste quelques ajustements mineurs ici au lieu d'écrire toute la cour à nouveau à partir de zéro, puis a obtenu un enregistrement avec succès avec je D alors. Très bien, c'est tous mes journaux pour être clair. C' est tout. Ensuite, nous avons retourné la réponse. Personne ne vérifie que je vais vous présenter. Voici la vérification pour voir si le résultat du livre est équivalent et nul. Alors si c'est le cas, alors je vais orteil droit. Ah, l'amour sur ce Quelqu'un à aimer l'avertissement depuis le début de la journalisation informée est allé à la traîne avertir Onda euh, a échoué à récupérer l'enregistrement pour I. D. écrit. Donc je veux dire « champ », orteil récupérer ». Donc tu vois, c'est de ça que je parle. Je l'ai écrit dans un sens. Les auteurs écrivent. J' ai dit dans les auteurs aussi avec ce n'a pas été appelé ici, je écris chirurgie sur le terrain, donc c'est que je vois. Lorsque vous écrivez des phrases, vous avez tendance à devenir très pointu et ensuite vous obtenez plus de points parce que vous avez grandi dans le domaine et donc vous êtes amants va regarder incohérent à travers ce que vos bâtiments ils veulent qu'ils soient cohérents sur. Je vais écrire le format ici, puis on va passer le camion au contrôleur de l'auteur et tout changer jusqu'à ce qu'on fasse la journalisation. Alors sentez à récupérer l'enregistrement avec I d Andi I de Colon. Tout droit sur. Alors , bien sûr, nous allons revenir. On ne m'appelle pas. Donc, nous n'avons pas trouvé cet enregistrement C'est un 44 et nous avons enregistré ce champ de récupération. D' accord, donc on a nos livres sur. Nous avons notre livre get, donc je suis juste méditer cela pour un petit test ou avec la validation que le désir fait vraiment une différence aussi bien, il n'y a pas de livres en ce moment, donc nous voulons juste nous assurer que nous trouver la bonne école de réponse. Donc je vais aller au débogage en test avec Postman, accord ? J' ai dit que j'allais tester le facteur, mais je vais juste utiliser Swagger, donc je vais juste étendre ça. Ensuite, je vais dire, essayez tote et puis exécutez. Alors je reçois ma réponse 200. Bon, pour qu'on puisse voir qu'on va bien, il n'y a pas de livres dans la base de données. Je reçois la réponse 200 et laissez-moi juste essayer de ne pas avec le paramètre pour obtenir riche livre avec le paramètre quelqu'un à dire, Essayez crapauds sur. Ensuite, j'ai mis dans un I d. valeur sur un. Cliquez ensuite sur Exécute. Apparemment, rien n'était le téléphone. Donc on en a quatre ou quatre. C' est donc prévu. Mais ce que je veux vraiment faire attention, c'est que les journaux sur le même fichier bloc auraient la fois l'auteur travailler sur les travailleurs du livre. Je fais les deux dans la même journée. Mais ce qui se passe, c'est que vous avez remarqué que lorsque vous regardez l'afflux de livres, vous pouvez voir que ce sont les livres, obtenir des livres, action et tentative de cause réussie par rapport à cela. Vous voulez dire qu'il a été tenté pour cela et n'a pas réussi à récupérer. Mais c'est juste un avertissement parce qu'un échec à récupérer un enregistrement qui ne pense pas que ce n'est pas une flèche, mais nous mettons juste un avertissement, juste au cas où. C' est une source de préoccupation, non ? Donc, vous pouvez voir ici où il semble un peu plus de structure parce que vous pouvez dire au contrôleur que vous pouvez dire l'action sur. Ensuite, nous pouvons avoir des messages standardisés en fonction de la partie de la fonction ou fonctionnalité est accessible par rapport au trou. Nous le faisions au départ là où c'était juste, vous savez, gratuit, gratuit pour tout texte. Donc la dernière chose que je vais faire pour cela est au résumé sur je vais dire obtient un livre par I D. Sur le nom de Haram je laisse ça seul et les retours sont enregistrement de livre sur. Je ne crois pas que j'ai mis les retours sur celui-ci au moins hors livres, et c'est à peu près tout pour s'asseoir les actions get pour notre contrôleur de livre. Donc ce que je vais faire, c'est hors caméra. Je reviendrai au contrôleur de l'auteur, puis je réviserai. Donc nous faisons la journalisation et que nous pouvons le parcourir ensemble et la prochaine vidéo, mais c'est tout pour l'instant. 26. Livres : Configuration CREATE Endpoint: vous êtes heureux de revenir dans cette leçon, nous allons mettre en place pour créer un point de terminaison pour nos livres. Mais avant d'y arriver, je veux juste qu'on passe en revue notre contrôleur des auteurs et qu'on vous montre quelques modifications. L' heure, la viande. Donc, la dernière fois que nous avons discuté de rendre la journalisation un peu plus cohérente. Donc, ce que j'ai fait était d'introduire une fonction qui retournera le nom du contrôleur et le nom de l'action qui est actuellement active sont en cours d'interaction avec au retour ce flux de composant hors de l'action de tableau de bord du contrôleur a besoin directement sur dso. Ce que nous utilisons cela pour faire est de passer dans notre journalisation afin qu'au lieu de faire cliquetis phrases complètes ou d'être trop détaillé, nous puissions avoir un peu plus de cohérence à travers tout avec un peu plus de simplicité, non ? Donc, je fais juste semblant que le message, chaque message, avec l'emplacement étant le contrôleur, action de tiret sur le message qui devrait être passé. Donc, je l'ai fait dans l'obtenir auteurs sur. Je l'ai fait dans l'auteur get, et je me suis également assuré de le faire à travers toute l'erreur interne. Hum, téléphone montrant des appels. Non, je ne l'ai pas fait à travers les autres. Parce que lorsque nous allons avec le contrôleur des livres, nous établirons la nouvelle norme. Et comme vous l'avez dit, la nouvelle norme dans le contrôle des livres sont juste backtrack et assurez-vous que le contrôleur des auteurs sorte de suivre costume. Donc, dans notre contrôleur de livres, j'ai déjà pris la liberté d'écrire les actions. Ils peuvent mettre en pause la vidéo et l'écrire Donateur peut essayer de vous-même. J' ai donc une tâche de casing publique sur les résultats d'action. Ça s'appelle Create Onda. Nous avons notre paramètre qui est notre corps à partir d'une notation sur nous prenons, um sur objet hors type livre crée D pour savoir que la ligne rouge est là parce que je n'ai pas créé le détail afin que nous puissions le faire ensemble. Donc je vais juste copier ça. Allez par-dessus mon livre bto dossier sur. Eh bien, je vais juste copier l'objet GTO du livre sur la base. C' est en dessous. Quoi ? Je vais l'appeler livre créer des détails sur et ce que nous n'avons pas besoin là-dedans serait des idées. Je n'ai pas besoin de créer le livre avec l' I.D. I.D Tu seras gentil si on peut le créer avec l'auteur. Donc, je vais prendre tout l'objet pour le détail de l'auteur. Mais ce dont j'ai vraiment besoin, c'est l'auteur que j'ai sur. Je vais rendre celui-ci inconnaissable, mais il est très nécessaire parce que je ne veux aucun livre dans mon système qui n'est pas associé à un auteur, est-ce pas ? Donc, je suis allé à moi, le aussi j'ai demandé. Très bien, sur toutes les choses qui vont être nécessaires inclure le titre. Je n'ai pas besoin de l'année. C' est ça. Il n'est pas nécessaire que la glace soit inscrite sur le sommaire pour le résumé. Mais ce que je vais dire est que je suis prêt à accepter un maximum de 500 caractères, certains mettant sur l'annotation, pour voir que la longueur de la chaîne peut être jusqu'à 500 hors cours. Si vous voulez mettre sur cette validation, vous devez vérifier avec la bête de données parce que rappelez-vous, nous avons fait cette base de données d'abord. Ils doivent s'assurer que la validation de votre application ici ne viole pas les contraintes dans le rythme de données réel. Donc, si la base de données ainsi dit Inde mars sont 50, alors vous voulez vous assurer que votre lien de chaîne adhère à cela. Donc je pense que pour résumer, j'avais mis environ pneus marques, donc nous allons le laisser à 500. Donc, même si les bases de données marques, je boxe des adultes à 500 du côté client, droite, je ne fais pas l'image requise. Et je ne fais pas le prix requis non plus. Non, ce qui se passe est que si j'avais inclus le DT ou dans l'auteur GTO, objet ou propriété ou autre dans le livre créer des détails, alors j'aurais donné à la personne la possibilité de remplir d'autres détails qui pourraient ne pas nécessairement avoir des haricots précis. Donc une fois de plus, le détail nous aide encore à s'amouler. Venez contrôler quoi ? Nous avons permis aux clients d'entrer dans notre système. Droit ? Donc, j'ai Mike livre créer GTO créé sur DSO. Cet air disparaît savoir qu'il voit que cette classe existe maintenant notre création à partir d'un livre va toujours commencer avec nous obtenir l'emplacement. Donc on a l'emplacement. Nous savons que nous savons où nous sommes. Nous savons pourquoi nous avons trouvé la bonne localisation ? Ensuite, c'est notre prise d'essai. Donc, je vais essayer, puis attraper l'exception. Appelez E. Je vais vraiment copier cette ligne parce qu'elle est déjà là. Très bien, donc c'est pris en charge, au moins pour la manutention de l'air. Toute exception, ne va pas orteil ajouter allié dans le remorquage. L' enregistreur avec une autre ligne hors cour qui va enregistrer cette opération de création a été tenté. Donc je dis emplacement, Colon, créer une tentative juste sur. Ensuite, je vais continuer où je vais dire, si l'objet est non, alors je veux orteil enregistrer un avertissement. Donc, je vais adorer avertissement de voir que dans cet endroit et Inter Quest a été soumis sur retourné la quête de pâte avec l'état du modèle. Ma prochaine vérification est que si l'état du modèle est la violence, rappelez-vous, nous allons juste mettre dans l'orteil des notations de la tour, valider les données qui arrivent. Donc, je veux dire, si l'état du modèle n'est pas valide, alors nous voulons un avertissement lager pour dire que les données étaient incomplètes au retour de la demande avec l'état du modèle. Donc, fur et à mesure que vous construisez AP, je ne réalise pas que les opérations de base ressembleront de la même manière à travers les différentes entités ou les différents contrôleurs par rapport à chaque entité. Bien sûr, Si vous faites des opérations spécialisées comme le calcul de choses entre les deux, alors cela peut différer. Mais essentiellement, nous voulons nous assurer que nous effectuons les mêmes types de contrôles en cours de route, car chacun peut être affecté par ces contrôles au cas par cas. Il se peut que vous ayez des contrôles spécifiques à l'opération en cours. Si on passe ces deux-là. Si les déclarations que l'hypothèse est que l'objet livre est dans un état valide, donc je veux faire est de l'insérer afin que nous sauverons Notre livre est égal à sur. Ce que je dois faire est de mapper à partir de l'objet d t o. Donc ma par carte de point sur mon orteil de mappage de moppet. Le livre Objects off type sur ma source est le livre E T. O. Donc, je ne suis pas dire Donnez-moi quel livre sur le détail du livre ayant commun sur créer un objet hors type livre sur puis une fois que j'ai cet objet sur ce qu'il faut enregistrer, notre est si sess est égal orteil, attendez un appel à mon dépôt de livre où je vais appeler ma fonction de création sur le passé dans ce livre. Ensuite, je dois vérifier si c'est réussi. Donc, si ce n'est pas le succès, alors que dois-je faire ? Je vais appeler mon erreur interne et dire qu'à cet endroit, le champ de création. Donc c'est si ça n'a pas réussi. Sinon, je vais juste mettre un retour final sur que je vais retourner créé ainsi qu'une charge utile contenant la date à laquelle je viens d'être créé. Donc, je dois dire, Êtes-vous une première, ce qui serait la même création à droite sur. Alors l'objet serait nouveau sur eux en passant dans un livre, accord ? Et c'est ce qui vient d'être créé pour que nous puissions voir ici si bien, nous avons rempli tous pour le pire des cas dans notre zalis que nous connaissons sur. Nous essayons de nous connecter autant que possible. Non, j'ai un peu changé le format des amours. Donc ce que j'ai dit que je ferais avec le contrôle de l'auteur. Je vais revenir en arrière. Donc, je veux prendre cette première ligne et m'assurer que la première fois que mes auteurs contrôlent ça ressemble à la même façon, non ? Donc emplacement créé, tenté sur. Alors, si c'est vide, je vais dire l'emplacement. Donc, la demande vide soumise. Ce n'est pas si mal. Je ne voulais pas changer beaucoup. Nous aimons l'avertissement pour les données incomplètes, certains s'assurant juste qu'aux mêmes points de chaque contrôleur, les journaux seront le verbe il hors des journaux sera à peu près moins. Voir à droite qu'en plus d'un essai d'un côté, Andi le jour deux mots de l'autre côté. Une fois de plus, la cohérence est essentielle. Puis, enfin, je n'ai pas mis notre plus longue qui est dans pour la connexion pour Désolé, je suis attaque. C' est fini sur un bûcheron carré Docteur Logue en quatre pour dire ça à l'endroit. Donc on fait juste cet endroit. Deux points sur. Tu vois, c'est que le Shun cri a réussi. Et puis, si vous voulez, vous pouvez même inclure l'objet là pour voir que cet auteur a été créé à ce moment-là, est-ce pas ? Donc c'est bon pour l'exploitation forestière. Aussi, peut-être que vous voulez enregistrer Ah, une deuxième ligne pour voir les objets créés pour que je puisse simplement passer dans un livre. Voyons si ça marche. Peut-être qu'on va nous montrer tous les détails du livre. Peut-être avec votre spectacle et sur la ligne d'objet dans l'amour, mais nous verrons donc je peux essayer cela plus. Et les auteurs aussi sur. Assurez-vous juste que je normalise cette ligne aussi. D' accord, je sais qu'ici serait l'auteur, pas l'effraction. Ou peut-être que je devrais rester sur ce terrain jusqu'à ce que j'ai validé avec le livre. Bon, donc maintenant que j'en ai fini avec le tribunal pour créer des lettres validées, je vais dans le bateau amarré. En fait, n'allez pas dans le débogage plus juste pour l'instant. Nous avons laissé un tas de choses. Donc, un que je n'ai pas mis mon verbe, qui est http post et c'est fini. La création, non ? Aussi besoin d'orteil. Eh bien, je n'en ai pas besoin, mais c'est bon d'inclure ces codes de retour en même temps. Donc je vais juste copier un existant. Donc je sais que je rentre. Pas un 200 ici, mais je commence un tabouret qui est créé, non ? Je fais également une flèche de serveur interne sur. Je fais aussi de mauvaises demandes, alors laissez-moi juste m'assurer que j'ai une représentation sur ces 400 mais demandes. D' accord, Andi, je pense que c'est tout. Peut-être que pendant que je suis ici, je peux juste mettre sur mon résumé, mais je pense que j'en ai fini avec cette fonction, alors créez Ah, nouveaux sont créés. Désolé. Un nouveau livre, juste sur git revient. Eh bien, rien. Donc nos objets de livre. Bon, donc, non, on peut aller démystifier avec plus de confiance. Laissez-nous tester ça dans Facteur. Bon, donc je suis en mode débogage, ai toute ma documentation, et ils me montrent un échantillon de la charge utile qui doit être passé avec ce sport. Je vais juste copier cet échantillon sur l'orteil facteur déjà commencé une nouvelle baignoire. J' ai les livres de barre oblique du FBI. Je l'ai en poste. C' est un outil de corps brut. Ensuite, changez ça en jae sun on, puis découpé. Donc, non, je dois remplir ça. Donc c'est mon premier plein sur l'année que voir, l'année était 2000 et 10 glace étant Cela est généralement comme un numéro d'identification unique. Je mets juste un numéro aléatoire là. Résumé, je vais laisser ce vide. Um, l'image laissant ce vide aussi, ce n'était pas nécessaire. Donc l'image serait vraiment un chemin vers l'image. Au cas où tu te demanderais que tu sois probablement déçu que je ne sois pas un homme. C' est vraiment un chemin vers l'image. Donc, ce que je ne veux pas faire est de laisser l'AP et de faire le travail de télécharger l'image et faire la conversation sur. Plutôt, je préférerais que les clients qui consomment mon bébé, j'aurais une charge de téléchargement sur un serveur,à serveur, droite, parce que je ne vais pas stocker cette image sur mon serveur. Mais vous avez téléchargé sur votre serveur sur. Ensuite, vous m'envoyez le chemin, accord, mais quand nous le faisons, le client utilisera probablement un CD, et de toute façon, donc nous allons le télécharger sur un service Cdn et ensuite le stocker le chemin vers l'image à l'intérieur de ce champ, n'est-ce pas ? Donc on peut aller de l'avant et je mets le prix à 10$. Laissons l'idée de l'auteur à zéro. Donc je sais que cela va échouer, et c'est valider que vous allez échouer parce que l'auteur, je d. Vous me donnerez probablement sur ah, 500 erreurs. Alors essayons. Donc, quand je clique sur envoyer tout droit. Donc, comme je pensais qu'on avait ah, 500 erreurs sur Si je jette un coup d'oeil dans le fichier d'amour, je verrai qu'il dit, Oh, ma cartographie. Donc, je n'ai pas balai. Mon livre crée des détails. Laisse-moi sortir du bateau amarré qui a juste repéré un peu de plaisir il y a un moment et je m'arrête . Laisse-moi sortir du bateau amarré qui a juste repéré un peu de plaisir il y a un moment et je m'arrête Donc cette partie me tient toujours. Et je suis contente que tu vois que ça m'attrape parce que nous sommes tous humains. Donc, si ça vous arrive, alors ne vous sentez pas. Bref, si tu ne t'as pas eu, alors Super. Donc, nous voulons juste nous assurer que nous avons notre mappage, donc peu importe ce que le mappage faisait dans l'application, nous devons nous assurer que vous avez une configuration. Alors repassons à travers ça. Bon, alors essayons encore ça. Donc, je clique sur envoyer, donne-lui un peu de temps. D' accord ? Donc nous avons 500 autres voyons la raison de ces 500 morts. Rechargez simplement le fichier d'amour. Donc non, on voit Ah, gentil. Long, un beau, long, euh, message d' exception. Donc, nous pouvons voir ici que dans quatre livres créer, créer, créer, essayé et puis nous voyons les livres de l'époque créer sur l'air a eu lieu pendant qu'ils ont dit que. Si longue histoire, courte distance, disant que je fais référence à l'auteur Cela n'existe pas parce que j'ai dit zéro. Donc quand je mets cela l'auteur aussi, je crois et j'ai encore mes auteurs demander ici. Donc, je sais que j'ai gagné l'auteur avec le i d à Donc je vais juste dire que ce livre a été écrit par un k sur. Ensuite, je vais cliquer, envoyer sur nous obtenons un deux un un créé à sur Donc nous voyons que l'objet livre est revenu sur désassocié avec l'auteur aussi. Donc le truc cool ici, c'est que bien, laisse-moi voir si ça va vraiment travailler les orteils. Je pense que je devrais peut-être faire quelque chose au dépôt pour que cela fonctionne. Mais essentiellement, quand on arrive sur l'auteur, ils voient cette liste de livres. La liste des livres devrait suivre. Permettez-moi donc d'avoir cet auteur spécifique, qui est l'auteur aussi. Andi tick envoie. D' accord. Donc, je n'ai pas besoin de modifier mon dépôt un peu orteil inclure la liste des livres, parce que essentiellement, ce que cela signifie est que lorsque vous obtenez l'auteur, vous devriez également obtenir la liste des livres qu'il ou elle a dans leur répertoire ou ils sont liés orteil dans la base de données. Donc nous venons de créer Ah, livre qui a été écrit par l'auteur avec I D à Silas. Ce livre devrait figurer sous ce répertoire des auteurs, mais nous le ferons plus tard. Ce n'est pas de soucis pour non, nous sommes juste heureux sur étaient satisfaits Que ou livre est en cours de création maintenant si je viole la validation. Donc, je ne vais pas soumettre de titre et je suis allé essayer à nouveau. Ensuite, vous voyez que nous recevons la mauvaise requête 400 avec notre erreur d'état du modèle. Donc je pense que cela résume pour notre opération de création et juste mettre à jour l'amour. Donc je vais vous présenter notre petit qui évite automatiquement le fichier d'amour . Donc, aucune pièce plus colis toujours vous demander ou vous faire savoir qu'il a changé la lumière un peu quand introduire à un autre outil qui montre juste que vous aimez courir traînée hors de la graisse de journal et c'est vraiment cool. Je Une chose cool à propos de swagger que je n'ai peut-être pas mentionné est que si vous regardez vers le bas les schémas où ils vous montrent les détails, ils vous donnent le reste. Astérisque rouge à côté de ceux que pour vous, le développeur aurait marqué comme requis. Nous avons donc dit que le titre était requis. glace est requise sur l'auteur Addie requis. Donc, cela signifie que quiconque soumettant un livre aurait pu ainsi omis sur l'objet ou une chaîne Jason avec seulement le titre SBM sur sa fille Addy et aurait correspondu à ceux et créé le livre avec succès. Droit ? Donc c'est tout gentil et propre soldat fait la documentation sur qui résume pour la création off. 27. Livs : Mise à jour du point d'accueil: Bienvenue, les gars. Dans cette vidéo, nous allons explorer la configuration de nos huit fonctionnalités pour nos livres. Non, je suis déjà allé de l'avant et j'ai fait quelques choses et vous pouvez mettre la vidéo en pause au moment opportun et la copier. Mais je vais vous expliquer ce que j'ai déjà fait sur la première chose que j'ai faite était créer un détail de mise à jour. Donc, la mise à jour 82 doit avoir le i. d. parce que nous devons suivre l'idée de l'enregistrement en cours de mise à jour sur Gueye Aussi pour appeler quelques-unes des choses. Alors j'ai sorti, je suis bien. Donc je ne veux pas que quelqu'un revienne et change l'être parce que c'est un numéro de référence unique . Tu l'as mis dedans, ça reste juste ? Um, c'est plus facile. Ils ont enlevé le livre sur recréé avec un chariot de glace étant que les suif pour changer l' être de glace , C'est et c'est juste moi. Donc, une fois de plus, vous formez vos données en fonction des exigences commerciales de l'application que vous construisez. Donc, je ne veux pas que quelqu'un vienne changer l'est de ne pas avoir de livres. Je ne l'ai pas inclus dans l'opiacé GTO. Andi, j'ai aussi retiré la propriété de l'auteur l' de ce détail de mise à jour. Parce que je ne veux pas que quelqu'un vienne par la suite pour changer l'auteur du livre comme ça. Donc, une fois de plus, vous avez le contrôle total de ce que n'importe quel client est capable de faire à vos données en utilisant les objets de transfert de données. Après avoir créé cet objet de transfert de données Une fois de plus, vous pouvez suspendre la vidéo et l'écrire ou la copier. On est allés à la cartographie. Nous nous sommes assurés de créer la configuration de mappage ont été capturés dans le passé où nous avons tenté l'opération. viens de réaliser que nous ne nous souvenions pas de mettre dans la cartographie, donc je me suis assuré de le faire cette fois dans le contrôleur des livres. J' ai déjà écrit les actions. Je vais juste vous expliquer, mais vraiment et vraiment beaucoup de choses ressemblent à ce que nous avons fait chez l'auteur, n'est-ce  ? Nous avons notre annotation, http, mis sur. On prend l'i d sur D, en faisant savoir à tout le monde ce qu'il produit. Donc, il produit des types de réponse. Outil 4 405 100 pour les internes servant erreur sur. Ensuite, je vais de l'avant et définit ou fonctionne comme une tâche de fonction asynchrone. I résultats d'action. Le nom est un peu sur il prend un paramètre dans, mais il est aussi à la recherche d'une charge utile du livre de type body off de la GTO sur nous l'appelons livre GTO. Nous commençons par obtenir l'emplacement, et nous savons que nous le faisons pour que nous puissions suivre ce qui est, vous savez, vous savez, être appelé lors de notre ouverture de session. Alors nous essayons. Laisse-moi juste sauter aux parties de pêche où je fais le retour régulier. Erreur interne. Franchement, cette ligne est la même ligne dans toutes les autres actions prises cette copie et coller qui bateaux facilement pour la transaction. Nous faisons essentiellement les mêmes vérifications que dans la fonction de mise à jour pour notrecontrôleur d' auteurs,n' contrôleur d' auteurs, est-ce pas ? Donc je suis le premier à me déconnecter. J' ai changé le verbiage pour la journalisation, et nous allons revenir en arrière et faire la même chose dans le contrôleur de l'auteur. Mais on va travailler avec ça. Donc, nous avons plus sur étaient la journalisation que la mise à jour sur la mise à jour a été tentée sur enregistrement. I d i d onda. Nous connaissons l'emplacement et nous vérifions si l'idée est inférieure à un ou la charge utile est non ou si le I d dans le périmètre ne correspond pas à l'i d dans la charge utile alors nous dirons par la demande Onda, nous allons également adorer l'avertissement Cette mise à jour avec de mauvaises données i d idée de deux-points droit ? Nous allons aussi vérifier s'il existe. Donc, nous appelons Booker Posture pas existe en passant le i d et puis nous disons que si elle n' existe pas , alors nous allons adorer l'avertissement que nous nous sentons à récupérer enregistrement avec le i d. Sur nous revenons, pas de téléphone plus tard, nous continuons à vérifier l'état du modèle pour voir s'il est valide. Donc, bien sûr, nous avons certaines choses qui sont nécessaires dans l'opiacé que vous passez le plus dans le titre sur lequel vous êtes. Eh bien, il n'y a rien d'autre nécessaire, vraiment ? Donc, dans la mise à jour, vous pouvez nettoyer tout le reste où votre plus personne au moins un titre pour vous de procéder à la marche à suivre. Laisse-moi juste valider. Donc je pense dans le Créateur. Donc on avait besoin de titre sur les dés étant que je ne te laisse pas faire l'être de la glace. Donc, je ne vais pas exiger l'ESPN donc tout ce que j'ai besoin du titre parce que c'est tout ce qu'ils sont autorisés à changer. Donc, vous ne pouvez pas me soumettre un titre vide ou aucun titre du tout. D' accord. Ah, donc je vais continuer et dire Vier livre. Donc, s'il reçoit ce feu, alors je vais balader les objets de transfert de données à la classe de données, qui est livre, puis collectez-le et ensuite nous attendons le résultat hors de soumettre que la demande à la base de données si ce n'est pas un succès que nous retournons Ah, 500 erreur. Et j'ai envie que dans cet endroit, hors du champ, laissez-moi juste qualifier ce champ de mise à jour pour enregistrement avec des idées. Alors laissez-moi juste une broche que pour enregistrer avec I D i D. que vous sachiez, c'est plus précis où il a échoué sur. Ensuite, nous ouvrons une session. C' est un mandat. Devrait être une connexion pour le droit. Donc c'est un bon contrôle des orteils sur votre travail. Donc, je me connecte pour ça. L' enregistrement avec idee qui a été mis à jour avec succès sur je retourne un nouveau contenu. D' accord, donc encore une fois que j'ai traversé, vous auriez pu faire une pause sur Does off ou, vous savez, vous savez,être créé dans votre propre projet ce dont vous avez besoin. Mais je vais continuer. Je vais aller de l'avant et tester cette action. Quelqu' un va démystifier amarré. Je suis Indy. L' humeur et moi avons un facteur, quelqu'un à ouvrir. Un nouvel onglet pour mon nouveau test de fonction sur celui-ci va être mis sur les points de fin, qui est un p I slash livres Onda. Je suis le livre d'évitement avec le I d à je crois que c'est le seul livre peut-être que j'ai dans la base de données. Non, quoi ? Je vais l'abandonner ici est si flexible. La validation sur les objets de transfert de données rend les données de transport de pointe. Donc, j'ai dit que vous avez besoin de l'i d. une façon ou d'une autre, ça va vérifier contre les pièces d'identité à l'époque. La seule chose qui est vraiment, vraiment nécessaire pour qu'une mise à jour soit que je suis un carted off besoin d'être réussie est le titre, non ? Donc, si je regarde juste dans la documentation que je vois ici aussi, ce sont les auteurs. Je veux dire des livres dans la documentation, je vois où c'est toute la charge utile. Donc c'est toute la charge utile qui compte. Cependant, si je veux seulement là-haut le titre que je peux juste passer dans un nouveau titre. Donc, c'est sur le titre exclu. Très bien, sur Donc ennemi supprime juste cette virgule de rue sur la base de la validation que l'idée croit est trop sur. Donc, je clique sur Envoyer puis il va frapper notre action, passer par toutes les validations sur, puis retourner une visite d'état pour aucun contenu juste pour vous montrer qu'il a obtenu les données. Il a fait les validations. Il a vu que le titre qui est le seul bit de données requis vraiment basé sur les validations d'objets de transfert de données sur lequel il est là. Ensuite, il a traversé l'opération et non, il est mis à jour. Donc, si je retourne à mon obtention, est-ce que j'ai un get Oh, eh bien, je vais juste le faire du facteur, donc j'ai juste tous les livres, essayer des crapauds et ensuite exécuter. Ensuite, vous allez voir le seul livre avec le I D à et le titre mis à jour juste sur l'endroit où tout le reste est. Non, parce que je n'ai pas fourni de valeur. Maintenant, voici où nous devons être. Attention, parce que ce qui s'est passé ? Est-ce là qu'il n'a pas fourni de valeur ? Il a automatiquement supposé non dans l'ASM Si je soumettais non, cela remplacerait la valeur qui est là. Alors des idées d'auteur ? Non, non, parce que je l'ai retiré du GTO. Andi, j'ai soumis une charge utile qui n'a pas j'ai soumis une charge utile qui n'a pas fait référence à elle. Droit. Donc je vais me faire cet ajustement. Donc je vais retourner à mon DT. Je vais le dire. C' est pourquoi il est toujours bon de faire un petit test pour voir si ce qui se passe après avoir fait une opération est souhaitable, non ? Donc, je vais revenir à mon hors le détail sur je vais mettre l'auteur que je d Ok, quelqu'un pour le définir comme nécessaire. Donc je vais forcer les clients à me dire qui est l'auteur. Bien sûr, du côté client, nous pouvons en quelque sorte contrôler la façon dont ces données passent à travers le tuyau ou faire des recommandations basées sur notre documentation, mais pour non, je vais dire que c'est nécessaire parce que je ne peux pas avoir et non pour mon auteur. Eh bien, en fait , je peux, parce que j'ai indiqué que je pourrais être non. Donc je suppose que je dois retourner voir mes analystes d'affaires et faire le bon travail, mais pour non, je vais juste laisser ça vide. Laissez la pensée sur nous pouvons continuer. Donc non, nous savons que notre opération de mise à jour fonctionne. Nous avons une sorte de standard je certains de ces messages de journalisation. Donc je vais juste revenir à mes auteurs, euh, euh, mettre à jour la fonction sur moi, ces changements et vous voyez, c'est une chose cool. Quand vous l'avez cohérent, vous pouvez simplement copier et la paix. Vous n'avez pas besoin de les retaper, donc vous le tapez correctement à un endroit sur. Ensuite, vous pouvez simplement copier et la paix à travers tous vos autres et des points sur vos amours sortiront à l'air propre. Onda Très compréhensible pour tous ceux qui les regardent maintenant. J' ai dit que je vous présenterais un nouvel outil qui vous aide à visualiser vos journaux d'une manière un peu plus efficace. Je pense que c'est des résultats plus efficaces sur c'est vraiment, euh, mais je vais vous dire à propos de son juste après que j'ai copié cette ligne sur le nom de c'est queue nue, donc vous pouvez accéder à leur site Web en allant à la bière, queue, bière, métal, soft dot com slash queue de bière art. Et il y a une version gratuite, donc je vais juste ne pas connaître la version gratuite sur. C' est vraiment une version autonome pour Windows. Il est juste sur exécuté un fichier et cliquez dessus, vous l'exécutez et puis ce qu'il vous permet de faire est de sélectionner un fichier. Donc je vais m'ouvrir, trouver mon fichier journal, et une fois que je l'ouvrirai, il va juste ouvrir ce fichier. Montrez-moi tout ce qui s'est passé dans le fichier. Il a une option qui est sa queue de suivi. Alors qu'un incendie s'évanouit, le mouvement va continuer. Donc ce que je vais faire, c'est retourner dans le débogage, amarré, allumer sur un P. J'appelle, et je vais juste vous montrer comment le fichier d'amour se déplace dans la queue de bière. D' accord, donc j'ai de la queue de bière d'un côté sur Die, ai un facteur sur un autre, dit, je vais juste faire ici jusqu'à un peu plus petit, puis juste regarder la bière entière jusqu'à ce qu'elle se comporte quand je fais quelques AP Je cause que je vais juste faire quelques appels, Um, Um, une fissurée à travers le tableau, juste en cliquant et en cliquant et regarder comment Bertil se déplace. Alors peut-être que la machine se déplace un peu lentement, donc vous savez qu'elle n'est pas aussi propre qu'elle devrait paraître. Mais c'est essentiellement ce que Bertier apporte à la table. Donc, c'est bon pour les époques d'entraînement, vous savez, en temps réel, quand vous avez besoin de voir exactement ce qui se passe quand cela se passe, où cela se passe. Et puis il vous donne la mise en évidence afin que vous puissiez réellement faire quelque chose comme vous pouvez rechercher l'erreur de chaîne. Je pense que je pourrais ignorer le cas, mais alors je veux mettre en évidence, ou au moins faire lire tout le texte de l'époque. Donc à cela, alors je pense, OK, OK, et puis vous voyez n'importe quelle ligne avec le mot erreur devient mis en évidence en rouge, donc au moins je peux voir exactement où sont les erreurs. L' armée est un outil de surveillance vraiment cool. Comme je l'ai dit, sachez juste qu'il est léger, donc vous savez que c'est facile pour ça. Oh, jusqu'à obtenir de l'aide pour leurs activités de débogage pendant que vous développez 28. Livs : Configuration DELETE: Bienvenue, les gars. L' industrie. Ils allaient activer le point de terminaison de suppression pour les livres. Non, ce que je vais te mettre au défi, c'est de faire une pause. Réduisez ensuite cette vidéo lors des tentatives de création de ce point de terminaison pour vous-même. Très bien, Donc, vous avez déjà sur quelques points de terminaison que nous avons créés. Vous avez déjà le contrôleur auteurs avec des méthodes de suppression vous défiant à la vidéo spas minimiser sur. Tentative de toi-même. Je l'ai déjà fait. Donc, je vais vraiment vous aider à traverser ça. Donc tu sais, après que tu as fini et que tu as probablement repris, non ? Non. Donc je vais juste dire qu'on peut vérifier tout le travail ensemble. Donc si vous avez quelque chose de différent que vous pouvez le financer contre mon pas de problème. J' ai donc commencé par mon repos sommaire. Un livre par i d. Le paramètre renvoie. J' ai laissé ce vide. J' ai mis mon verbe approprié sur. Vous le saviez ? Je m'attends à un permis, er off i d ou appelé idee. Désolé, j'ai mis tous mes cordons de réponse, mais toujours 104 404 04 et 500 allumés. Puis je suis allé de l'avant et créé ma fonction synchrone hors tâche I résultats réels appelés élite avec mon périmètre en thaï de J'ai déclaré mon emplacement parce que bien sûr, nous avons besoin de cela pour connexion puis mon essai et bouchons hors cours La capture ressemble de la même façon Il regarde dans toutes les autres actions vraiment et vraiment de sorte que ce devrait être l'aspiration facile à aller de l'avant. J' ai ma connexion à point plus longue pour l'emplacement pour dire lead tentative on record avec idee que tout droit sur dso Comme je construis ces messages plus longs, je me rends compte que le verbe ege est gentil à cause de la standardisation du langage dans tous les droit sur dso Comme je construis ces messages plus longs, je me rends compte que le verbe ege est gentil à cause de la standardisation du langage dans tous les types d'opérations. Donc, le plomb a tenté sur l'enregistrement avec idee que dans les opiacés ont mis à jour essayé sur enregistrement avec I D que sur. Je pense que j'ai quelque chose comme ça sur le puits, c'est une tentative de voiture, donc je dois dire, essayé sur le dossier avec. Mais le fait est que je suis en quelque sorte en train de normaliser le verbe. C' est une sorte de montage comme, ah, un modèle d'appel. Donc, chaque fois que vous avez l'impression de vous répéter, vous êtes probablement parti. Il y a un principe dans la programmation appelé sec. Ne te répète pas. Donc, quand vous vous sentez de cette façon, je vous mets au défi de créer une autre abstraction le plus longtemps possible, comme certains modèles standardisés et de trouver un moyen de Paschen dynamiquement les parties spécifiques message de journal qui devrait être unique. Donc celui-ci dit, tentative de suppression à la suppression juste a échoué. Hum, alors, Eh bien, celui-ci est standard sur la suppression a échoué. Mais alors si vous regardez dans la mise à jour, c'est le même Burbage que j'ai littéralement juste copié et collé tous ces messages des mises à jour sur gars. Mettez-les là et remplacez le mot , mais avec suppression sur. Ensuite, j'ai fait la même chose dans le contrôleur de l'auteur. Où est le même verbe e ege ? Donc tu vois, je me répète juste. Non. Donc, si j'ai un autre contrôleur va être le même verbe et je le battrais jamais moi-même à nouveau. Donc, je vous défie de créer une autre obstruction sur la journalisation a réduit la répétition ou la quantité de données statiques qui est répétée sur plusieurs points. N' importe quel trou. Continuons à regarder à travers notre suppression. Donc supprimer tenté. Nous vérifions si le I d est une valeur non valide le jour. Si c'est le cas, alors nous disons qu'il a échoué et nous sommes revenus. Mais demande s'il vérifie s'il existe, et s'il n'existe pas, alors nous enregistrons un avertissement pour dire que nous nous sentons à récupérer cet enregistrement sur. Ensuite, nous passons à aller réellement. J' ai copié et collé de l'euh de l'auteur, juste courant ce rapidement. Donc vous voyez, voici, vos actes trouveront le monde que j'ai copié de l'auteur supprimer. Donc, si vous avez parlé à la pensée manuellement, ou si vous l'avez copié et le changez, alors c'est parfait. Pas de problème. Copier et coller est programmeurs, meilleur ami. Donc le livre que j'ai appelé, j'ai utilisé mon dépôt de livres. Puis j'ai vérifié. Si l'opération de suppression a été un succès, sinon, j'ai retourné le 500 avec l'emplacement et le message de journal activé. Alors si vous avez ce feu, alors j'ai dit, Eh bien, le disque a été réussi, supprimé, supprimé, et je n'ai retourné aucun contenu. Maintenant, je crois que je n'ai qu'un seul livre dans la base de données, mais je vais toujours aller de l'avant, et je vais commencer à déboguer plus que juste tester ce point de terminaison de suppression. J' ai donc la queue nue à droite et le facteur à gauche, et je vais d'abord créer un nouveau livre. Donc je vais juste en créer un avec le titre. Mon second livre, tu peux mettre n'importe quoi. Je vais également changer l'ISBN, donc vous voulez probablement finir par un unique qui se déplace du côté de la base de données, cependant. Où travailler Ecossais ont la même chose. Je parle et écris ainsi et quand vous cliquez, envoyez créer un nouveau livre, accord. Et nous pouvons regarder dans l'échec de l'amour que nous voyons dans quatre livres Créer, Créer Tentative sur la Création de Dieu a réussi Et si vous regardez l'horodatage, vous pouvez voir qu'il a fallu sept secondes pour faire cela correctement, ce qui est gentil long. Mais c'est ma petite machine. Il le ferait. Il devrait être rapide sur un serveur, n'importe quel trou. Oh, avant de passer à autre chose, ce truc d'horodatage est vraiment bon parce que j'ai travaillé sur un projet. Une fois sur les clients qui appelaient un service Web était de mettre en marche Haute. Ils disaient que tout le service était en faute. Mais quand on a vérifié les journaux. J' ai pu voir la différence entre ou l'horodatage désactivé lorsque l'appel a été activé par rapport au moment où nous avons renvoyé des données. Ils ont dit qu'il s'écoulerait au bout de cinq secondes, et nous le tournions en quelques millisecondes. Ensuite, nous avions prouvé leur montrer que le FBI était très efficace. Ils avaient besoin de vérifier leur système. Donc c'est un autre, vous savez, se connecte à l'heure. Les souches sont très, très importantes. Les développeurs. Quoi qu'il en soit, on vient de créer un autre livre sur l' I.D . Donc je vais juste utiliser ce livre nouvellement créé comme chèvre d'évasion. Je vais créer une nouvelle requête sur dix pour copier simplement le point de terminaison ici. Andi, basé sur, je vais dire que le point d'entrée avec la valeur trois sur ceci est une opération de suppression. Alors je clique. Envoyez Andi que j'ai sur erreur. D' accord, donc j'ai un autre incident qui met en évidence que c'était une infirmière. Donc, après cinq secondes de l'essayer, on a essayé d'enregistrer la tête avec 83, puis on a eu un casting. Certaines erreurs de coût sont donc laissez-nous voir exactement ce qui serait à l'origine de cette erreur de coût de type. Donc, je veux revenir à mon point de terminaison de suppression et je trouve par je d sur j'ai dit le livre principal. Ah, est-ce que la distribution de type se passe ? Je dois peut-être mettre des points de frein. Je vais mettre un point de rupture. J' ai fait des pièces sur le cordon. Retournons au Facteur. Alors je vais l'envoyer à nouveau. C' est un point d'usure ou de rupture. J' utiliserais si 11 à l'étape. Alors vous entrez, nous essayons de trouver le livre, et je veux juste confirmer que c'est trois. D' accord, alors il bouge. Onda il y a l'exception. Donc, il ne parvient pas à récupérer parce que c'est dans ce que l'on est un double sur un est une décimale. Donc je pense que ça pourrait être un problème. Peut-être avec ma classe de données. Laisse-moi vérifier. D' accord. Donc, je suis retourné à ma base de données et je suis en train de revoir la conception et je vois ici où le prix est hors de l'argent de type de données qui, si je ne me trompe pas, traduit directement orteil décimal en C. Donc, en créant ma classe de données, je l'avais définie pour être double et non décimale. Ils ont donc fait ce changement. Je crois donc que c'est là que vient l'ère. Donc, ma classe de données doit être se décimale et hors cours, si les classes de données décimales que les détails correspondants doivent également dire décimal pour prix. Ok, alors laisse-moi essayer encore une fois. D' accord, certains sont rentrés avec le facteur Andi ma tournée de bûcherons. Alors je vais cliquer. Envoyez. Voyons ce qui se passe. Nous avons du succès. D' accord, donc on voit ici, l'élite a été tentée. Très bien, donc c'était le problème. Vous devez donc vous assurer que vos liens de données pour vos classes de données sont les meilleurs points C. Euh, les types bêta. Trop le type de données correspondant, um serveur SQL. droite. Tu veux orteil ? Soyez très, très sûr que ce soit beaucoup. Donc avec cette opération, on n'a pas testé ? Eh bien, nous avons créé, testé et aucune opération validée ou suppression pour nos livres sur dso. C' est ça. 29. Révision et ajouter des modifications à GitHub: Bienvenue, les gars. Dans cette vidéo, nous allons juste, vous savez,passer vous savez, revue ce que nous avons fait dans cette section hors du cours le jour vérifier nos changements pour nous lever . Donc, ce que nous avons mis en œuvre là où sont les opérations de foule, la foule fonctionne dans plus d'un contrôleur de paire pour nos livres sur. Nous avons dû prendre dans une certaine dépendance est de les initialiser sur. Ensuite, nous étions sûrs d'être très stricts avec ou de la documentation au fur et à mesure que nous sommes allés. Nous avons également normalisé les messages de journal afin que nous puissions connaître l'emplacement, c'est-à-dire le contrôleur en action, que le journal est déclenché à partir de maintenant. Ensuite, nous utilisons cette norme pour appliquer à notre contrôleur d'auteurs précédemment créé sur nous avons fait que par et à travers mis en œuvre sont obtenir livre ou créer sur la mise à jour sur la suppression. Nous avons aussi eu un peu raté la suppression où le type de données manque beaucoup, mais nous l'avons attrapé, l'avons coincé dans le bourgeon, avons corrigé sur Non, nous avons des plaintes complètes. Aussi regardé un nouvel outil appelé conte de bière, que je nous abaisse orteil meilleure piste ou aime. Et il est livré avec des petites choses comme la mise en évidence et suivi ici, qui lui permettra orteil montre automatiquement ce que les dernières lignes de fichier dans le fichier journal sont maintenant va juste de ce chapitre, nous allons vérifier nos modifications pour obtenir haut. Donc je vais juste diriger les solutions Goto sur, puis taper notre message de validation. Très bien, donc c'est mon petit message à moi-même de dire que j'ai mis en place la foule pour cela avant, pas d'un contrôleur de livre AP sur les messages de journal normalisés. Donc, je vais juste aller de l'avant et m'engager sur l'évier pour pousser ces changements pour monter sur . C' est ça. Donc, la prochaine fois, nous allons commencer à examiner de nouveaux sujets comme la sécurité et l'authentification pour plus d'un P I. 30. Échantillonnage des tableaux d'identité vers une base de données existante: Hé, les gars, bienvenue à sa mission est de commencer à échafauder les tables d'identité dans nos abeilles de données . Maintenant, laissez-moi vous expliquer. Un peu d'échafaudage se réfère orteil le processus par lequel nous oxygène. Tout est bien allumé. Puis quand j'ai dit des tables d'identité, ce que je voulais vraiment dire, où les tables qui parsèment le noyau ou dotnet, l'entité, framework ou l'identité de base là. Tellement nombreux. Donc, cette chose. Mais ils viennent avec des tables intégrées par défaut qui prennent en charge l'authentification de l'utilisateur. Et c'est alors que nous créions notre projet et j'ai sélectionné le modèle de rasoir sur, puis sélectionné que je voulais l'authentification avec des cônes individuels. Il inclut automatiquement les configurations et les capacités pour cela. Donc, certaines des configurations seraient vraiment trouvées dans le début du fichier s nazi sur defy. Baisé. Ne le fais pas. Je vais voir ici, c'est que nous avons le contrarié d'utiliser l'authentification et l'autorisation d'utilisation sur dans la section des services . Il est allé de l'avant et a ajouté l'identité par défaut pour une classe générique appelée Identity User. Et puis nous avons quelques options ici où nous pouvons voir si nous voulons orteil inclure ah exiger une caractéristique de cône confirmée dans notre processus d'inscription. En fait, je vais juste enlever ça. Donc, ce que cela fera, c'est ce genre d'enregistrement en deux étapes. Tu sais, quand quelqu'un s'inscrit et qu'il doit entrer dans son email pour qu'on le confirme . Nous n'avons pas besoin de cette personne pour supprimer cette option. Donc, ce qui nous reste avec est juste une identité par défaut avec cette classe générique qui représente la classe utilisateur qui nous est donnée par l'identité principale ainsi que quelle base de données sont quel contexte DB . Il devrait dessiner sur les tables d'identité stockées. Maintenant, tout cela aurait pu être ajouté après le fait, parce qu'une fois de plus, les startups que le fichier CS est à peu près la même indépendamment, hors du modèle que vous choisissez, c'est juste que bien, nous avons choisi un a obtenu une partie de cela vraiment fait enlevé ce que nous ne voulions pas et nous sommes au même endroit de toute façon. Donc ce qu'on va faire maintenant, c'est éraflures. Les tables qui sont requises pour l'identité utilisateur toe ont un certain but. Nous allons les orteils sont dégénérés en remorquage. Notre base de données qui est téléphone dans le contexte de base de données d'application, qui est configuré en utilisant la chaîne de connexion par défaut, nous savons pointe vers la base de données que nous avons travaillé sur un plan de savoir. Donc je vais juste sauver les prises de sang. CS sur ce fichier. Je veux attirer votre attention sur le dossier Migrations de dossier de données, puis ce fichier avec tous ces zéros. Non, c'est ce que vous appelez un fichier de migration dans le framework sur lequel ceux que nous appelons migrations où il continue de supprimer toutes les modifications effectuées par rapport à la base de données sur. Ensuite, il lancera automatiquement ces changements. Donc, il a tendance à garder, genre, une histoire de tous les changements. Maintenant, c'est généralement plus utile lorsque vous avez ah cour première approche. Dans cette situation, nous n'avons pas de première approche judiciaire. Nous construisons d'abord la base de données. Donc, notre base de données existe sur ce que nous voulons faire est de modifier la base de données. Pas, hum, pas en allant dans le système de base de données et en ajoutant des tables à utiliser pour l'authentification, mais en utilisant à différents travaux pour modifier la base de données existante. Donc, ce que nous allons faire, c'est que nous allons chercher une console de gestionnaire de paquets, donc si vous ne savez pas où c'est, vous pouvez aller de l'avant. Je crois que c'est dans les outils sur le nouveau gestionnaire de paquets get et vous voyez leur gestionnaire de paquets ? Consul, une fois que vous avez quitté ce Ah, console. Vous ressemblez à une invite de commande vous demandant quelques commandes. Maintenant, ce que nous allons faire est d'exécuter une commande qui indique la base de données. Donc, à peu près les moyens de données dira, ce qui est la plus récente, um, migration qui n'a pas été effectuée sur alors 10 sur Aller de l'avant et l'appliquer. Ou plutôt, la plus récente mise en route des migrations, Mais dans ce cas aura un. Donc, si vous voulez apprendre à développer en utilisant la première approche de la cour et les migrations, alors vous pouvez vérifier mon cours complet sp dot net core 3.1 sur le développement du framework d'entité dans ce cours il ya bout à bout, la construction d'une base de données tribunal d'abord sur une demande d'aller avec elle. Couvrir dans notre contexte. Non, nous avons déjà une base de données, et nous voulons vraiment que les tables d'identité entrent dans cette base de données. Donc nous avons déjà nos Certains que je suis d'accord, fiston. Andi, j'ai ma console de moniteur de paquets, donc je vais juste taper la base de données de mise à jour de la commande et puis quand j'ai appuyé sur, Entrée va construire nos projets qui pourraient prendre un certain temps. Ensuite, il va continuer, et ensuite il dira juste qu'il ne sait pas que c'est un avertissement. C' est juste me dire que je n'ai pas de type ou beaucoup de type amer pour le prix de la colonne dans ma base de données. Mais si vous voyez jaune, vous pouvez lire l'avertissement. Cela peut être utile. Ça ne l'est peut-être pas. N' importe quoi signifie que vous êtes inquiet. Ce n'est rien d'autre qu'une préoccupation majeure. Si, cependant,vous cependant, voyez des rouges, alors vous savez que nous avons une erreur sur. Vous pouvez simplement valider votre chaîne de connexion et vous assurer que rien n'a été modifié en ce qui concerne les fichiers de migration. Sur cela, vos tables sont en tête et hors cours. Si vous rencontrez des difficultés, vous pouvez toujours me contacter dès que je passe à mon studio de gestion et vérifie ma base de données. Si vous vous souvenez, nous n'avions que deux tables avec des auteurs et des livres. Non, nous avons beaucoup plus de tables ont des rôles .net où Désolé SP Net Rules and Rules revendications et règle et l'utilisateur revendications utilisateur utilisateur se connecte aux utilisateurs SB sur toutes sortes de tables ce type de support que fonctionnalité d'identité qui vient construit dans le remorquage noyau net de points. Donc je vais juste prendre un peu de temps. Je regarde dans l'ESPN cet utilisateur stable. Je vais juste faire ressortir la conception, et ce sont les points de données par défaut qui viennent avec elle. Donc, nous avons le i. D. Nom d'utilisateur normaliser. Utilisez le nom email et normalisez l'e-mail. E-mail confirmé. C' est un peu pour dire oui ou non sur l'option où, nous avons dit exiger confirmation. Inscrivez-vous que j'avais supprimé. Ce que cela aurait fait, c'était de regarder ce morceau. Donc si ce truc disait non, alors une personne ne pourrait pas se connecter. Mais puisque c'est depuis les handicapés que ça n'a pas vraiment d'importance, non ? Donc, ce qui se serait passé, c'est que lorsque vous cliquez sur le lien pour le confirmer, il aurait changé. Ce gros orteil. E-mail confirmé, est oui, et alors vous seriez en mesure de vous connecter de sorte que toutes ces petites fonctionnalités sont intégrées dans tout droit , vous n'avez pas est verrouillé 02 peut activer l'authentification à deux facteurs. , merveilleuses Merveilleuses, merveilleusescaractéristiques anciennes de la boîte. C' est, cependant, la conclusion de notre mission pour aujourd'hui. Dans la vidéo suivante, nous allons examiner la configuration de certains utilisateurs par défaut et des règles par défaut dans notre application 31. Utilisateurs et rôles de test Seed: Hé, les gars, bienvenue. Nous avons juste plié nos tables d'identité sur savoir ce que nous allons faire est de semer certains utilisateurs et des règles. Donc, quand nous parlons d'ensemencement, c'est juste insérer des échantillons dans la base que, vous savez, nous n'avons pas à passer par l'argent ou à les traiter. Donc, nous voulons juste certains utilisateurs, parce que lorsque nous configurons notre authentification utilisateur, nous devons savoir pourquoi il y a déjà des utilisateurs là-bas pour que nous puissions continuer. Donc, je veux commencer par créer un fichier appelé Seed Data, et il va juste contenir deux fonctions pour nous. Donc, je vais juste mettre ça dans mon dossier de données. Je veux dire, on pourrait encore mettre le temps de la règle juste en le mettant dans le dossier de données. Donc, j'ai juste un clic droit, je vais aller en classe, puis je l'appelle graine. C' est activé, alors cela va être une classe statique publique de statique, signifie que je n'ai pas besoin de créer une instance à chaque fois. Je peux juste cérébral que je peux juste appeler les fonctions qui sont là à volonté. Ok, quelqu'un orteil a deux fonctions que je vais avoir privé statique éviter sur celui-ci va être des utilisateurs de graines, et je vais juste vous donner les coquilles vides d'abord. Et puis je suis allé orteil avoir sur Mère une qui voit les règles de semence. Je réutilise juste ça. Toutes les bonnes règles de semences. Aucun utilisateur de CD ne va prendre un paramètre sur. Ce paramètre va être gestionnaire d'utilisateurs. Très bien, donc utiliser leur manager est une classe intégrée qui nous donne la fonctionnalité orteil littéralement gérer. Leurs craintes sont pour les utilisateurs. Vous savez, nous pouvons accéder à certaines choses certaines fonctions intégrées, et nous verrons au fur et à mesure. Donc, gestionnaire d'utilisateurs sur les classes d'identité par défaut Identité utilisateur. Non, le fait est vous pouvez avoir plus d'une classe d'identité. C' est que je ne veux pas aller trop profondément dans l'identité. Et la différence n'est pas encore au moins. Mais si vous voulez obtenir votre manteau, mon autre cours complet SB dot net core 3.1. Le développement sur DIT vous expliquera tout cela. Donc, nous utilisons l'identité par défaut pour appeler ce gestionnaire d'utilisateurs de paramètre alors pour les règles, les formulaires et j'utilise Roll Manager. C' est donc le rôle jumeau. Donc, le gestionnaire d'utilisateurs sur, nous utilisons l'identité par défaut, qui est les parents de rôle d'identité. Et j'appelle ce gestionnaire de rouleaux en bref. Non. Comme je suis sur le point de commencer à m'asseoir sur les règles, il m'est apparu que je n'avais pas vu de configuration pour les règles à l'intérieur off ou commencé. Laisse-moi repartir. Regarde. Mes soupçons sont exacts. Donc, ce qui se passe, c'est que lorsque vous ajoutez l'identité par défaut, vous pouvez également ajouter une rose. Je vais juste amener la ligne là-bas. Donc, nous ajoutons l'identité par défaut que je respire la ligne que je veux dire points, règles publicitaires. D' accord. Et puis je lui dis que je veux les valeurs par défaut, qui est la règle d'identité. D' accord , alors. Ouvrez les chevilles. Breece. Bien. Donc, juste ici disaient que nous voulons utiliser l'identité par défaut, et nous voulons utiliser des rôles dans notre application, et tout cela devrait être stocké sur le concours de beauté de l'application. Très bien, donc c'était juste une configuration manquante qui s'assure qu'il est là avant de procéder . Donc maintenant, nous créons une autre fonction, et je vais l'appeler semer quelqu'un pour voir des troubles publics dans un grand vide statique public sur, puis semer sur. Ensuite, seed va prendre deux paramètres qui sont à peu près identiques à ceux que nous venons de mettre en place. J' ai donc un permis. Er appelé gestionnaire d'utilisateurs paramètre Onda Pour le gestionnaire de règles sur tout cela aura assez de sens vous lorsque vous voyez ce coup plein d'appel de chanson. droite. Donc c'est bien, c'est notre squelette Gaeta, au moins. Donc, une fois que vous avez fonctionné d'un public à un privé sur ce que nous allons faire à l'intérieur du public , un est juste appelé les deux privés. Donc, je vais commencer par semer les règles sur que je passe dans celui-là. Le gestionnaire de rôle qui l'a donné grâce à un appel téléphonique. Puis je suis allé semer les utilisateurs. Tout droit sur celui-ci est pris. Le gestionnaire d'utilisateurs. D' accord, donc quand on appellera « voir les semences de données », ça appellera les utilisateurs de Ciro et de semences. Commençons donc par les règles. Donc, ce que nous voulons faire est de vérifier si un rôle existe déjà sur. Si ce n'est pas le cas, alors nous allons de l'avant et créons ledit rouleau. Non, c'est la déclaration va nous empêcher de créer sont bien chaque fois que l'application commence parce que vous ne voulez pas créer plus d'un encens sur une règle particulière, non ? Donc, ce que je vais faire est sur cette déclaration disant si et puis voici où nous voyons les objets polaires de ces gestionnaires sur ce qu'il faut dire. Si le gestionnaire de règles pointe sur, alors je peux dire que le rugissement existe un évier. Droit ? Mais alors c'est que c'est, euh, c'est un évier, non ? Donc, nous avons deux options que je peux voir soit continuer sur et vérifier sur un administrateur pungency la règle que nous voulons vérifier. À ce sujet, je pourrais dire Dr Results. droite. Donc, ce qui se passe est que si vous appelez et chasser la fonction, n' avez-vous pas le chemin pour toujours dire que les résultats ? Non. Puisque j'ai la possibilité de penser que je vais l'écrire, et puis je vais essayer de revenir en arrière et ensuite convertir toutes ces fonctions à tout ce qui serait un exercice cool, non ? Quelqu' un pour l'écrire sans bizutage d'abord, n'est-ce pas ? Donc, je dis que si le gestionnaire de règles vérifie l'existence du rôle d'administrateur n' existe pas, alors je veux déclarer que notre rôle est égal à nouveau rôle d'identité Alors, à l'intérieur de cette règle, je vraiment veulent juste dire que le nom est égal à administrateur. Ou alors je suis juste en train d'initialiser ou de créer sur l'objet pour que c'est notre rôle sur. Alors je vais dire, euh, euh, résultats de la barre. Et voici une autre situation. Savoir où je suis obligé d'utiliser une variable parce que gestionnaire de rouleaux pas créer un évier de sorte que comment faire créer un évier et puis je suis avec le rôle de collège. Mais alors je dois dire que les résultats afin de s'en sortir et puis réel finalement que les résultats ne sont pas vraiment bon, parce que je ne l'utilise nulle part. Non. Avant de passer à autre chose, je vais convertir cet assouplissement donc ça va prendre un peu sur le facteur, parce que, rappelez-vous, rappelez-vous, je ne peux pas appeler une fonction de chant à partir d'une fonction d'accélération inconnue. Donc, si je change celui-ci pour vous pensez que beaucoup de changements mon endurci apparaissent. Maisc' Mais pour ça qu'on est là, non ? Alors faisons-le vite. Donc, pour se rencontrer, éviter , euh , la fonction, tu penses que tu dois en faire une tâche, non ? Et puis, bien sûr que vous l'avez fait. Il pense que c'est une tâche statique face au public. Qu' est-ce que le nom de la fonction est sur alors ? Vous voyez ici qu'il dit que vous avez une tâche, mais tout le reste n'est pas une personne synchrone pour supprimer les résultats du médecin. Et puis je vais voir si ce n'est pas loin. D' accord. air bien. Jusqu' à présent. Donc, si vous n'attendez pas parce que rappelez-vous, c'est n'importe quoi. Donc ça veut dire que je peux faire la même chose. Ne pas ici, Au lieu de voir le résultat Vier, je peux juste dire loin sur puis enlever les points. Résultats. D' accord, donc ça a l'air un peu plus propre. Obtient plus. C' est dans les noyaux dans la totalité. Tout de suite, alors. Hors cours. J' ai fait le téléphone. Sean a appelé les règles de sécession. On a besoin d'un moyen ici. Quand ? Si nous attendons ici, cela signifie que je dois changer cela en une tâche ou ainsi de suite à distance. Lee est évier. D' accord, donc on vient de convertir une fonction asynchrone en une fonction asynchrone sur, donc j'ai juste apporté la ligne pour qu'elle ne disparaisse pas ici, non ? Donc, non, tout ici est asynchrone. Je vais juste faire ça avec ça aussi, je laisse le statique, le statique ne va pas. Je viens de mettre dans le mot-clé un évier et de changer vide en tâche. D' accord. Et puis hors cours. Si c'est une tâche, alors j'attends les résultats au téléphone. Sean Car ? Non. Avant de passer à côté des utilisateurs de semences, je vais créer deux règles ici, donc j'ai un rôle d'administrateur. Mais alors c'est une librairie. C' est donc une librairie en ligne. Nous avons des administrateurs qui devraient être en mesure d'aller et faire I opérations actuelles sur les livres et les auteurs sur May être des clients qui pourraient être en mesure de se connecter et probablement, vous savez, par un argument de livre off. Tu vois ? Donc je veux un autre qui dit propriétaire des coûts. Très bien, donc ce rôle existe. Un évier l'est. Ils disent, si ce rôle en lui n'existe pas, sont plutôt cette vérification en utilisant. Si ce nom de rôle n'existe pas, créez créez un rôle d'identité. Andi va créer un objet, puis créer l'enregistrement dans le détail. Des abeilles. Bon, alors non. Lorsque reculer rouleaux, il essaiera de créer ces deux rôles sur le à chaque fois qu'il s'exécute. Mais bien sûr, si c'est déjà là, cela ne fera rien de bien, qui est exactement ce que nous voulons. Donc on l'a fait. La graine est apparue. Donc, nous allons nous concentrer sur l'utilisateur non Noto créer les utilisateurs. Je vais commencer par un si des instructions similaires quand nous allons dire si le gestionnaire d'utilisateurs Donc ce n'est pas, nous allons regarder certains des poètes du point de gestionnaire d'utilisateurs Get utilisateurs. Eh bien, je n'ai pas besoin des utilisateurs dans la rangée. Je peux aller trouver par nom, non ? Donc ce que je ne veux pas faire pour que je puisse trouver mon email. Je confiné par idee je confiné en me connectant, je peux trouver par nom tout droit, et tous les hors sont quelque chose asynchrone, sinon loin il trouve par nom l'argent de l'utilisateur n'a pas trouvé par nom un évier sur. Disons juste que j'ai ah, utilisateur. Um alors le nom ici serait le nom d'utilisateur afin que nous puissions aller trouver mon nom ou nous pouvons aller trouver par e-mail Remedios email Donc je veux dire, sinon, utiliser sur la fusion que trouver par e-mail et je vais avoir un moyen d'ajout par défaut à C'est un librairie. Not come C'est notre adresse e-mail par défaut, est-ce pas ? Oh, désolé, j'ai été emporté. Donc, cela ne vérifie pas s'il existe. C' est essayer de trouver quelqu'un donc un objet. Donc, il s'attend à rendre quelque chose. Donc ce que je veux faire, c'est vérifier si ce n'est pas mon dos. Donc ce n'est pas un pas ce n'est pas un tyran. Et dire si non téléphoné, il voit attend les résultats de la fonction. Andi, soit il trouve qu'un pneu ne le trouve pas et s'il le trouve, alors ce ne sera pas non. Donc, si c'est non, alors vous voulez créer un utilisateur sur. Ensuite, je suis allé créer un utilisateur hors type d'identité utilisateur. Puisque c'est notre utilisateur par défaut que nous utilisons sur, alors nous devons donner ce nom d'utilisateur et d'utilisateur Andi sur le repas électronique. Au minimum, nous avons besoin de ces Sanderson pour appeler l'administrateur qui l'utilise. Je vais envoyer l'e-mail pour être le même e-mail que je viens de vérifier. Donc si j'ai trouvé par mon nom, j'aurais pu me dire, et si je l'ai trouvé par EMI nous a élus, c'est donc il y a tellement de façons de faire cette chose qu'il n'y a pas de droit ou je suis juste en train d'apporter notre propre L'assurance du monde qu'il y a beaucoup de possibilités, droit ? Donc, je vois juste l'utilisateur Vier créer cet objet utilisateur qui est sur. Ensuite, nous allons dire loin que son gestionnaire d'utilisateurs docks crée ici chanter Et puis je veux créer cet utilisateur avec le mot de passe, n'est-ce pas ? Donc, si vous regardez cette fonction, les définitions de fonction sont les overlords. Vous voyez que vous avez l'identité, utilisez leurs objets et vous pouvez également passer un mot de passe de chaîne. Donc, le mot de passe est un peu strict Quelqu'un juste ap à la science S S W O R D vous voulez afin qu'il puisse changer la politique du pasteur si vous voulez être plus simple, mais je vais le laisser cause qui ressemble à une bonne politique décente où vous devez ont un symbole. Je dois avoir un numéro sur cette lettre majuscule pour une durée de vie minimale. Très bien, donc c'est un bon orteil sûr. Appliquez la sécurité à vos utilisateurs. Non, je vais assigner. Donc, cela va retourner une valeur, en fait. droite. Donc, ce que je vais faire pour sauver nos résultats, c'est égal orteil. J' attends, cet appel ? Non. Quand j'obtiens le résultat, je vais voir si les résultats sont ancrés. Ensuite, je vais obtenir un drapeau pour voir qu'il a réussi sont des noix. Donc, si ça a réussi que je veux dire, gestionnaire d'utilisateurs, c'est bizarre de rouler. Très bien, donc je peux savoir avoir créé un rôle d'ajout d'orteil utilisateur. Donc, je veux dire que je veux ajouter l'utilisateur toe le rôle à l'administrateur. Donc non, vous voyez pourquoi nous voyons les règles avant de céder les utilisateurs ? Parce qu'au moment où vous arrivez ici, cette règle existe la plupart pour que cette étape soit couronnée de succès, et c'est une chose. Alors attendez, alors. On y va. Donc on a juste fait ça avec l'administrateur ? Non, si je voulais un échantillon de client, , je vais faire la même chose ici. Je vais juste prendre cette déclaration. Je vais dire client, qui peut être gmail dot com. D' accord, on. Je vais orteil ad client quelque chose que vous auriez probablement pu écrire comme une belle boucle avant . Et vous avez mis ça dans un capitaine toscan. Huit sur un numéro à chaque fois. Maintenant, je peux vous avertir que c'est très strict. Donc, si vous voyez le client deux fois bien, je veux dire, il est de vérifier si les clients de sorte qu'il ne peut pas avoir le à des clients avec le même e-mail après grève. Donc on voit l'administrateur ici. Ensuite, je crée un client à gmail dot com. Utilisez le nom du client un à gmail dot com. Même mot de passe. J' avais l'habitude de le voir imposteur. Je n'ai aucun problème avec ça. Mais alors la règle sera client parce que c'est l'autre règle avec cette crinière et la façon de client, droite, Donc nous avons notre premier client, et puis je vais juste en voir un autre. Et puis ce client va être client. Visitez cet outil client à gmail dot com. Le nom d'utilisateur est aussi client. Sur l'e-mail est orteil client à genia dot com. Sur. Encore une fois, cette règle est les clients. Tout le monde va avoir le même passeur, donc ce sera facile pour nous d'enregistrer les orteils comme n'importe qui à tout moment. Alors encore une fois. Ce sont les échantillons de sorte que lorsque je vais démystifier plus la prochaine fois, ils seront créés automatiquement. Bon, donc non, on a fait le levage lourd. Nous avons juste besoin de laisser la startup Nazi s savoir qu'il a besoin d'exécuter cette application sont Désolé cela marqué lorsque l'application commence. Droit ? Donc, dans le conficker, ma pensée droite, je vais juste mettre en dessous la politique de choeur. C' est un bon endroit. J' allais mettre dans la formation. Appelle orteil. Voir Data dot seed. Tout droit sur. Je crois que la graine est un évier, mais avant de nous demander si c'est un évier ou pas Eh bien, un plus gros problème. Nous devons inclure le gestionnaire d'utilisateurs et le gestionnaire de route. Alors que se passe-t-il qui avaient l'intention de passer dans ces objets ? Mais ils n'entrent pas. Ils n'existent pas dans la portée de configure. Donc, je dois les ajouter orteil la portée de conficker sont la liste Permata afin qu'ils viennent. Donc je vais juste briser la ligne pour ne pas tirer à droite. Ensuite, je vais voir le gestionnaire d'utilisateurs sur passé dans Identity user sur. On appelle ce gestionnaire d'utilisateurs. Ensuite, on va faire la même chose avec la règle du manager. Je n'ai pas régné à ce sujet ici ou aan den. Celui-ci est un moniteur de règles. Donc non, nous avons notre utilité. Un gestionnaire et des objets Roll Manager arrivant alors. Donc tu vois, si je mets un poids, tout ce qui va tout gâcher parce que je ne peux pas dire notre poids sans évier, donc ça pourrait être un problème, non ? C' est donc une de ces choses quand il s'agit de programmation asynchrone que, vous savez, nous devons être prudents. Donc, au lieu de mettre leur poids en avant, je vais voir un médecin poids à la fin. C' est ça qui appartient à un autre petit travailleur. Donc là où il y a un testament, il y a un moyen. Alors exécutons et voyons si nos données sont mises dans notre base de données. Bon, donc j'ai exécuté et je reçois cette erreur, et je pense que cela est dû à une erreur d'orthographe. Si vous regardez l'ensemble de l'administrateur est écrit, c'est tout à fait faux. Laisse-moi revenir en arrière et corriger ça, donc tu es probablement un meilleur speller que moi. Tu n'as pas eu cette époque, alors laisse-moi revenir et m'assurer que l'Irak avait Meanness Street ou pas au minimum, quoi que ce soit. Tu n'as pas eu cette époque, alors laisse-moi revenir et m'assurer que l'Irak avait Meanness Street ou pas au minimum, Donc c'est désolé. C' est encore une fois. D' accord, donc cette fois, j'ai été jusqu'à charger la documentation. Donc, je vais revenir à ma base de données, regarder à l'intérieur de mon SP dans sa stable utilisateur, sélectionner jusqu'à 1000 et là j'ai mes trois utilisateurs. Donc, c'est à quoi ressemblera l'enregistrement utilisateur ah. Et l'identité, n'est-ce pas ? L' idée n'est pas l'automne incriminant est comme ce que nous avons mis en place son ah guo i d. valeur. Nous avons le nom d'utilisateur sur qui est normalisé l'e-mail qui est normalisé. Donc, la normalisation est comme s'ils capitalisaient tout et faisaient beaucoup de saleté pour que le boîtier soit pas pertinent le jour. Donnez-nous un hachage de mot de passe pour que toutes ces choses soient intégrées. Vous n'avez pas à passer du temps à hacher le mot de passe um, orteil mis dans le système. Il le fait pour vous donne votre système de sécurité et de conférence Onda. Nous avons désactivé le besoin de certaines fonctionnalités, mais oui, c' est ce que ça veut dire. Nos utilisateurs ont été créés et si je passe aux règles que des règles auraient dû être créées pour que les utilisateurs soient créés. Et là, nous avons l'administrateur Onda, notre conquête pour piétiner les identifiants respectifs. Donc, nous avons juste mis dans quelques exemples d'utilisateurs et nous avons augmenté dans notre application. Andi, quand nous reviendrons, nous mettrons en place le contrôleur utilisateur qui gérera la signature réelle et dédicacé sur les trucs d'authentification pour nous. 32. Configuration contrôleur: Hey, les gars, dans cette leçon, va mettre en place un contrôleur d'utilisateur pour gérer certaines opérations d'authentification . J' ai donc déjà commencé à ajouter le contrôleur. Je suis allé aux contrôleurs, clic droit, clic droit. Ajouter est allé au contrôleur et je serai échafaudage sur les contrôleurs AP I vides. Je viens de cliquer sur ce clic ajouter lui donner un nom, quelqu'un pour nommer son contrôleur d'utilisateurs, puis aller de l'avant et cliquez à nouveau. Et maintenant, nous avons notre contrôleur d'utilisateurs. Donc, comme d'habitude, ce que nous allons faire est de mettre en place ou, vous savez, dépendance est d'abord sur formel, donc je veux des dépendances. Je veux une dépendance pour le gestionnaire de signature sur un pour le gestionnaire d'utilisateurs ont inclus ceux-ci , et c'est à ça qu'ils ressemblent. Donc tu peux les écrire sur Guy. Il suffit d'inclure la bibliothèque manquante. Nous avons donc une lecture privée sur le côté et le gestionnaire pour l'utilisateur d'identité sur le gestionnaire d'utilisateur pour Identity User. Aussi le toff les fonctionnent très bien ensemble, Aziz, Aziz, autant qu'ils peuvent sembler similaires, mais on gère les opérations de l'utilisateur une poignée debout dans le ponçage des routes et des trucs d'authentification . D' accord, donc nous allons mettre en place notre constructeur sur bien passé dans notre dépendance est. Donc je vais juste faire ça sur 1 000 000. Ensuite, bien sûr, nous faisons notre initialisation. Xas habituel. Bon, donc on a un responsable de signature et un gestionnaire d'utilisateurs, comme je viens de le dire. Alors, quelles sont les choses que nous voulons faire dans le contrôle de nos utilisateurs ? Je pense que le truc médiatique serait un manipulateur d'orteils. Connectez-vous. Droit. Donc, nous avons ce que nous appelons des données sur les notations sur DWI aurait été les regarder des contrôleurs précédents. Donc, dans cette situation, nous voulons une autorisation de poignée, Signification, qui peut accéder à un certain point. Nous avons des notes amères et qui ont, comme, comme, un faible anonyme où nous pouvons restreindre par rôle ou nous pouvons simplement dire autorisé, ce qui signifie que quelqu'un doit être autorisé. Donc, si nous disons autoriser l'anonyme, cela signifie que vous n'avez pas besoin d'autorisation même si l'ensemble du contrôle est non autorisé. Donc, si je disais autorisé pour l'ensemble du contrôleur, cela signifie que chaque point de terminaison à l'intérieur ici aurait besoin d'une authentification. Ah, Low Anonymous remplacerait ça en ce moment. Je n'ai pas de but pour ça. Donc je vais juste beaucoup d'anonymes. Andi, je vais faire sur http post en point sur ce point final va être un public une défense d'évier . Veillez à ce que je me renverse bien. Tâche désactivée. J' ai des résultats d'action sur celui-ci. Ce point de terminaison va être connecté si longtemps que je vais utiliser les objets que je vais mettre dans mon corps de départ. Donc, cela signifie que nous devons aller et créer un objet qui va gérer cela. Donc, je vais dire utilisateur DT, ou c'est le type de données que nous devons créer et ses détails utilisateur. Donc, laissez-moi juste aller et créer cette classe un même réservoir, et ils viennent juste de compléter cela et ensuite aller sur mon dossier de détails sur l'annonce rapide Andi, créer une nouvelle classe et nous sommes à venir l'utilisateur E t. Ou crée sur, puis utiliser un besoin de ou que vous voulez garder cela simple. J' ai vraiment vraiment besoin d'un nom d'utilisateur de chaîne Onda Stream mot de passe. Droit. C' est tout ce dont j'ai vraiment besoin. le On pourraleremonter un peu plus tard, mais c'est vrai. Sachez, juste pour obtenir l'authentification, nous voulons juste utiliser le nom et le mot de passe. Hum, nous pouvons probablement dire, nous pouvons faire un certain nombre de choses, mais gardons les choses simples. Renno. Désolé. Donc, on va aux pieds. Il suffit d'inclure la bibliothèque manquante afin que nous ayons utilisé les détails sur Nous acceptons cela directement hors cours. Nous allons mettre dans notre documentation ou commentaires récapitulatifs pour dire, hum, hum, points de terminaison de l'utilisateur. C' est n'importe qui vraiment. La documentation sait qu'ils doivent passer cet utilisateur longtemps dans les points de terminaison savoir ce que nous allons faire ici est que nous allons voir que nous voulons obtenir quelqu'un pour sauver que je résultat est égal à sur. Ensuite, je vais voir comment il le résultat du gestionnaire de signature qui va essayer un mot de passe signer dans un synchrone, non ? Alors, non, je peux voir. Donc, si vous regardez la documentation pour cette fonction, vous voyez que cela signifie l'objet utilisateur. Et il a aussi besoin de mot de passe sur si bas que j'ai orteil Eh bien, c'est un hors les overlords. Un autre overlord verrait qu'il veut juste chaîne le nom d'utilisateur et le mot de passe et ces deux autres bulletins. Ils doivent être là pour qu'on puisse passer les chutes et les chutes. Mais le fait est qu'un overlord voudrait et ah, tout l'objet utilisateur d'identité sur mot de passe de l'autre. On voudrait juste l'utiliser et le mot de passe. Donc, puisque c'est tout ce que nous avons défini dans cela et je ne veux vraiment pas passer par la création de la partie supérieure de l' automne de l'utilisateur d'identité à ceci et cela, je ne vais pas passer par cela. Tout ce que je vais faire, c'est juste utiliser la surcharge plus facile. Le jour, je suis allé dire, Eh bien, nom d'utilisateur var est égal à Donc, j'aime orteil prendre mes résultats sur les objets et les variables inter d'abord, quelque part pour voir utiliser le nom est égal au détail. Utilisez le nom sur un mot de passe. Alors rappelez-vous que control de duplique la ligne juste au cas où vous vous demandez comment je l'ai fait si rapidement. Donc nom d'utilisateur et mot de passe. Et c'est ce que je vais passer à la signature. Donc, je passe le nom d'utilisateur passant dans le passé. Un mot sur, alors je vais juste dire, Falls sur les chutes satisfaites. Autre à Julian, non ? Donc, il va essayer d'authentification. Donc, ce handle qui va dans la base de données, voit le nom d'utilisateur, attache le pasteur qu'il fait tellement sur DSI est ce qu'il a besoin de voir. Non, nous devons dire si le bon résultat est que nous allons voir. Donc M. Stopping, ce n'est pas égal. Donc, pas de droits, si le résultat n'est pas égal à aucun sens. Il a récupéré quelque chose pour Non, ce que je vais faire, c'est que je vais voir Ok. Sont Faisons un peu intéressant. Désolé. Retour. Ok, alors rendons ça un peu plus intéressant. Où je vais sauver notre utilisateur est égal orteil. Nous avons tendance à utiliser l'orteil du gestionnaire d'utilisateurs, récupérer les secondes qu'ils trouvent par nom. D' accord. Donc si je demande de l'utiliser, d' accord,pour accord, qu'ils voient dire que c'est bien par son nom. Il veut utiliser les noms sur lesquels je peux trouver mon nom, obtient l'utilisateur par le nom d'utilisateur utilisé sur. Ensuite, je suis allé simplement retourner l'utilisateur l'objet utilisateur avec la réponse okey sur. Alors si ça n'arrive pas ou ça ne va pas dans cette déclaration, je vais juste retourner ce qu'on appelle, euh, euh, sur la droite non autorisée. Non autorisé signifie que vous n'êtes pas une charge au-delà de ce point. Voyons s'il y a une surcharge qui inclut des données afin que je puisse passer dans les objets de tout Juste dire, utiliser que GTO est non autorisé. Ok, bien sûr. Vous savez que nous avons mis en place notre exploitation forestière au fur et à mesure. Donc à propos de retour et de faire tout ça à une date ultérieure, non ? Non, je suis juste plus préoccupé par la mise en place de la journalisation. Bon, alors prenons ça pour un tour. Quelqu' un à aller juste Oh, où le mode ci-dessus poster de l'argent en attendant. D' accord, donc je suis juste en train de parcourir la documentation de mordu que nous voyons ici, utilisateurs de barre oblique du FBI ou le point de terminaison utilisateur sur elle nécessite un nom d'utilisateur sur mot de passe sur qui devrait être dans leur corps de quête. Alors construisons ça ensemble. Donc je vais juste vous parler d'un nouvel onglet sur le truc cool des facteurs, c'est qu'il garde une histoire. Donc, si vous êtes connecté avec votrecompte personnel, compte personnel, il garde un historique de toutes les demandes que vous avez depuis que je peux faire défiler pendant des jours parce que j'ai fait un peu de tests du FBI en utilisant cet outil. Alors passons à remorquer nos tests où je vais poster sur, alors je vais juste emprunter l'adresse de l'un de mes précédents parce que nous utilisons la même adresse de port hôte loca sur. Ensuite, c'est un utilisateur P I. n'y a pas de valeur après la barre oblique. Mais alors le corps doit ressembler à ça. Donc je vais juste copier l'échantillon sur. Ensuite, nous allons orteils brut, choisissez Jason basé sur. Alors essayons. Alors j'ai dit administrateur. Andi le passeur ce p qui sai s w o r d un. Voyons si celle-là fonctionne. Donc, je clique sur Envoyer. D' accord, on est en affaires. Donc, nous voyons ici que les informations de cette personne sont venues, mais maintenant, évidemment, ne voudrait pas nécessairement retourner la charge utile entière parce que ici vous exposez le silence de mot de passe autant que ce n'est pas très déchiffrable, c'est toujours un mot de passe hache toujours les informations que vous ne voulez pas aller. D' accord. Pour que vous puissiez créer, comme un autre, euh, bto. Comme un détail utilisateur de vue où vous revenez vraiment juste. Peut-être que l'utilisateur i d le nom d'utilisateur l'e-mail sur toute autre information bit off que vous connaissez serait raisonnable d'afficher dans une réponse à propos d'un utilisateur. Bon, ça marche Andi. Si vous pensez que vous voulez peut-être inclure, comme le prénom, le nom et d'autres bits de données dans l'identité, alors c'est totalement possible. Et encore une fois, je passe par ça en douceur. Bien sûr, complet est la vitesse, pas Net 3.1 entité de base Andi, le développement du framework. Vous pouvez donc suivre ce cours pour mieux comprendre l'identité et comment nous pouvons être élargis. Quoi qu'il en soit, nous pouvons valider ici que le signe fonctionne à peu près. Essayons donc avec le client. Donc on a essayé ça avec, hum, l'administrateur. Essayons avec le client. Et puis nous voyons ici la même chose pour le client. Essayons donc avec une valeur aléatoire, quelque chose qui n'est pas précis. Donc, certains utilisent mal le nom et ensuite nous voyons que nous obtenons Nous obtenons un outil sans contenu. Je ne m'attendais pas à avoir ça. Alors allons déboguer un peu et voir pourquoi nous avons eu ça. Donc, je vais juste mettre mon point de pause ici après que nous aurions eu les résultats sur, puis cliquez sur Envoyer sur. Puis ça frappe. Nos points de rupture sont bons. Donc, les résultats ont un champ. D' accord , alors. Je vais juste passer à travers parce que je veux voir exactement pourquoi ça va à un outil pour Mais alors ah, OK, je vois quel est le problème. Non. Donc d'accord, j'ai cette neige. Donc, ce qui s'est passé est que j'ai dit si le résultat n'est pas égal non, ce qui n'est pas exact, je devrais vérifier si les résultats ont réussi ne sont pas si Laissez-moi arrêter et puis vous corrigez cela. Donc ce qui s'est passé, c'est qu'il est toujours allé à l'accord, mais alors ce n'était pas Donc l'accord est retourné à deux ou quatre ans sans contenu au lieu d'un 200 avec du contenu, non ? Donc, c'était le comportement par défaut de l'ok. Et c'est honnêtement la première fois que je vois ça. Alors faisons-le ensemble. Donc, au lieu de voir le résultat, pas savoir, nous allons un résultat réussi. Donc, si le résultat n'a pas réussi, alors nous voulons revenir d'accord, alors il devrait finir là si cela n'a pas réussi. Essayons encore une fois. Bon, alors essayons encore ça au cours de l'homme et je clique. Envoyez. On y va. Donc pour une autorisation, c'est mieux. Il n'a donc pas réussi. Donc passé sous pour un autorisé non autorisé Désolé sur elle renvoyé l'utilisateur, um, informations de la tentative. Donc, nous voyons ici que certaines authentification fonctionne, ou au moins nous pouvons authentifier et vérifier que les utilisateurs existent dans nos et points. Non, ce que je vais faire est juste de réparer la journalisation dans ce point. Je n'aime vraiment pas avoir le point d'entrée sans avoir de journalisation. Tu sais, on est un standard, donc je vais juste prendre un peu de temps. Andi, emprunte du cordon à l'un des contrôleurs précédents. Bon, donc j'ai mis en place ce pays pour ressembler plus aux autres que nous avons jusqu'à présent où j'ai inclus le service plus long initialisé sur, mec, mis dans les emplacements sont mis dans mes fonctions pour obtenir un contrôle et ainsi que la flèche interne sur. Puis j'ai enveloppé toute l'opération dans une prise d'essai. Donc je viens de mettre essayer, sont possédés. Tout ce que nous avons fait avant sur le catch retournerait l'appel de fonction de l'ère Internet sur le gars était donc mettre la journalisation pour dire que c'était ah, tentative de journalisation de l'utilisateur sur. Tu pourrais même le mettre. On a déjà des horodatages dans le journal, donc c'est bon. Ensuite, nous avons dit que si elle a réussi que nous disons, utilisez le nom authentifié avec succès sur si elle n'a pas réussi que le nom d'utilisateur, non authentifié. Donc c'est le bûcheron que j'ai mis en remorque. Um, le contrôleur des utilisateurs. Vous avez peut-être une idée différente. C' est très bien. J' adorerais entendre comment vous pensez que je pourrais améliorer ça, mais c'est un abîme, um, um, une base de départ pour le lancement des orteils américains à partir de. Nous venons donc de finir par examiner comment nous procédons à l'authentification des utilisateurs dans notre application. Sur le prochain, nous allons examiner la configuration de nos jetons Jason Webb examinera également l'autorisation au niveau du contrôleur et de l'action. 33. Configuration JSON Web Tokens (JWT): Hé, les gars, bienvenue et ça. Écoute, on va commencer à s'asseoir ou Jason Webb Wilkins Maintenant Jason Webb Tokens ont été pendant cette expression, alors laissez-moi vous donner, Ah,un alors laissez-moi vous donner, Ah, Ah, instantané de ce qu'ils sont. Ils sont fondamentalement une chaîne qui a codé des informations sur un utilisateur à peu près c' est ça dans un naturel sur réel. Finalement, il est utilisé lors de l'envoi d'appels FBI à une entreprise et l'époque aussi que le serveur qui reçoit l'appel A P I peut l'évaluer pour voir si ce jeton est valide. Si les informations contenues dans cette conversation et ou cette chaîne contiennent des informations qui peuvent le valider, cela provient d'une source légitime. Donc, tout le point des jetons Jason Webb en ce qui concerne l'authentification de l'utilisateur est que lorsque nous voulons sécuriser un A p I basé sur l'utilisateur qui l'appelle, nous pouvons utiliser des jetons Jason Webb pour dire que lorsque vous faites un appel orteil, vous savez, vous authentifier, je vais vous donner un jeton. Et chaque fois que vous faites d'autres cartes ou quelque part que vous avez besoin d'être authentifié, vous pouvez simplement me montrer ce jeton sur. Je vais vous donner le passage. Nous pouvons définir des dates Shin d'expérience sur ces jetons de sorte que si j'ai utilisé un jeton toute la journée sur le temps d'expiration est dit peut-être un jour sont peut-être trois heures. Cela signifie que sur la troisième heure ou la 4e 0 R une minute après la troisième sur Semble me donner ce jeton. Si j'essaie d'utiliser à nouveau ce jeton, je ne suis pas non autorisé, et j'ai besoin de s'authentifier à nouveau pour obtenir de nouveaux jetons. Donc c'est tout le point de départ. Jetons Jason Webb. Donc, une fois de plus, un utilisateur va faire une opération qui va déclencher sur le FBI. Nous nous attendons à voir que cet appel à l'A P A a un jeton. Si ce n'est pas le cas, alors nous allons dire à cette personne qui a besoin d'orteil de s'authentifier. Ils ne sont pas autorisés. Si nous nous authentifions, nous allons leur donner un jeton avec une date de tibia d'expérience, alors tant qu'ils utilisent ce jeton, ils peuvent utiliser notre point p i n. Donc généralement, le client stockera ce jeton jusqu'à ce que nous le disions. C' est exprimé, et il essaiera d'en obtenir un nouveau. Donc c'est tout ce que la relation Ou ne fonctionne nulle part. Construire le A P. C'est le dos sur. Plus tard, nous construirons l'orteil d'un client beaucoup ce que nous avons mis dans notre FBI. Bon, donc c'est assez bavardage. Et en théorie, passons à un peu de la pratique. Donc, dans ce même contrôleur d'utilisateurs que nous venons de construire, je vais mettre dans une autre fonction privée. Donc, je vais dire privé et ensuite faire celui-ci voir sur ce sera une tâche qui nous retournera chaîne sur. Alors je veux appeler celui-ci génère Jason dont on parle. Ensuite, je vais vous dire qu'il doit enlever un paramètre de type utilisateur d'identité. Très bien, sur, alors, Ce que je vais faire est qu'il retournera une chaîne, mais je vais mettre la cause de la fonction quelque part apparaître donc je viens de lire le formulaire un appel pendant que je suis à elle. Donc, après que nous avons appelé l'utilisateur, Donc, nous avons eu l'objet utilisateur. Ce que je vais faire ici, vous sauvez notre chaîne de canons. Donc ce dysfonctionnement génère ce jeton Jason Webb et renvoie cette chaîne, non ? Quelqu' un pour dire chaîne de jeton est égal à attendre Sur cet appel téléphonique, nous transmettons ces droits d'objet utilisateur afin que les informations de l'utilisateur entrent dans. Non, exaltons cette génération. Jason, on parle. Donc il y a quelques choses que je vais faire ici. Um, sur certaines de ces choses impliquent des configurations qui ne sont pas ici, donc je veux juste voir retourner une chaîne vide pour Non, je viens de m'arrêter. Il est les angoisses pour le dysfonctionnement sur. Alors ce qu'on veut faire de notre Jason. Ce qui parle, c'est que nous voulons lui donner une clé, alors voulez lui donner une certaine valeur qui sera toujours utilisée. Comme ce que nous appelons des agressions quand vous générez un mot de passe. Donc, dans les paramètres de l'application, pas Jason sous les hôtes seuls comprennent d'appuyer sur une virgule. Ensuite, je vais créer une nouvelle section de conflit. Je vais l'appeler G w t. Et puis je dis deux-points et puis j'ouvre une nouvelle paire d'accolades. Alors nous l'avons fait. Donc vous voyez que ce Eh bien, c'est un fichier Jason Donc si nous avons écrit Jason ou regardé et Jason depuis un moment, non. C' est donc le même genre de formats. Sotchi Colon sur la valeur sur. Ensuite, nous en avons un autre que nous allons appeler Émetteur pour une valeur cool sur Andi. Droit ? Je vais donc inclure de la documentation sur toutes ces exigences pour JWT. Euh, quels jetons Jason Webb être mis en place dans le noyau net de points. Certaines de ces choses que vous devez lire et comprendre, et vous pouvez savoir, mémoriser haut, mais au moins vous avez quelques conseils. Bon, donc pour la clé, je vais utiliser ah, des chaînes statiques. Je vais également inclure cette chaîne statique sur est juste ah généré. Est-ce que je dévalue ? truc, Letruc, c'est que tu ne veux pas utiliser de clé. C' est à Schardt. Je pense que lorsque vous utilisez une clé qui est à Schardt, cela vous donnera sur les ondes en disant que la clé n'est pas assez sûre, pour ainsi dire. Alors vas-y. C' est une sorte de valeur parfaite à utiliser parce qu'il n'est pas quelque chose que quelqu'un peut simplement regarder votre cour et mémoriser la clé sur. Ce n'est pas quelque chose que vous pouvez mémoriser non plus, mais c'est , vous savez, c'est assez unique, et il est assez long pour répondre aux exigences de sécurité, donc j'aurais fait face qu'il est inclus. Il avec La ressource est pour cette vidéo. Dis peut le réutiliser. Ou je peux juste trouver quelqu'un peut même probablement aller dans la base de données et copier un de ces ID d'utilisateur et utiliser leur C'est bon. Et puis, pour l'émetteur, je vais juste écrire test dot com. Donc pour non, comme sur le développement, nous pouvons utiliser pour arrêter le calme quand nous déployons voudra probablement changer cela comme un domaine plus sensible, non ? Alors c'est qui émet ça ? JWT ? peu près. Toutes ces informations sont utilisées lors de la génération de cette conversation et de cette chaîne. Non. Maintenant, nous avons fini avec les paramètres que Jason nous avons besoin de g o sur obtenir une bibliothèque. Quelqu' un va directement pour réussir à obtenir des paquets sur, puis sous Bro allaient juste chercher de la bière JWT. Donc, quand nous faisons cela, nous devrions voir que Microsoft DOT est une authentification de base. Bière JWT. Bon, donc nous pouvons aller de l'avant avec ça et une fois que vous avez cette inclusion, eh bien je l'ai essayé avec la pré-version d'inclusion que je n'ai vraiment pas travaillé pour moi. Hum, il hommes notre pour votre basé sur la version off dot net core parce que je pense que cela a augmenté par quelques incréments. Donc, nous pouvons Antic inclure la pré-version et juste obtenir la version stable. Ok, alors allons juste obtenir cette stabilité. Donc, je suis juste sur le tic-tac. Inclure la pré-version. Et je reçois cette version stable sur je l'inclus dans mon projet, acceptant n'importe quoi. Et puis une fois qu'il est terminé le téléchargement, nous devons nous diriger vers notre démarrage, pas sur CS fichier. Commencez à configurer certaines configurations. Eso démarre point CS sur. Nous allons à notre section Conficker Services puis juste au-dessus de la configuration de gin slugger Dépôt avec commencer l'écriture des services point Ajouter l'authentification. Désolé. C' est une authentification par virgule. Andi à l'intérieur du parent cette saison. Que dire ? JWT Beerer valeurs par défaut, à droite. Authentification ancrée. Skeel, va à la ligne suivante, puis je vais dire « Dot Dust Jwt Beer » et ensuite on va refaire quelques options, compris ? Pour voir ou sur dinar petit agneau, l'expression regardant flèche puis à accolades et un demi-côlon. Donc, je vais juste fermer ça. Bon, de temps en temps, je veux briser la ligne ici. Et ils allaient commencer à écrire dans certaines options, quelqu'un à dire ou pas. Les paramètres de validation de jeton sont et savent que nous allons voir, hum, définir des paramètres par lesquels nous allons évidemment valider tout ce qui est en parler donc, ça va être égal à nouveau paramètres de validation de jeton. Et nous sommes en train d'initialiser un nouvel objet. Et je pense que cela veut dire que je dois inclure quelque chose. Donc je l'ai inclus. Laisse-moi juste mettre un cynique et à la fin, cette accolade. Très bien, Donc, la première option est de valider l'émetteur sur celui-ci est vrai. Vous voulez vous assurer que l'émetteur est violé ? Ensuite, validez l'audience, et c'est également vrai. Ensuite, nous validons la durée de vie, donc nous assurer qu'elle est valide pour la période pour laquelle nous avons dit qu'elle devrait être votée. Nous voulons valider le problème sont la clé de signature. Ensuite, nous en arrivons au point où nous disons, Ok, qui est l'émetteur valide ? Donc je vais dire qu'un émetteur violent est celui que j'ai dit c'est selon ma configuration et quelque chose qui bouleverse. Obtenez la configuration de JWT avec l'émetteur de valeur, notre bureau de valeur sur lequel vous êtes. Tu te souviens qu'on a dit cette année de se calmer, non ? Donc je veux dire, à ce stade, c'est assez sans conséquence. Quand on sera public, il jouera un rôle plus important. Et puis le prochain est un public valide et ce sera aussi la valeur de l'émetteur. Ni la dernière ligne n'est le problème ou la clé de signature. Très bien, et ensuite ce non va dire quelle était la clé. Et je veux au tribunal. Donc je pense que je dois inclure quelque chose de cordage étranger ici. Donc, c'est dire que la clé de signature sera, euh, clé de sécurité symétrique, souvent en version d'ID filaire, quelle que soit la valeur que nous mettons sur la clé. Alors rappelez-vous que plus la clé est longue, mieux c'est. Je suis sûr qu'il y a une limite de longueur, mais je suis pour une recommandation que vous utilisez une bonne valeur juste là. Très bien, donc ça résume O r configuration pour notre Nous parlons au moins ici. Je sais que si j'ai manqué quelque chose, tu viendras certainement plus tard. Alors continuons avec ça. Andi, tu peux, tu sais, prendre un peu de temps. Regardez-le. Hum, Andi, encore une fois, la lecture plus loin Eh bien, gentil nous guide à ce que sont chacune de ces configurations. Les options sont celles que vous pourriez réellement vivre sans. Tu sais pourquoi ils sont nécessaires ? Non. Aller à l'avant. Nous allons revenir à nos utilisateurs. Contrôleur Goto notre fonction où nous générons ces chaînes de jeton sur. Ensuite, ma première ligne va dire, Eh bien, je pense que je dois inclure quelques conflits, donc j'ai besoin d'injecter une dépendance pour le fichier de configuration. Donc je vais juste voir privé je me suis débrouillé. Il devrait être lu seulement et ensuite inclure quelque chose ici. Très bien, bien, je pense que j'ai juste inclus le mal les mauvaises conférences. Laisse-moi me défaire, et laisse-moi réessayer. Donc, ce n'est pas la configuration supérieure d'automne que nous voulons. Celui que celui-ci, la configuration de l'extension Microsoft. On y va. Ensuite, je vais juste le brancher en tant que dépendance et l'initialiser sur DSO Non, nous avons accès aux flux Khan. Donc, environ deux ou fonction orteil générer la clé Jason. Donc, je vais commencer avec une variable appelée clé de sécurité, alors cela va être égal à une nouvelle clé de sécurité symétrique. Vous voyez, si je pense qu'après le type de crapauds, alors je pense que je dois inclure quelque chose. Alors, Elton entre . Je viens d'inclure cette bibliothèque en conséquence. Une nouvelle clé de sécurité symétrique est donc activée. Alors ça va ressembler à cette terre en démarrage. Donc, je vais juste copier ceci donc je n'ai pas à taper toutes les charges sur eux. Ne serait pas juste découpé. C' est ici. Donc c'est notre nouvelle clé de sécurité. Hum, et puis hors cours, ce ne serait pas à la place de la configuration des mots durs. J' ai la dépendance pour la configuration. Donc, ce serait un conflit de soulignement. Très bien, alors j'ai besoin d'inclure le manquant avant d'encoder. D' accord, c'est tout. Donc, la clé de sécurité symétrique de symétrie fait que nous avons nos identifiants, et c'est égal à une nouvelle signature, signature des identifiants. D' accord, , alors, ça va avoir la clé de sécurité sur laquelle on vient de créer. Ensuite, je vais dire que nous utilisons une sécurité Calgary eux ou hors de tous les algorithmes de sécurité que j'utilise chaque simulacre de tir. 256 Très bien, donc nous voyons que nous générons la clé de sécurité en utilisant cette clé. Ensuite, nous voulons l'orteil d'identification. Avoir un peu de Chut, accord. Donc nous étouffons ça juste là. Ensuite, je vais faire ce qu'on appelle des crèmes. Donc vous auriez vu une table appelée Nettoie. Et la revendication est vraiment simple. Réclamation, c'est dire que quelles sont vos informations ? Qui prétends-tu être ? expliqué que dans les premières parties sur ce que le JWT a dans ses données. Nous pouvons donc avoir la possibilité de créer réellement les crèmes que nous voulons inclure dans ce flux. Donc, je vais créer une liste que je veux dire Vier revendications est égal à un nouveau type de liste, revendication de cause propre est ah, un type de données intégré naturel. D' accord, Andi a besoin d'inclure un système que la sécurité qui revendique la bibliothèque vient de mettre un cynisme et là, je vais dire, donne-moi une bombe nucléaire. D' accord , alors. Je vais voir J w t enregistré O. C nom de réclamation. Donc, la bibliothèque Gentleman T nous donne toutes les réclamations potentielles que nous pouvons faire à l'intérieur d'une discussion. D' accord, donc quand on aura le registre, réclamer des noms, je peux dire point et ensuite tu les verras avoir l'air obscurs, mais et certaines des choses ont du sens contre le prénom de famille. Les études de genre sont tous les bits d'informations que vous pouvez inclure dans le jeton, sorte que lorsque quelqu'un obtient ce jeton après que l'utilisateur a authentifié cette conversation et leur communique toutes ces informations. Donc c'est en fait un moyen agréable, plus sûr et masqué de fournir des informations sur les réclamations, n'est-ce pas ? Donc le premier quand je veux, c'est le sous-marin Andi. Je vais dire que je veux que SoBe ait la valeur du sermon de l'utilisateur, mais je positionnerais un utilisateur d'identité email point utilisateur. Donc, il va orteil détient l'e-mail de l'utilisateur. D' accord, ensuite. Mais ce n'est qu'une nouvelle revendication. Au lieu d'écrire beaucoup à nouveau orteil, il va dupliquer cette ligne sur. Alors le suivant serait g a t. I. D' accord, pour celui-là, je vais leur donner. Ah, sorte de statique, mais bien généré de bonnes valeurs. Un nouveau bien sur. Ensuite, je vais le mettre en chaîne pour apaiser tous les types de données requis. S un nucléaire doit avoir le type sur la valeur, droit sur la valeur doit être une chaîne. Donc, nous devons obtenir le bon. Alors donnez-lui l'histoire. Ensuite, je vais demander à une mère de réclamer. Donc celui-là va être une nouvelle équipe. Et puis la raison de taper ceci afin de ne pas dupliquer que celui-ci va être un type de réclamation. Très bien, donc c'est les types les moins propres. Et ça va être appelé feu d'identité. Donc je pense que je dois inclure quelque chose ici. Alors je sors juste et entre Onda. C' est tout nous. Ce sont des types revendiqués, pas des types de crèmes, non. Étiquette de réclamation L'orthographe est importante, les gars. Très bien, alors et puis je suis allé voir un utilisateur. C' est bon, donc c'est l'identifiant de l'utilisateur. Donc, après cela, j'ai construit tout de ma liste hors, nettoie, puis je vais aussi obtenir les règles, donc je veux les règles que cet utilisateur a tellement virales. Donc, la chose est que j'utilise je ne peux pas plusieurs rôles même si nous avons des utilisateurs et en fin de compte sera attribuer chaque orteil utilisateur un seul rouleau les réalités que chaque, euh, euh, système d'authentification basé sur l'utilisateur Um bonjour, Zito ou devrait être conçu pour faciliter plus d'une règle. Donc, je vais juste obtenir toutes les règles de toute façon, donc je peux juste dire que le gestionnaire d'utilisateurs ne pas obtenir les règles est couler sur. Ensuite, je reçois juste les règles associées à votre utilisateur. D' accord, donc j'ai quelques réclamations à ce moment-là. Ce que je veux faire, c'est que l'utilisateur est une partie de cette règle et quoi que ce soit, afin que nous puissions aider avec notre autorisation. D' accord, alors je vais faire cette ligne hors cour, où et quand dire des points de réclamation. J' ai besoin d'ajouter les règles à travers la liste. Off nettoie avec ce genre de montage, il y a après le travail. Un peu de magie, je veux dire ajouter la portée sur. Ensuite, je vais voir les règles dot select. D' accord. Donc, la chose cool à propos de lien est que sur le flak et sélectionnez à partir de lui, puis créer. Et je vais juste dire notre Lambda quoi ? Je crée un nouvel objet générique hors type crème ou bien, je suppose que ce n'est pas générique. Si c'est hors de cette réclamation, alors je vais dire que je crée une nouvelle revendication pour chaque règle qui va sortir de ceci. Andi, je veux réclamer des points d'identité. Règle par défaut. Très bien, donc le type de revendication de règle par défaut. C' est le type de crème que je veux. Alors la valeur, bien sûr, va être notre non onda. Eh bien, en fait pas ne sont pas désolé. Juste sont tellement sont de passer dans la valeur de notre Tout droit, donc j'étais en fait une rue. Très bien, donc c'est en fait une liste de ST alors c'est quand on arrive, monsieur. Oui. Donc, euh, ça aurait été obtenir des objets, mais en fait on obtient juste les noms de règles ici, donc je reçois les noms de règles, ce qui est juste une liste de chaînes sur. Alors je dis juste que pour chaque chaîne qui revient, nous créons ça propre. D' accord, puis Semi côlon. Non. Après avoir fait tout ce que nous avons finalement construit notre jeton un peu pour sauver notre parler est l'égalité. Un nouvel orteil de sécurité JWT peut. D' accord, alors. Je me trompe. On cherche l'émetteur, quelqu'un pour dire que j'appelle l'émetteur. D' accord, Onda. Donc, si vous regardez les overlords pour cette fonction, cela prendra pas mal cela prendra pas malde paramètres. Donc, nous allons remplir le remorquage avec celui-ci, le quatrième paramètre, qui va prendre beaucoup de valeurs. Donc, la première chose est l'émetteur. Ensuite, nous avons besoin du public, que nous allons vous réutiliser émetteur. Ensuite, nous devons inclure la réclamation, donc nous allons juste la remplir au fur et à mesure que nous allons. Donc, je suis sorti l'émetteur deux fois. Donc, Issuer, je comprends la ligne de frein. Émetteur de coma sur. Je viens de remarquer cet électeur, pas Vier. Désolé. Ok, laisse-moi juste briser la ligne pour que tout soit clair et pas mélangé. Droit ? Coran. Donc émetteur, émetteur. Et puis la liste des réclamations. accord, D'accord,alors, pour toutes les autres valeurs que je suis allé orteil ont bien, la date sinon avant, je vais avoir pas. Ensuite, le paramètre suivant sera le je pense que c'est le temps d'expiration quelqu'un à dire expire. Onda Colon Andi, je vais fixer l'heure d'expiration asiatique pour que ce jeton soit, Voyons voir, deux heures. Donc je veux dire, c'est tellement hors cours que vous voulez être pratique avec l'expiration parce que si elle expire toutes les deux heures, cela signifie que cette utilisation seulement pour s'authentifier toutes les deux heures. Certaines personnes l'ont mis à un jour. Je suis sûr que vous remarquez que certains sites Web garderont votre tour connecté pour l'éternité et quelque part de sable que vous aimeriez dès qu'il a fermé Ambrose et que vous avez vraiment Broza et essayé de retourner dans le sable, accord. Donc je suppose qu'ils utilisent la gentilité et un peu de temps pour dire ajouter des minutes et des secondes. Um, des fins de test, je vais juste dire ajouter des minutes sur un bois pour dire cinq, mais c'est ça expirera cinq minutes après qu'il a été émis, et je le fais de cette façon pour que nous puissions le tester totalisé dans le vie hors de l'une de ces leçons, n'est-ce pas ? Donc la prochaine chose que j'ai est de signer des identifiants, rappelez-vous que nous venons de créer des identifiants. Donc, nous allons juste passer la valeur des identifiants juste là comme assigner des identifiants à ce moment-là qui termine notre discussion et notre génération avant un continent. Voyez ici que j'ai un peu Oh, je pense que j'ai peut-être inclus une bibliothèque que je n'avais pas à dire. Si vous voyez des lignes rouges comme j'ai ici, alors je n'ai pas besoin de Microsoft. Cette identité, c'est Jason. Quels jetons. C' est ce dont je n'ai pas besoin, non ? Donc encore une fois, si vous obtenez les lignes rouges comme je suis pour le Général C E Jwt Désolé, noms de réclamation enregistrés. Il peut simplement supprimer cela en utilisant l'annonce. Ce sont les points du modèle, Jason, avec des jetons, tout droit sur qui devrait corriger cette erreur sur. Ensuite, après avoir construit notre jeton, alors nous pouvons retourner une valeur plus raisonnable dans la forme off. Nouveau gestionnaire de jetons de sécurité JWT activé, puis points. Et puis vous voyez bien, Donc, vous pouvez. Ensuite, on a laissé tomber la discussion. Très bien, donc ça va juste retourner le flux le jeton sous forme de chaîne. Donc, une fois que nous aurons obtenu cette chaîne de jeton, je vais l'inclure avec la réponse. Rappelez-vous que répondaient avec les objets utilisateur peut-être entiers, que je ne vais pas faire cela correctement ? Non. Au lieu de cela, quoi ? Je vais faire est juste de retourner les jetons. Je vais juste voir un retour. Andi, je veux le faire. En fait quelqu'un capable de créer un, um, des objets ou un jeton générique um, est l'égalité. Donc, la chaîne peut. D' accord. Donc, cela signifie qu'une fois qu'une personne s'authentifie, la réponse sera correcte, et ils récupéreront le jeton. Colon a pris et ficelle sous la forme de Jason. Alors mes clients devraient consommer ça. Range-le. Ensuite, pendant toute la durée de vie hors du jeton, il contiendra les informations des utilisateurs. Alors testons et voyons à quoi ressemblera ces jetons. D' accord, donc j'ai le facteur sur mes demandes précédentes sur. Nous savons que cela est allé dans le cas où sera limité. Essayez admin sur, puis envoyez et puis Voila. Voilà à quoi ressemble notre instrument de conversation. Bon, donc ce flux de jetons incarne à nouveau toutes les choses que nous avions mises en place. Nous mettons quelques réclamations pour l'e-mail. L' utilisateur i d la bonne valeur générique ont été mis en. S' ils sont séparés, notre règle ne le sont pas ou quelles règles elles sont toutes séparées. Qui poursuit-il ? Qui est l'utilisateur, toutes sortes de choses. Le délai d'expiration. Donc, dans cinq minutes, il expirerait. Alors je l'ai mis à cinq minutes. On ne va pas tester cette expression parce que tu ne la verras pas, non ? Non. Mais ce que nous allons faire dans la prochaine vidéo est que nous allons revenir sur, commencer à asseoir quelques autorisations sur, vu l'existant dans les points, et il verra comment cela fonctionne. 34. Dispositif Setup et autorisations d'action: vous les gars dans cette vidéo, nous allons mettre en place des autorisations sur nos différents points de terminaison dans notre contrôleur des auteurs sur. Nous allons valider ou parler la fonctionnalité en même temps. Donc, ce que je vais faire, c'est que je vais choisir quelques points de terminaison qui devraient avoir une autorisation sur, puis peut-être durcir veulent certains basés sur les règles sur. Ensuite, j'ai perdu un peu pour être anonyme juste pour que nous puissions voir la différence ou l'impact que le fait d'avoir la bière parler et la ficelle dans nos demandes aura. Donc ce que je vais faire ici, je vais dire que c'est pour obtenir des auteurs. Je vais laisser ça tranquille. Certains le problème de soutien squint t obtenir. Et je vais aussi juste beaucoup d'anonymes. D' accord ? Cela signifie que tout le monde devrait être en mesure de faire une demande sur obtenir les auteurs, cependant, afin de le faire et je crois que celui-ci est un faible anonyme. Aussi, ces magasins sont faibles anonymes. Cependant, afin de créer, je vais restreindre Ah, je vais orteils sont mieux. Oui. Laisse-moi. D' accord. Oui. Je suis désolé. Je suis juste que je fais ça pendant que je sors. Donc, ce qui ne veut pas faire ici, c'est autoriser quelqu'un à autoriser la création sur. Auteur. J' essaie d'être aussi réaliste que possible sur. Alors je dirai bien, quelqu'un pour autoriser celui-là. Et je veux spécifier les règles. Donc, je ne peux pas dire auteur comme accolade ouverte et fermée sur les seules règles que je veux pour que je puisse voir les règles est égal à remarquer voir les règles. Donc vous avez une chaîne, mais vous pouvez venir séparer toutes les règles qui sont seules, non ? Donc, si vous avez peut-être, genre, nous avons deux rouleaux d'administrateurs personnalisés et web. Donc, ici, je dis que la seule règle autorisée à frapper ce point de terminaison est un administrateur sur ce que je vais faire. Donc c'est quatre créer. Et puis ce que je vais faire, c'est pour la mise à jour. Je vais autoriser les deux. D' accord. Donc, je vois soit Allchin sur puis pour supprimer sur ce. C' est en quelque sorte contraire à la norme. Je suis avec du jaune. Les seuls clients qui suppriment les auteurs sont ce qui est en désaccord avec la norme, mais nous permet de juger et de voir comment cela fonctionne pour nous. Bon, donc je suis allé en mode débogage et j'ai un facteur et ensuite nous allons tester aussi ces points de terminaison. Donc, je vais essayer avec les obtient le premier get où je devrais être en mesure d'obtenir tous les auteurs envoyer la demande. Andi, j'ai tous les auteurs, donc j'en ai créé un autre dans le passé, mais oui, donc j'ai tous les auteurs. Nous avons deux auteurs et de la même manière que je n'ai pas spécifié d'autorisation en plus la get by i d. Nous obtenons l'auteur avec le I D à Non, j'ai spécifié. C' est et je vais juste revenir en arrière et m'assurer que créer, laissez-moi trouver créer Donc créer nécessite un administrateur. Voyons donc ce qui se passe lorsque j'essaie de créer. J' ai donc un Bunton. C' est mon auteur que j'essaie de créer et vous voyez ici que je reçois un 401 sur autorisé parce que je viens de dire que quelqu'un doit être autorisé pour passer ce point juste ? Donc, je vais juste revenir à mon, euh, euh, authentification et au lieu de m'authentifier avec l'utilisateur et est allé essayer le client un, donc je ne vais pas être admis avec le client d'utilisation un envoyer sur. Puis j'ai récupéré le droit de parler. Donc, afin d'utiliser ce discours et après prendre la valeur et la valeur est tout ce qui est à l'intérieur des guillemets, pas les guillemets. Donc, j'ai autant que les configurations vont, ce jeton est valide pendant cinq minutes, je vais revenir à ma demande. Les auteurs À droite. Ensuite, je vais inclure ceci dans les paramètres de ma demande. Donc, je vais aux autorisations. Droit ? Donc tu as un rôle. Je suis désolé. Pas des problèmes, mais des autorisations, même si l'ajouter ici finira comme premier ministre. Adulte. Mais c'est plus facile ici, donc je vais à l'autorisation. Ensuite, je choisis le jeton porteur sur puis la valeur de Poutine. Ils peuvent voir ici que Adebayor parler là à partir d'une de mes activités précédentes et mettre dans ce nouveau jeton sur puis je peux cliquer sur envoyer Alors que se passe-t-il qu'il inclut ce jeton dans la demande sur remarqué ? Ce n'est pas de voir quatre ou trois interdits. Nous sommes donc pour une auteure, ce qui signifie que vous n'êtes pas authentifié. Vous ne pouvez pas interagir avec quatre ou trois, ce qui signifie vraiment que, euh , vous savez, ils sont presque utilisés de façon interchangeable, mais quatre ou trois signifie que vous pourriez être authentifié, mais vous n'êtes pas autorisé. Droit ? C' est donc la différence entre le quatrième tour pour un. Donc, il voit le jeton porteur. Mais alors les informations propres dans le jeton porteur ne lui indiquaient pas qu'il s'agissait d'un administrateur, ce qui est exact parce que nous aimions juste en tant que client. Laisse-moi essayer à nouveau avec l'admission, et je vais avoir cette valeur. Donc ce que je vais faire, c'est que je vais écrire ce discours en valeur. Donc la première conversation et que j'ai eu du client, j'ai juste pris note de ça parce que rappelez-vous, c'était une expiration de cinq minutes heure asiatique, non ? Donc je vais le réutiliser sur un client légitime, hum, opération. Et puis on voit si ça marche, je suis sûr que cinq minutes auraient l'amour répété ce temps-là. Quoi qu'il en soit, c'est un jeton admin. Laisse-moi prendre cette conversation d'administrateur. D' accord, je remarque qu'il n'y a aucune information ici qui indique si c'est un administrateur qui parle à notre client . C' est juste un jeton en ce moment. Je veux inclure celui-ci avec la demande sur, puis cliquez sur Envoyer. Andi nous permet de voir ce qui se passe sur l'obtention d'une limite pour les enchères. Retourne voir quelque chose. Ah, voilà pourquoi les questions d'orthographe sont laissées ouvertes. J' ai eu beaucoup d'affilés ou donc laissez-moi sortir du courant du mode de débogage qui se répand lors de la tournée du ministère sur Essayons à nouveau. Bon, donc nous sommes de retour en mode débogage et laissez-moi essayer à nouveau. Andi, j'envoie avec le jeton. On recule quatre ou trois. Donc, je pense que je pourrais devoir changer une configuration avec les revendications. Um, donc quand ils sortent du bateau amarré et puis juste pour s'assurer que l'autorisation fonctionne sans faire est de supprimer la partie des règles sur, retournez dans le débogage plus que de tester le même jeton juste avec l'auteur s. donc quand ils sortent du bateau amarré et puis juste pour s'assurer que l'autorisation fonctionne sans faire est de supprimer la partie des règles sur, retournez dans le débogage plus que de tester le même jeton juste avec l'auteur s. cela signifie que peu importe quel utilisateur en tant que jeton est présent avec, hum, ce n'est pas expiré, cela devrait fonctionner. Et puis cela confirmera si c'est, ah, ah, problème lié à la réclamation. Donc, si je l'essaie à nouveau pour créer ce nouvel auteur, nous y allons. Donc ça marche. Donc, c'est quelque chose avec les revendications sur les règles. Bon, donc si je prends toutes les autorisations, c'est là. Dites non, puis essayez d'appeler ça à nouveau. Ensuite, nous obtenons ça pour un non autorisé. Mais dès que j'ai mis le signe du porteur, c'est une conversation valable. Ça marchera. Alors revenons juste en arrière. Sortez de depo Mood sur l'examen O R. Réclamations six dans ou contrôleur utilisateurs. Très bien, donc ce que je vais faire ici, c'est fixer des points de tissu sur mon terrain 82 après avoir obtenu les règles juste pour m' assurer que les règles reviennent correctement. Donc, je suis allé à démystifier plus de deux tentatives de connexion avec Postman pour le clic admin envoyer sur. Puis j'ai dit les points de rupture et quand il frappe ces points de rupture, nous regardons et nous ne voyons pas Rose revenir. Alors c'est le problème, non ? Donc il y a Norrell qui revient pour l'administrateur, et je pense que je sais pourquoi. Um donc si vous vous souvenez quand nous avons créé l'utilisateur dans la vidéo précédente à l' administrateur mal orthographié ou si ce qui s'est passé est qu'il n'a pas tenté de créer l'utilisateur à nouveau, et par conséquent, il n'a pas associé l'utilisateur à la règle, Donc je vais le faire manuellement. Andi. Je vais juste dans la base de données afin que vous puissiez vous connecter à votre SQL Server. J' ai toujours le mien d'exemples précédents sur Il y a une table ici qui dit les règles utilisateur SP Net , non ? Donc, si je passe à n'importe quel top 200, cela me permettra d'entrer simplement l'utilisateur i d et le rôle associé I d. Donc, si je vais dans les règles et que je viens de détruire, cliquez sur le haut 200 à nouveau et puis je vois cette règle d'administrateur comme un I. d. droite. Alors il suffit de copier ce que j'ai dit. Ensuite, je vais le mettre en règle générale, i d. Et puis je veux le rôle d'utilisateur pour les utilisateurs. Donc, je pense aux utilisateurs ouverts. Quelque part, il y a l'utilisateur admin. Je décide de cette copie que la valeur sur le mettre comme l'utilisateur que j'appuie sur à bord, propre sur elle sera engagée dans la base de données. Donc, non, j'ai associé ID mon utilisateur admin avec les règles. Donc c'est ce que je voyais que vous savez, je pourrais avoir l'idée d'utilisateur dans un autre rôle. Des idées que l'administrateur pourrait être à la fois désolé. Cet utilisateur admin pourrait être à la fois administrateur et client si je voulais qu'il soit conçu de cette façon. N' importe quel trou, non, c'est nous savons qu'aucune règle ne revient et que ça fait partie d'un problème. Il n'était pas inclus dans la réclamation, alors réessayons. Donc je vais orteil utiliser facteur, faire une autre tentative de connexion pour obtenir un nouveau jeton. Et puis j'ai regardé en arrière dans les règles et nous voyons non, que notre rôle revient. D' accord, donc tu n'avais probablement pas ça, euh que j'avais parce que tu t'es bien orthographié dès le départ. Donc, c'est bien. Les cidres ont poussé à travers et valident que cela fonctionne. Alors maintenant, on revient. La réclamation sur ce jeton semble beaucoup plus grande. Cette chaîne a l'air beaucoup plus grande qu'elle n'avait l'air avant. Donc la revendication, le talkin désolé, leurs rôles n'étaient pas inclus dans la chaîne de conversation. Laisse-moi revenir à ma création sur Put in My New Bear, une corde qui est plus grande. Donc je saurai toujours que quelque part de l'information est dedans sur. Je vais changer les informations de l'auteur. Laisse-moi essayer Hilton Burton. D' accord , , alors. Laisse-moi envoyer un peu voir les armes. On y va. Donc, nous voyons que la règle a réellement joué un rôle énorme en sachant si cet utilisateur est l' auteur en tant que sécurité. Toute l'action, non ? Donc, lorsque le rôle n'était pas dans le dans le jeton, la revendication n'a pas pu vérifier. Droit ? Donc, non, nous pouvons voir que cela fonctionne. Eh bien, années ont probablement déjà fonctionné, donc je rattrape juste. Si le vôtre travaillait avant l'esprit, alors vous êtes sous attirer. Félicitations. Donc, non, nous pouvons aller de l'avant et tester avec les autres points de terminaison et d'autres jetons. Alors c'était le Oh, quoi ? Je n'ai vraiment pas fini. Alors laisse-moi. Je viens de réaliser que je ne l'ai pas vraiment validée. Donc, permettez-moi de remettre la partie qui dit que les règles égal administrateur orteil matrices Bill administrateur correctement sur. Laisse-moi essayer encore une fois. Donc Noah Puente confirme que ça marche. Maintenant, un autre auteur. Celui-ci va être mon carburant. Euh, Johnson. D' accord, on. Ensuite, je clique. Envoyez Andi. Ça marche. D' accord. Alors non. Notre réclamation sur les administrateurs inclus dans le jeton porteur. Donc, quand il frappe le autorisé autorisé seul l'administrateur à passer par. Donc non, je vais essayer un. Donc, nous voyons que le pire de l'administrateur. Donc, je suis presque sûr que va travailler avec la mise à jour de la même façon que je vais essayer une avec l'administrateur. Transit. Effectuez cette suppression lorsque seuls les clients sont des utilisateurs dans le rôle client. Arlo pour le faire. Alors laissez-moi juste valider cela aussi. Laisse-moi juste trouver l'allumage alors. Je vais modifier et dire, D'accord, D'accord, je viens de modifier orteil auteur, avoir cette information certainement. Modifiez simplement cette requête un peu. Puis mis dans mon auteur Azi montré Bira parler avec les administrateurs. Jeton sur, puis envoyer sur elle m'a rejeté en disant que je suis interdit. Laissez-moi donc me connecter en tant que client cette fois et récupérer simplement un jeton client. D' accord , alors. Laisse-moi juste mettre cette chaîne. Je crois que nous étions dans les suppressions, n'est-ce pas ? Je pense qu'on n'est pas supposé conduire, vrai ? Je pense que j'ai été modifié pour mettre mais devrait en fait être supprimée. Alors laissez-moi essayer de supprimer. Comme les clients sont autorisés avec mon Barrett a pris et mis dans le jeton client sur suppression aussi avec le I d à Tout droit, C'est quand j'aurais été quelque chose, mais nous Vous pouvez le tester si vous voulez, mais je suis sûr que ça va pour travailler avec soit Utilisez un jeton mais sont donc laissez-moi juste en dessous ce premier, laissez-moi essayer à nouveau avec les jetons admin. Donc, c'est la chaîne de jeton admin. Laisse-moi t'envoyer. Je suis interdit donc l'administrateur ne peut pas supprimer. Laissez-moi essayer à nouveau avec le jeton client Onda Nous voyons deux ou quatre pas de contenu parce que la suppression a réussi donc et je ne reçois pas à nouveau, ils obtiennent son public autorisant anonyme aucun auteur avec idee 23456 et sept Cependant sont là sur. Donc c'est comme ça que vous utilisez JWT Talkin remuer, Vous savez, voyez si vous gardez vos points sur assurez-vous que quiconque interagit avec eux a le pouvoir de le faire 35. Révision et ajouter des modifications à GitHub: Hé, les gars, bienvenue dans cette vidéo, on va juste revoir ce qu'on a fait dans cette section et vérifier ou changer pour se lever. Donc, ce que nous avons fait était d'implémenter notre authentification de jetons Jason Webb, et nous l'avons fait en utilisant une combinaison d'identité off core et certaines bibliothèques intégrées à partir de dot net core pour l'authentification JWT. Nous avons donc apporté quelques modifications à quelques fichiers. Nous avons créé un nouveau contrôleur appelé Users Controller avec une action de connexion. Ajout de la journalisation, hum , orteil , vous savez, aimer les actions. Que se passe-t-il ? Où que ce soit hors cours, chaque réelle, chaque action devrait répondre à une certaine norme sur. Nous nous sommes donc assurés qu'il était bien documenté. Onda exploitation forestière était en place et la manutention de l'air. Nous avons également créé un dysfonctionnement pour générer le jeton Web, qui a tiré des informations de plusieurs endroits, à savoir, à savoir, notre fichier de conflit, qui héberge AKI Onda. Nous avons généré quelques réclamations et nous avons ajouté les règles. Donc, les revendications sont correctes et nous allons discuter de ça, vous savez, les réclamations sont fondamentalement des informations qui décrivent qui vous êtes et ce que vous êtes autorisé à faire. Donc, toutes ces informations ont été incluses dans une chaîne que je vais dire simple, mais un long calmer une chaîne qui contenait toutes ces informations. J' ai également réalisé qu'en ajoutant les notations autorisées à certaines actions, nous pouvions contrôler qui pourrait interagir avec le point de terminaison. Donc, nous avons autorisé l'anonyme sur certains. Mais alors nous tendons l'emprise où nous avons dit que seul l'administrateur peut créer sur. Ensuite, nous avons dit que seul le client pouvait mettre à jour. Seul le client peut supprimer. Donc, à votre vue, je suis en fait juste aller orteil enlever tous ces. En fait, je vais aller aux pieds. Autoriser uniquement l'administrateur. L' administrateur va donc être la seule personne qui peut supprimer. Je vais à un administrateur solitaire mise à jour orteil quelqu'un pour retirer le client de leur va orteil beaucoup sur les administrateurs à créer. Mais alors je vais orteil tous les seuls clients authentifiés pour être en mesure de voir quelqu'un pour mettre le même rôle d'autorisation, mais bien, clients, onda et les administrateurs, donc les clients et les administrateurs peut obtenir les valeurs que quelqu'un pour mettre cela sur le get avec une valeur sur le get global générique donc seule personne authentifiée devrait être capable d'interagir avec quoi que ce soit à l'intérieur du, um, entrez le contrôleur donc en ajoutant simplement une autorisation globale moi est que même si je ne sais pas , le point final et je néglige de mettre sur les règles. D' accord. Donc, en fait, puisque je n'ai que deux mondes, ce n'est vraiment pas nécessaire ratifié les enfants de trois ans et il serait nécessaire si je voulais empêcher une certaine règle de le faire. Donc juste en voyant autorisé sur l'ensemble du contrôleur, je n'ai pas à voir autorisé ici sur je n'ai vraiment pas à dire que l'auteur est encore là, non ? Parce que alors celui qui va interagir avec n'importe quoi au lieu du contrôleur le plus être authentifié sur. Ensuite, il devient plus strict où nous disons seul auteur, car les administrateurs peuvent faire certaines choses par la suite. est donc pour que vous puissiez ajouter de la sécurité, orteil vos points de terminaison. D' accord, donc j'ai fait ça pour les auteurs, et je vais le faire pour les livres, la bière avant de m'enregistrer, certains autoriseraient tous les droits du contrôleur et incluraient ce que je dois inclure . Ensuite, je distribue une copie de la ligne où autorisé uniquement pour les administrateurs afin que je n'ai pas à taper tout à nouveau sur l'auteur de quelqu'un en tant qu'administrateur pour créer un nouveau livre. Seul un administrateur peut le faire. Je peux avoir un livre sur Dolan ? L' administrateur peut supprimer un livre. D' accord. Mais alors, en ce qui concerne le contrôle, seules les personnes autorisées peuvent accéder à tout ce qui se trouve à l'intérieur du contrôleur. Avant que tout cela ne soit possible, cependant, cependant, nous avons fait l'activité d'échafaudage où nous avons exécuté notre commande, qui était la base de données de mise à jour, ce qui a exclu, um, nouvelles tables dans notre base de données existante sur je vais juste faire apparaître le système de gestion de base pour vous montrer que nous avons des règles nos règles utilisateur. Donc, ces arrêts six ou sept tables ont tous été générés par enregistrement sur 1/4 identités moteur sur Ils sont tous développés pour nous aider à nous authentifier sur la gestion ou les utilisateurs et les règles. . Nous avons également ajouté, ah quelques lignes à notre démarrage où nous avons dit à notre départ que nous allons utiliser JWT jetons de bière sur Ceci est le genre d'information que nous voulons inclure sont validateur. Vous savez, ce ne sont que quelques options. Tout est éteint. Ce tribunal le sera. J' ai besoin d'aller bien. Non. Sur blast femme et aucun bail de muse ont également été ajoutés une classe de données C où nous avons créé des exemples d'utilisateurs de la get cool. Donc l'orthographe est importante parce que j'ai rencontré des problèmes parce que j'ai mal orthographié administrateur à un moment donné. Donc, cette étape n'a pas été exécutée comme elle aurait dû l'être. Donc, je vais vérifier. Non sur. Je vais juste cliquer avec le bouton droit sur les comètes. Nous écrivons notre message, ce qui le rend , vous savez, aussi clair que possible pour quiconque va regarder notre code sur. Ensuite, je m'engage tout sur l'évier. Ensuite, une fois que cela est fait, vous pouvez toujours aller à la maison et vérifier que vous étiez douloureux. L' école n'est pas appâté et comme toujours, j'inclurais le code source de cette section dans la ressource est ci-dessous. 36. Créer et comprendre la structure du projet Blazor: Hé, les gars, dans cette nouvelle section, nous allons commencer à construire tout ce que vous blanc, notre société sur le FBI sur notre technologie. Off choice est la technologie basée sur l'assemblage Web de Microsoft appelée Blazer. No Blazer est assez nouveau, et il est construit en plus du noyau de filet à points. Andi. Des résumés de principes sont là, mais c'est une grande nouvelle technologie qui vous permet de s'amuser, pas besoin d'aller à réagir ou angulaire pour obtenir cette légèreté. JavaScript basé U Y sur elle est toujours très point net, Donc, nous arrivons toujours à la cour C forte tout en profitant des avantages d'avoir une interface utilisateur très réactive pour aller sur le feu pour démarrer ce projet. Ce que nous allons faire, c'est dans notre projet existant, nous allons juste aller de l'avant. Hum, eh bien, je vais juste effondrer la librairie ap je projette et créer un nouveau projet à l'intérieur la solution afin que vous puissiez avoir plusieurs projets dans une seule solution, et je viens de cliquer avec le bouton droit de la souris sur la solution. Cliquez sur Ajouter, cliquez sur Nouveau projet puis dans la liste des modèles de projet. Tu devrais voir un blazer. Si vous ne voyez pas blazer, vraiment, vous pouvez simplement taper et rechercher un blazer. Et si, après tout ce que vous ne voyez toujours pas, alors vous pouvez également aller de l'avant et installer plus d'outils et de fonctionnalités. Ou vous devrez peut-être ne pas charger les binaires, qui sont en fait des poches avec le dot net core 3.1 sdk. Donc, je crains que ce loin dans le produit. Je ne sais vraiment pas que tu ne le verras pas, alors je vais continuer. Si vous ne voyez pas trois enfants, on peut y travailler ensemble. Quelqu' un pour sélectionner blazer comme modèles de projets, puis je vais lui donner un nom. Je vais l'appeler Bookstore Dashi Y Non, juste le but de ça. Parfois, lorsque les gens réalisent des projets qu' ils connaissent bien, ils réalisent, ils vont construire une application dont ils savent que nous aurons plusieurs projets. Parfois, ce qu'ils font, c'est de créer la solution, lui donner un nom générique, puis les projets sont plus spécifiques. Donc ici vous pouvez voir, j'ai un peu apporté ce principe où j'ai créé le projet initial avec un seul nom. Et donc la solution sur le premier projet a obtenu ce nom. Mais alors je présente un autre projet en remorque, une solution appelée librairie Dash FBI Donc il peut Quand ? Je parce que j'aime vraiment que je peux voir où simplement des confusions. J' ai juste traversé ça. Sachez juste. Donc, vous pouvez l'apprécier. C' est pourquoi la solution sur un des produits du même nom. Mais évidemment, il aurait pu être affiné un peu plus. Bon, alors continuez. J' ai un nouveau tiret de librairie de projet, vous moi et puis je vais de l'avant et cliquez crée. Je sais qu'ils vont me demander quelle version ou quelles fonctionnalités. Désolé, je veux inclure donc je ne veux pas de bâtiment d'authentification. Hum, je vais partir sur tout le reste et je vais juste y aller et cliquer. Créer tous les droits sont nouveaux. Le projet est là. Vous pouvez voir le vert plus parce que, eh bien, c'est nouveau, Donc ce n'est pas encore dans le ghetto, Donc quand vous regardez ça pour la structure, je suis sûr que vous allez avoir d'autres orteils un instant. Andi. Oui, vous avez raison. Il ressemble à notre projet de pages de rasoir que nous avons commencé avec que nous avons lentement transformé en un projet de paire sur. Nonobstant qu'il a quelques fichiers communs qui sont appelés dans chaque modèle de projet dot net core que nous avons examiné jusqu'à. Non. Bon, donc vous avez votre démarrage standard, c'est oui. Et c'est jeter un oeil à cela où les fonctions de démarrage sont à peu près la même façon de ou démarrer le Web. Ou aurons-nous ou constructeur que nous avons ou configurer un Web ou configurer des services ? Très bien, configurez les services. Et nous avons configuré Alright sur. Ensuite, vous pouvez voir que différentes marchandises intermédiaires ont été ajoutées. Donc, dans cette situation, nous avons des services que les artères de pages et à un blazer côté serveur Droit sur, alors ne le faites pas. Ici. Vous voyez que vous avez, Ah, quelques options différentes. Quoi ? Le fait est que dotnet core fournit une base sur alors, fonction de ce que vous voulez, ancienne application souvent, vous pouvez aller de l'avant et ajouter les services requis sur les obtenir bootstrapped dans le début l'application. Donc pas des enregistrements comme une toile vierge. Et sur la base de ce que vous mettez dans votre démarrage qui dit que vous formez une identité à partir de votre application et son comportement global et ses capacités afin que vous puissiez prendre un certain temps et regarder les différents et probablement la comparer avec le début de ce CS de notre a p I projette juste pour voir les différentes au moins pas celles que nous avons intégrées, mais les différentes fonctions qui sont initialisées. Donc ici, à l'intérieur des points de terminaison d'utilisation ont des contrôleurs mob sur. Je crois que c'est un changement que nous avons fait. Puis ici, c'est vraiment vadrouille blazer, espoir sur vadrouille père fosse. Donc, vous voyez, c'est comme des différences, mais alors tout le reste qui est le même La même question tps trois directions. Nous supprimons statique plus rapidement, plus un p I. Mais le routage est là. Et si vous regardez, vous voyez utiliser la rotation sur les https trois directions que nous mettons dans ceux-ci Nous les utilisons parce que nous avons dans notre authentification et l'autorisation une fois de plus le même noyau net de points juste des comportements différents basés sur ce que vous initialisez. Pas de changement à partir de ce que nous avons encore le programme que CS qui fait à peu près la même chose que nous avons encore notre bouleversement est que Jason qui sort de la boîte ressemble à peu près la même façon Nous avons partagé tellement sur le style de défense. Les fichiers que vous remarquez qu'ils ont des extensions différentes. Donc, si vous êtes utilisé pour NBC, alors vous avez CS qui point CS html sur def. Vous avez un rasoir que vous allez voir amarré sensationnel avec une cour derrière un dossier nulle part . Regarder blazer sur l'extension n'est pas Reser. Donc ça pourrait vous ressembler parce que, vous savez, vous avez des pages de rasoir. Vous auriez pensé que Tereza Peaches aurait cette extension, mais ils ne le font pas. Donc, les pages blazer ont lu des piles comme l'extension. Je vais juste prendre un peu de temps et parcourir chaque dossier juste pour vous montrer ce que les faits sont donc hors de la boîte. Donc, n'avez aucune raison. Il y a quelques configurations de base qui nous disent, vous savez, le, hum, comme un vote brut pour les erreurs là-bas. Très bien, tu n'as rien à changer à moins que tu veuilles vraiment changer quelque chose. Vous pouvez aller aux importations, et c'est non, comme une arborescence Duric globale pour toutes les bibliothèques qui seront utilisées dans vos différentes et c'est non, comme une arborescence Duric globale pour toutes les bibliothèques qui seront utilisées dans vos différentes vues. Donc, comme nous allons le long et nous commençons à mettre de nouveaux espaces de noms et de nouvelles bibliothèques et fonctions et classes quand vous savez faire la déclaration d'utilisation dans chaque dossier judiciaire dans un fichier CS point . Si nous le mettons à l'intérieur du rasoir de départ d'importation, il sera rendu globalement accessible à tous les autres, um Riza ph dans le projet. C' est pour ça que se battent les importations. Si je vais dans partagé, vous voyez que vous avez les charges principales sur lesquelles vous avez le menu nav. Vous pouvez voir que leur problème de base des fichiers avec des indices de c forte. Donc, vous voyez toujours un accord en C pointu avec un signe à. C' est vrai ? Donc ici, vous voyez ce cordon de signalisation allumé. Ensuite, c'est littéralement juste voir conseil pointu. Tout cela est le même c pointu que nous avons écrit pour savoir. Et c'est ce qui rend s'il vous plaît sont si génial que vous n'avez pas à mélanger et beaucoup avec trop de javascript. Non, pas que JavaScript soit mauvais. Mais au moins quand ils enregistrent sur un titre, il est plus facile d'identifier où les choses pourraient mal tourner. Parce que tout le tribunal ressemble beaucoup à tout le monde. droite. Donc c'est notre menu assez sur Eh bien, vous pouvez voir ici nous avons trois, hum, liens sortis de la boîte en ce moment. Je vais y passer beaucoup de temps. Nous avons également des pages, donc les pages seraient là où vont nos pages personnalisées. Donc, comme toujours, avoir le discours d'index, qui est juste dire bonjour monde sur autre chose. Vous remarquerez également qu'en plus de nos tuiles HTML régulières, vous voyez des balises personnalisées qui sont, euh, essentiellement, parle pour nous donner des composants de rasoir dans le projet. C' est vrai ? Vous verrez dans extraire des données, vous direz un peu plus de C pointu qui se passe. Donc, d'abord défini la page sur, puis vous lui donnez l'adresse. Je dis que c'est une page sur les adresses slash récupérer les données. Puisque je veux y arriver, c'est ce que je devrais taper. Ensuite, vous verrez une instruction using ici. Donc, comme je l'ai dit, vous pouvez inclure l'instruction using sur la page elle-même, ou vous pouvez le mettre dans les importations et il serait globalement accessible. Euh, et vous voyez, injectez ici. Donc, nous avons fait un peu d'injection de dépendance sur pour savoir que c'est une injection de dépendance dans la vue Blazer. Donc, lorsque nous concevons des référentiels automatiques et nos services personnalisés, nous aurons juste besoin de dire injecter, appeler le service par son nom. Et puis nous pouvons commencer à l'utiliser de la même manière que nous allons l'initialiser dans nos contrôleurs, puis commencer à l'utiliser. D' accord, sur la question. Miliciens. Non, vous voyez à l'enseigne, allez, vos déclarations. Où il voit si ce supportable est non. Ensuite, montrez simplement ce texte. Sinon, générer la table sur la stable va toe ont des rôles en cours de génération pour chaque élément à l'intérieur de cette liste. C' est vrai ? Donc, les prévisions apparaissent une liste sur les prévisions existe parce que dans le cordon, il a été déclaré sur puis sur initialisé un puits. Donc, ils ont une fonction initialisée intégrée où ils disent, lorsque les pages initialisées. Je voulais continuer, aller remplir les prévisions avec quelque chose. Donc nous sommes un service de prévision qui a prévu un puits. Je manque de prendre des appartements à l'heure de la date ? Non. Très bien, si à peu près quand on commencera à le construire, c' est à ça qu'on va ressembler quand on veut avoir des trucs. Nous allons faire injecter notre service, et nous allons dire que le service de notre rapport est point quelle que soit la fonction sur laquelle il est activé, puis il va le récupérer, mettre dans la liste, puis nous chargeons en conséquence. C' est vrai ? Hum et puis voici les exemples de pages. Dès que vous exécutez l'application. Vous assurez ce que les échantillons sont un bateau. Je voulais juste avoir ah, regarder et sentir les différents éléments d'accords dans les données. Donc, nous obtenons un dossier appelé Data and Data, comme nous le savons représente. Vous savez, quelles que soient les données qui passeront à travers nos modèles hors des tables de données réelles. droite. Donc, ces données, elles sont utilisées lâchement. Nous pouvons le changer en modèles Onda comme nous allons avec bien sur le nom approprié ou les choses appropriées à stocker sous les données, considérant que c'est un blazer qui lit d'un FBI. Donc, cela signifie que ce blazer up ne va pas interagir directement avec notre base de données est la seule chose que vous saurez sur une source de données est le fait que nous l'avons dit ou que nous allons le dire . Obtenez vos informations de l'A P I ou s'il vous plaît informations recueillies dans le formulaire dans les mains de l'AP et laissez le FBI faire le poignet. C' est vrai ? C' est pourquoi nous construisons cette solution découplée où l'AP gère tout le courtage avec la base de données sur, alors toute autre application cliente n'a pas besoin de stocker sa propre date. Je peux juste utiliser le FBI pour effectuer n'importe quelle opération pour que cet endroit puisse être facilement angulaire, je réagis de toi, Jase ou même un mobile. Ça n'a pas vraiment d'importance. Tu peux juste t'asseoir et parler au FBI. Alors, je vais jeter un coup d'oeil à l'intérieur de l'eau. Donc nous avons des prévisions météorologiques et vous voyez, ici nous avons les dates, la température C température f l'été le, def. Vous revenez dans le fichier de données de récupération, vous verrez que c'est ce qui était en cours d'impression. Ont été prévisions qui date les températures de chaîne C et F sur le résumé. C' est vrai ? Donc, cela signifie que c'est le modèle des données qui sont représentées à l'intérieur de ce droit sur, alors le service est à peu près ce que nous avons construit dans notre dépôt où il appelle . Donc, c'est juste une démangeaison initialisée ou en remplissant une liste de résumés sur, alors cela ne va pas dire générer une liste aléatoire hors prévisions. Ça a toujours l'air. Donne-moi une liste aléatoire. Les prévisions météorologiques hors type, qui est la classe de données qu'il vient d'examiner, remplissent les propriétés avec des valeurs aléatoires sur . Alors c'est ce qui est retourné. Donc, fondamentalement, cela est retourné en remorquage. Cet appel notre cette variable alors. Donc, il dit initialement clairement n'aura pas de données, mais une fois qu'il a des données, s'il vous plaît remplit la table sur. Il n'y a vraiment rien d'autre dans ce projet que je dois regarder. W w Route a été extatique. Feu donc bootstrap et iconique, euh, fonds sur le bon numéro un pour exécuter cette application afin que nous puissions voir. Donc, en ce moment, ça dit Boots, librairie, dash a p a. C'est un projet arménien. C' est vrai ? Donc, si je veux changer le projet moyen, je peux toujours faire un clic droit sur le projet que je veux sur. Dites, définissez, commencez le projet ou asseyez-vous comme début du projet. Ou je peux utiliser cette liste déroulante apparaître et juste le changer à celle que j'ai l'intention d'être. C' est ce qu'une fois que c'est le début du projet, il sera toujours en boulon. Ensuite, je vais exécuter cette application pour que nous puissions l'afficher en prévisualiser. Bon, donc c'est notre bateau hors de la boîte, s'il vous plaît. Demande d'air contre il nous donne. Ah, c' est sympa de te regarder. Je suis sorti de la boîte, Onda. Nous avons trois pages, donc nous avons la maison, nous avons compteur sur ont été récupérés leaders. Je vais commencer par les données françaises parce que je n'ai vraiment pas regardé le compteur. Donc je vais le faire, chercher la date, et ensuite nous analyserons la contre-chose ensemble. Donc, quand je récupère des données, tu vois, ça les charge juste. J' espérais que tu prendrais un peu plus de temps. Dites, arriverait à voir le chargement qui est allé voir si je peux rafraîchir l'ensemble du projet. Alors rappelez-vous que c'est ah, une seule application de pH. Alors tu veux frapper ? Re frais est littéralement aller orteils. Um, actualisez l'application entière. Pas nécessairement seulement la pêche. D' accord, alors quand je clique, va chercher plus tard. D' accord. Eh bien, ça se charge trop vite pour que vous puissiez voir le revenu du Seigneur augmenter. C' est vraiment cool. Donc, pendant qu'il obtient les données, vous pouvez afficher quelque chose, et il sera automatiquement avec très peu d'effort. Vous avez vu que tout ce dont il avait besoin, c'était des déclarations. N' importe quel trou Allons au comptoir. Donc compteur a un bouton qui dit Quick Me quand je clique, il va juste incrémenter sur autant de fois que je clique. Il va juste continuer incrémentiel. Alors regardons la base de base pour cela. La base de ce dossier est donc tout simplement élégante. Tout d'abord, nous commençons par la page et la culture slash d'adresse. C' est là que vous y arrivez à partir de l'URL de base, n'est-ce pas ? Donc, chaque citation de page unquote, est vraiment un composant qui donc ils les ont appelés. C' est un composant, et ce composant peut avoir une adresse ou il peut être un composant partiel. Sachez ce qui se passe, c'est que vous voyez une variable appelée cônes actuels, non ? Encore une fois, tu veux voir l'extérieur ? Vous savez que ce c tranchant à l'intérieur du HTML sont dans la vue rasoir, non ? Ou augmenter leur syntaxe. Peu importe ce que vous voulez terme, c'est alors nous avons notre bouton, qui est ah, bouton classique avec quelques, hum, bottes shop classes sur. Ensuite, vous remarquez qu'ils ont un signe à avant sur le clic. Donc, nous savons tous que JavaScript nous donne ces événements pick sont ces événements qui peuvent aller sur différents éléments. Tout ce que j'ai fait, c'est d'enlever ce côté. Et cela ressemble à ce que cela ressemblerait si c'était JavaScript. Écrit Owen. Cliquez sur. Ensuite, vous voyez juste ouvrir et fermer les parenthèses accolades. Désolé, alors. Il le saura juste. Ok, Il devrait chercher une fonction JavaScript appelée incrément. Comptez sur. Ensuite, il appellerait le JavaScript ici, bien que dans Blazer, nous n'avons pas besoin de javascript accomplir cela. On peut juste mettre l'extérieur pour dire, OK, ça va être un c pointu. Et si vous passez la souris dessus, vous remarquerez que c'est un événement appelé boîtes, un événement de type spécial hors événement que nous spécifions ici et puis Vous savez, qu'est-ce que c'est ? Ce n'est pas mis en évidence. Donc, ça va dire incrémente le contenu. Donc, il s'attend à ce que la section de la cour va orteils avoir une fonction appelée incréments compte. Oh, mes valeurs par défaut. Nous aurions déjà initialisé sont variables. Corrine. Comptez sur, alors. Vous voyez ici qu'il a la couche d'incrément de fonction ? Non, pensez-y. Chaque fois que vous cliquez dessus, tout ce qu'il fait est de faire un compte courant plus plus, mais ce que vous ne voyez pas son noyau qui dit, OK, non, que cette valeur a changé. Retournez sur la mise à jour. La valeur ici, tant que la valeur change partout où elle change à l'intérieur de la cour en fonction de l'endroit où elle est représentée. Cela changera aussi. Et c'est ce qui rend les jeux si faciles à utiliser et si faciles à créer. Un très réactif, je ne suis pas réactif en termes de taille re mais réactif en termes de l' expérience utilisateur tout à fait, L'utilisateur interfère sur l'application. Donc c'est un rapide sous pour sortir de son blazer déchiré rapide et sale. Ce que je vais savoir, c'est modifier nos nombreuses options, car n'oubliez pas que nous allons traiter avec des livres et des auteurs, et que nous aurons également besoin de certaines capacités. Se connecter aux orteils. Je suis le registre. Certains veulent aller à notre menu assez sur je vais changer ou résoudre ces liens. Donc celui-ci dit, chez moi, je quitte la maison seule, changé de compteur pour voir les auteurs sur nos larmes chercher liés à sauver des livres. Donc, bien sûr, si je change ça, je vais aussi changer le voyage. Donc il n'y a pas de serveuses juste contre. Il dit juste les pieds chercher des données, donc je dis juste la vérité pour voir les auteurs et sortir de celui-ci pour voir les livres. Donc ça veut dire que j'ai besoin de composants, um, un pour les auteurs, un pour les livres. Mais ensuite, j'ai dit que nous allons avoir quelques fonctionnalités de registre et d'emboîtement. Donc, ce que je vais faire est juste de créer deux autres éléments de menu sur celui-ci va être tellement désolé. D' accord, laisse-moi prendre le sel. Hum, je vais expliquer ce que ce roman veut dire que je vais prendre pour non. Donc on est à la maison, alors disons que j'ai longtemps à Andi. J' ai aussi un registre, d'accord ? Et puis je voudrais probablement changer. Appliquez ces icônes autour, sachez qu'ils ont les icônes par défaut. Celui-ci est riche, malhonnête. En plus, celui-ci est à la maison. Je ne suis pas familier avec cette bibliothèque. Quatre icônes, mais je vais faire un saut de foi ici. Et ce que j'ai fait a été enlevé ce qui est venu après le tiret. Donc, j'ai juste retiré, comme, disons, disons, le plus sur l'espace de contrôle des nouvelles. Et puis parce que les fichiers de script, leur studio visuel me donne la liste de toutes les icônes potentielles que j'ai. Donc disons que je veux utiliser longtemps dans, euh, je ne veux pas utiliser le temps juste en regardant l'icône. Donc, je trouve quelques bonnes icônes sur. Ne faites pas de suggestions hors cours. Votre idée est peut-être différente de la mienne, donc je vais utiliser un coup pour la connexion. Laisse-moi voir s'ils ont un livre. Ils ont un livre pour s'inscrire. D' accord, ça marche pour moi, accord ? Et puis tout ce que je laisse sur la liste. Ridge, Jetons un coup d'oeil aussi vite. D' accord ? Donc, quand cette nouvelle page Seigneurs, vous voyez, ça arrive. Donc, je pense que ces nombreux éléments sont à la recherche ou les intérêts de l'exploitation forestière il y a les deux faits saillants tout comme à la maison, parce que le lien de la maison est censé avoir cette mise en évidence. Et en ce moment, ils pointent vers n'importe quoi. Donc ils ressemblent tous à la maison. Alors que j'ai donné ces adresses. Donc, c'est pourquoi vous voyez ces planètes si plus tard que cela aura l'air différemment. Um, quand je clique sur un de ceux-ci que j'ai créé le vous voyez Désolé, Il n'y a rien à l'adresse de bande parce qu'il pointe vers une ressource que je n'ai pas encore créée. Donc nous le ferons plus tard. Mais pour l'instant, c'est tout pour nos présentations. Un blazer. Quand nous reviendrons, nous commencerons à mettre en place notre dépôt basé sur les clients afin que nous puissions commencer à communiquer avec notre FBI. 37. Configuration des objets client et service: Bienvenue, les gars. Dans cette vidéo, nous allons commencer à faire quelques configurations de base dans le nom de notre projet Blazer. Ils allaient configurer le référentiel basé quelques points de terminaison statiques en faisant simplement quelques paramètres globaux du projet afin que nous n'ayons pas à revoir ces choses. Oh, je suis déjà allé de l'avant et j'ai créé des dossiers. J' ai un dossier de contrats. J' ai également un dossier de service et nos dossiers statiques. Donc on va commencer à y mettre des fichiers. Je vais commencer par le dossier des contrats afin que le dossier des contrats va toe avoir sur le fichier de l'interface. Donc, la grève cliquez ajouter sur Anderson pour créer une classe. Mais alors ce sera une interface, et le nom sera le référentiel basé sur moi. Je clique sur Ajouter alors, comme d'habitude, ce qui est d'être une classe à une interface, vous vous demandez probablement, OK, mais n'avons-nous pas juste fait avec cela avec l'AP ? Pourquoi est-ce que je vais recommencer ? Donc, ce que nous allons faire est de mettre en place une fonctionnalité standard pour le blazer ou êtes-vous prêt à interagir avec le A P I ? Donc, nous savons déjà qu'il y a certaines choses que nous avons mises en place sur 10 points à faire sur ce sont les opérations actuelles que nous créons. Nous mises à jour que nous supprimons sur nous lisons, droit, Donc, nous avons tous dans les points pour faire ces choses. Donc, fondamentalement, je suis juste en train de mettre en place des fonctions de base qui agiront comme proxy pour parler aux A P s. Donc nous n'avons pas droit à ces requêtes à chaque fois, non ? Donc je vais orteils, ai une tâche qui va orteil Dites aller droit. Donc, j'ai une tâche hors type t sur Ensuite, nous avons déjà discuté. Donc je vais faire le même genre de générique. Hum là, Buster ici, où je vais dire qu'il y avait un appel en classe. D' accord, donc nous verrons tout ce travail Sultan dans une partie ultérieure. Mais la première fonction est la tâche t sur. On s'en va. Ensuite, je vais passer dans l'URL, comme dans les points de fin que j'ai l'intention d'obtenir des données sur le I. D. Donc celui-ci est pour l'objet unique, um ou une récupération d'enregistrement unique. Le suivant, nous en avons un autre. Allez, alors ça. Get est aussi une tâche, mais celle-ci revient. Je liste hors thé de type droit sur le même nom obtient Mais alors c'est juste une surcharge où il prend un paramètre de chaîne qui est juste l'URL Suivant nous avons o r crée. Donc, cette fois, celui-ci va être des lingots Ah. Donc, avez la tâche taureau et créer sur Nous passons dans l'URL sur notre objet puis fondamentalement supprimer lors de la mise à jour pour regarder de la même manière avec une exception pour la mise à jour où les opiacés vont avoir à la troisième. Vous êtes certains permis ou désolé pour l' I.D. I.D. Eh bien, en fait, nous n'avons même pas besoin de ça, pour être honnête. Donc je veux que vous alliez juste prendre cela parce que je n'ai vraiment pas besoin de ce troisième, um, um, paramètre alors créez la mise à jour et la suppression. Regardez pratiquement de la même façon, accord ? Oh, mais supprime Prend l'idée au lieu de l'objet essayé de créer et hors de passer l' objet. Mais le leader prend juste l'idée. Non. Après avoir implémenté le dépôt, je vais mettre en œuvre le service. Je vais appeler celui-là. Eh bien, j'ai appelé un plein de service, mais où va utiliser le même nom, et je vais l'appeler référentiel de base. D' accord, alors. Ce sera le coût direct de nos idées. Référentiel. Donc, celui-ci, la définition va regarder un peu différemment parce que alors je vais au dépôt CVS hors Time t cette fois, Colon. J' ai piqué. Donc, non, j'hérite de plus. Donc, le truc est, sachez que nous faisons ce,heu, dépôt obits dynamiques où je n'ai pas dur orteil recréer la fonction sur le pont et les spots dans le le truc est, sachez que nous faisons ce, heu , dépôt obits dynamiques où je n'ai pas dur orteil recréer la fonction sur le pont et les spots dans sur cette fonctionnalité de base sera fait à nouveau. Une sorte de classe qui en passant. Donc, nous n'avons pas fait cette étape supplémentaire dans notre dépôt précédent, donc nous l'avons fait de cette façon, et puis je les montre juste ou une obstruction générique qui peut faire pour que je puisse voir où t plein en classe. D' accord , alors. J' ai orteil comme d'habitude implémente le dépôt ou les interférences. Désolé. Donc, non, nous obtenons notre piste créative, obtenons des opiacés à partir de brille. Non, pour que ce soit ouvert, j'ai besoin d'avoir. Mes privés ne lisent que la propriété et il va être hors usine client de type I h T T p. Bon, donc ça va être notre facteur de clan. C' est là que la gestion de toutes nos connexions au FBI et à la demande précédente et j' appelle le client objet. Andi, vous savez, vous allez juste de l'avant et incluez n'importe quelle bibliothèque qui va vous dire que vous devez avoir sur alors en tant que client, nous avons notre construction. Euh donc ce constructeur qui prend juste ceci est un paramètre, et nous faisons juste notre injection en fonction des droits. Donc je vais juste l'initialiser aussi. Objet client entrant. Alors écrivons notre cour de création ensemble. Donc certains hors de la cour et nous allons écrire va se répéter à travers l'autre . Donc, après que je l'ai écrit une fois, vraiment juste aller copier et coller et moteur certains éléments essentiels sur nous pouvons passer à travers ce relativement rapidement, Donc je vais commencer par dire quête virale. Très bien, donc je demande est fondamentalement quand ou vous façon ou ou l'utilisateur clique quelque chose sur R u y sur ce que quelque chose serait le discours de l'auteur. Donc on va envoyer une demande au FBI, non ? Donc je construis la demande. Je dis que la quête de Vira est égale au nouveau message de requête http droit sur, puis pour former ce message. Et si je regarde juste les overlords pour cette fonction, je vois qu'ils ont la méthode http virgule la requête, Earl. Droit. Donc, je vais dire que c'est des points de méthode TTP. Et puis j'ai accédé à toutes les méthodes qui auraient construit dans notre A p. J'ai signé Love Post écrit Remember, create utilise la méthode post sur cela. C' est là que la documentation entre en jeu. Parce que la documentation aurait dit au développeur de l'U Y pour vous informer, le développeur de l'immeuble U A au-dessus d'un FBI existant. Quelle méthode utiliser lors de la création du sud, voir, créer des points en utilisant déjà obtenir Onda. Nous les avons vus avec post. Donc, vous pouvez très basé sur la conception alors le paramètre suivant serait le u R l, qui est la fille entrant par l'appel de fonction. Très bien, Après cela, nous voyons si l'objet qui jeûnait est non. D' accord, alors on ne veut rien faire sur préavis. C' est ah, tâche de retourner nos taureaux, donc je retourne juste les chutes. Ce qui signifie qu'il s'agit d'une tentative échouée sont des atomes invalides. D' accord, Suivant. Si cela passe le test, je vais aller de l'avant et voir le contenu des points de requête. Tellement. Construire le contenu de la requête et je suis allé voir est l'égalité nouveau contenu de chaîne à l' intérieur du contenu du flux. On doit se convertir à Jason. Donc je vais dire que Jason se convertit. Tout va bien. Je crois que j'ai besoin d'inclure une bibliothèque pour cela. Juste inclus rapidement sur qui est nouveau tour doux. J' ai donc besoin d'une bibliothèque appelée Newton Soft Jason, qui ne fait pas partie du paquet par défaut donc j'aurais pu aller à nouveau get, mais ici, ils disent, Eh bien, vous pouvez juste trouver et installer la dernière version. Donc, cela ira automatiquement à nouveau get let new get start pour moi sur. Voilà, tu y vas. Il passe la dernière version pour que vous puissiez lui donner un peu de temps, et une fois que c'est fait, vous voyez que la couleur change, est-ce pas ? Donc, Jason, convertissez point sur puis je veux sérialiser l'objet sur. Ensuite, je vais passer dans les sièges demandant la valeur de l'objet ou B J. Donc BJ représente les données qui sont venues ou la charge utile qui doit être affichée juste après. Nous allons sauver notre client est égal à mon objet client http, qui est des clients de soulignement qui crée des clients. Donc je crée nos clans. Ensuite, je vais dire que la réponse du message de réponse http est égale à attendre. Ensuite, je suis allé voir les clients l'objet client que nous venons de créer. Je veux dire que je veux que les orteils envoient le message. Un synchrone que j'ai envoyé cette requête est synchrone. Alors ce qui va faire, c'est continuer. Ensuite, envoyez la demande sur, puis retournez-la ici. Pas besoin d'un fort tapé, euh, vous savez, utiliser le feu ici parce que cela signifie le résultat de cela là-bas. Il faut qu'il démissionne. Très. Donc tu veux être très, très bien ici. Au lieu de juste voir vier pour les constructeurs, est-ce pas ? Certains voient que je veux sur la réponse TP problème. Ratez ça et on ne voit pas une fois que j'aurai la réponse, je peux vérifier. Désolé. Quelqu' un pour dire si la réponse pointe l'état pour et si je regarde juste cela la réponse, je peux voir tout ce qui revient avec une réponse. J' ai son statut. Le score est le succès qui sont notés. Hum, tu parles du début de l'école qui ont déjà été examinés. Set. Les écoles peuvent être 224 etcetera, etcetera. Donc, après l'école de statut, c'est dans la documentation, celle qui est retournée. Tu veux vérifier ? C' est celui que tu as récupéré ? Donc, dans ce cas, vous savez qu'avec créer basé sur notre connaissance de l'A p I que nous venons de construire notre bâtiment ont été construit. Désolé. On devrait y retourner à deux ou quatre. Donc, si le début de la réponse que le statut marqué est équivalent à Andi, je pense que je peux dire système que le filet qui a commencé a marqué cela sur cela. Je vais chercher à créer Ted. Très bien, Donc, si vous voulez tempérer, mettez-le en utilisant l'espace, donc si c'est égal à créé, alors vous pouvez retourner vrai, ou laissez-moi voir. Retournez juste. Vrai. D' accord , , alors. Sinon, nous pouvons simplement retourner les chutes. Donc si tout le reste échoue, nous venons de retourner les chutes. Maintenant. Certaines lignes rouges ici sont parce que je ne les ai pas implémentées comme un évier ou implémentées la fonction comme un évier. On y va. Alors rappelez-vous juste de mettre l'évier A parce que ce n'est pas ainsi les valeurs par défaut, accord ? Non, peu près, au moins pour non, c'est ce que toutes nos demandes trouveront. Un look comme la demande sur puis la réponse. Hum, vous savez si c'était une bonne réponse, notre réponse corporelle. Essentiellement, ça va être la base de base. Donc, ce qui se passe vraiment ici, c'est que lorsque des clients la personne clique sur créer, je dois m'assurer que notre personne crée un enregistrement et qu'ils cliquent sur Soumettre. J' ai besoin d'écrire du code de mes clients pour voir que lorsque la personne clique, soumettre sur ce formulaire pour les auteurs pour argument. voyez, je veux m'assurer de passer les auteurs et les points que les informations soumises antes sont utilisées ici, donc c'est très générique, donc la même base de code va vous être utilisée pour l'auteur pour les livres sur. Si vous introduisez d'autres tables sur la ligne, c'est juste du thé. Donc c'est ça générique et obstruct. Nous offrons la présentation de n'importe quel type de classe. Alors il va dire que je suis l'hiver créer une demande. Et je sais que c'est une création, donc elle est posée sur. Ensuite, je voulais essayer de créer contre cette fille sur. Ensuite, vous savez, nous avons juste vérifié votre curseur. Ensuite, je veux que le contenu de la requête soit le contenu de l'objet entrant alors Non, nous allons le transmettre, attendre la réponse, puis analyser La réponse pour voir est que la réponse qui signifie a réussi, s'il n'a pas été retourné suit ce qui signifie que l'opération n'a pas réussi. Très bien, aucune mise à jour de l'alimentation ne va ressembler à ça. Ou laisse-moi aller en bas de la ligne. Alors regardons la suppression. Donc, les pistes. Comme je l'ai dit, beaucoup de la cour sera réutilisé, mais ensuite supprimé commencer différent. Donc supprimer est seulement obtenir sur moi d et la fille. Donc je vais d'abord vérifier si le j'ai un sens. Donc, si l'idée est moins d'un droit, alors le retour tombe. Signification de l'opération qui a tenté sur le champ d'opération. Laisse-moi juste mettre dans le boîtier de personne. Donc, c'est que vous n'avez pas d'erreurs à venir en cours de route. Très bien, donc l'idée est égale dans le remorquage. Je suis désolé. Moins d'un, alors c'est faux. C' est un Philistin. Ensuite, je peux simplement copier cette ligne où je construis les requêtes. Je veux juste copier ça. Donc je vais sauver je demande. Mais cette fois, c'est une suppression. Donc, la méthode FCT est les besoins, et puis on passe dans le U R l plus le i d. D'accord, alors rappelez-vous que c'est vous ? Earl doit être dans la méthode http off delete, mais alors il faut la barre oblique u r l le nombre i d. Donc c'est tout ce qu'on fait ici. Nous voyons juste envoyer la réponse ou le service dans la requête avec la méthode, Les conduit à l'Earl passant les idées dans le cadre de la chaîne. Droit. Ensuite, nous faisons la même chose sur laquelle nous construisons nos clients. Ensuite, nous attendons la réponse. Je vais juste copier ces deux lignes au lieu de les prendre partout en fonction de. Ensuite, nous vérifions si les démarreurs ont marqué. Donc, fondamentalement, tout cela est presque la même chose. Sauf oh, sont l'école de sursaut que nous vérifions après que la suppression n'est pas créée. Mais c'est un outil pour je le crois. Waas, ce qui n'est pas content, non ? Donc nous vérifions si nous obtenons une réponse sans contenu, alors nous savons que c'est réussi, Andi. Sinon, nous venons de revenir pour nous parce que c'était un échec. Mais vous voyez tout après la déclaration if, peu près la même chose. Sauf affiner ces deux-là si positif vous ici et essayer de remplir le reste sur. Ensuite, quand vous rejouerez, nous le traverserons ensemble. Bon, alors passons par le rassemblement. Donc, la demande ressemble à peu près la même. Sauf que la méthode est Get on. Nous passons dans l'URL fermer l'i d. Nous construisons nos clients, nous obtenons notre requête SINDOOR. Envoyez la réponse, puis je vérifie. Si le code d'état est correct, alors le contenu. Donc je veux contenu se rappeler qu'il obtient signifie que je veux récupérer quelques informations , donc je sais besoin du contenu, non ? Jusqu' à présent, le contenu est égal à on. Ensuite, je vais juste dire réponse que le contenu lit une chaîne facile. Certains, tu sais ? Ok, si tu n'es pas allé aussi loin et que ça n'a pas, tu sais, compris ce qui est contenu dans la déclaration. Considérant que ce n'est pas un tyran et que ça est retourné, alors c'est bon. Je veux dire, tant que vous avez les 3 premières lignes correctement ici sur la bonne voie. Donc, après que nous avons vraiment la poussière re un penser, puis nous retournons le converti. L' objet sérialisé sur base. Alicia va le serrer contre le thé de classe de données à l'époque. Onda. Nous avons le contenu directement sur. Ensuite, sinon étaient juste de retourner des notes. Donc, cela signifie que rien n'est revenu à passer à l'autre obtient celui qui obtient la liste, Um, la première confiance pour moi et assez la même chose, sauf aucune idée dans les parties URL. Cette fois-ci, c'est à peu près la même chose. Je vais juste vérifier et m'assurer que je suis sur OK, répondre au contenu. Nous le lisons comme une chaîne et puis nous retournons un PC converti Jason, repose moins sur le type T. Très bien, donc ces deux, hum, vous pouvez disposer la vidéo au décollage de ces quelques lignes que vous ne pouvez pas avoir n'a rencontré aucun problème passer à la mise à jour. La mise à jour. Il semble assez similaire orteil qu'ils créent. Acceptez la demande que les pirates de contenu vont être un peu différents sur le terrain de golf. Je veux changer, y compris ici. Système que le droit de texte, bien que cette inclusion. Donc, c'est à ça que j'espère que les données ressemblent. Nous avons juste rompu la ligne parce que ça s'use hors de l'écran, puis la méthode que nous utilisons sa mise. Il y a donc une différence d'entrée de ville sur le patch que nous avons développé en utilisant put. Mais il y a aussi une méthode appelée Patch sur ces deux jours 100. La différence, cependant, est que la mise sera c'est comme un hybride. Le bateau dira, Eh bien, quelle que soit l'information que vous avez envoyée, je vais l'utiliser pour remplacer l'enregistrement qui est là si semblable à celui que nous testons ou à jour et j'avais un dossier entièrement rempli. Mais alors je n'ai remis que quelques informations, non ? Littéralement. Il a remis les informations et tout ce que je ne l'ai pas mis. Ainsi par défaut les valeurs. Donc, le put remplacera les informations qui sont là par les nouvelles informations, alors que le patch mappera en fait ce qui doit être remplacé, puis remplacera simplement cela. Mais tout le reste reste intact, donc c'est la différence entre un mettre sur le patch. Le put créera également l'enregistrement s'il n'est pas là. Donc, si j'ai dit que je voulais mettre à jour l'auteur avec I d 100 il n'y a pas aussi avec l'idée 100 alors il mettra un nouveau aussi avec l'information en conséquence. Donc, passer à cela est notre configuration de base pour notre référentiel bien basé ou juste le point de cela. Ceci est juste une autre surcharge du contenu de la chaîne où vous pouvez être un peu plus explicite avec l'inclusion sur l'attaque média en cours d'envoi. Euh, mais c'est la même fonction qui est utilisée dans notre création. Bon, donc dans nos créations, je n'ai pas utilisé cette surcharge, donc vous pouvez l'essayer avec et sans et me faire savoir comment ça marche. Mais c'est la cour. Donc c'est tout pour désactiver le référentiel de base. La prochaine chose que je vais faire est de mettre en place des valeurs statiques que nous allons utiliser à travers notre développement. Donc, je vais juste faire un clic droit statique sur avec la classe d'annonce sur Number va l'appeler en points donc et les points tout droit sur ce n'est qu'une technique désactivant ces points de terminaison statiques. Certaines personnes les dans la configuration. Mais la réalité est que de nombreuses fois quand vous avez regardé vous tournées en attente pour appeler et le FBI vous les voyez type de la petite fille à chaque fois et ensuite mettre sur le poignet de l'URL. Non. Ce qui se passe, c'est que si cette base vous êtes malade ou non, ne voulez pas dire vos changements. Alors si vous l'aviez 50 fois dans votre coin, monté pour le changer 50 fois, ce que nous allons faire est de le régler une fois pour que si nous devons changer, ça changera à un seul endroit, et c'est bien, c' est juste changé. Je crée une classe statique publique statique en points sur Ensuite, je vais créer paramètres esthétiques sont désolé propriété si statique sur, alors cela va être une chaîne, et je vais appeler cette base de propriétés. U R l d'accord. Et puis je vais juste l'initialiser. Donc cette base Ural sera le U R l pour notre p I. Non, cette fille, évidemment puisque tout est local, va être la fille que nous avons utilisé à l'intérieur de Postman. Et chaque fois que nous allons dans un bateau amarré que votre latte est venu dans le navigateur pour la librairie du FBI, c'est ce que nous allons utiliser. Le fait est que si je publie ce FBI demain, cette base que vous êtes, il ne va pas changer parce que je ne veux pas travailler sur les locaux ceux que je veux travailler sur Internet sont sur quelle adresse hébergée de ses émissions. Donc, je peux juste rencontrer le changement une fois ici, puis chaque fois que je passe et vous êtes vraiment sera déjà malade. Donc, pour récupérer cela rapidement, je vais juste retourner à mon ap je projette Andi. Je peux regarder assez facilement à l'intérieur des propriétés, ces propriétés, vous pouvez juste le laisser tomber. Ne mettez pas en place les paramètres de pelouse que j fils sur. Alors ce qui se passe, c'est que vous voyez deux adresses. Vous voyez l'application votre et le port SSL. Donc, je veux l'application Votre avec le signe de port SSL. Ally, tu sais, http ? Eh bien, ça devrait être un problème central. T p slash du côlon Plus, un autre moyen facile serait probablement d'aller dans le facteur et de récupérer à partir de là. Donc, je pourrais vraiment le faire sur son hôte local http s, Colon 44382 Droit, Donc ça va être nos bêtes. Points de terminaison, RB, euro. Donc j'ai juste mis ça là-dedans, autre sport sur une barre oblique de fin, euh parce que je vais juste y ajouter des choses. Donc, la suivante va être une autre propriété, et il va être statique sur une chaîne alors. Cette fois, j'ai des auteurs en points. Très bien, donc à peu près tous les points de terminaison qui sont ensuite allés orteils ont que je peux juste mettre ici et je construis juste la chaîne une fois sur Il va être ah, sur interpolonais chaîne interpolée mettant en vedette l'URL de base droite sur. Puis après cela, le mot-clé FBI se souvient qu'ils ont la bête une pré-question orale slash ap A Donc la barre oblique. Je ne nous ai pas l'an dernier avant une paire parce que déjà mis la barre oblique à l'intérieur hors de la base. Tu vas bien. Donc, il est base votre malade, qui a sa barre oblique e p une barre oblique sur les auteurs puis comprendre de dupliquer cette ligne et de faire la même chose pour les livres sur. Je vais juste faire semblant que ces slash sont aussi à la fin. Bon, donc ça va être des livres et des points. D' accord ? Donc, quand nous construisons d'autres points de terminaison, euh, ce sera la même dynamique. Nous venons juste à ce fichier et Aditya une ressource statique, je l'utiliserais où nous voulons. Maintenant, on a presque fini. Je suis juste guidé par deux chèques. Je vais juste faire une construction rapide, m' assurer que je n'ai rien cassé. Et non, quand nous construisons, vous allez voir deux succès parce que nous devons projeter. Donc, c'est toujours bon quand vous voyez tous les projets ont été construits avec succès, connus, échoués. Donc la prochaine chose que je veux faire, c'est m'assurer qu'il n'y aura pas d'argent neural. Donc, j'ai eu une expérience une fois où quand je suis allé au dépôt, plus de tranchées autour des deux projets en même temps, ils se battaient tous les deux pour l'importation maritime, et donc on ne fonctionnait pas ainsi et facile à vérifier. Ce n'est que les paramètres de la pelouse goto pour les deux. Donc, nous avons un paramètres blond pour notre ap déjà. On voit, c'est l'aéroport. C' est le numéro ? Alors je peux faire la même chose dans le projet Blazer. Allez dans les propriétés, vérifiez les paramètres de pelouse. Et vous voyez, c'est un nombre différent. Je te disperse les orteils. Assurez-vous que ce sont des nombres différents. Si, pour une raison quelconque, ils finissent par être le même nombre, Vous pouvez toujours juste changer de saké à un chiffre et juste décoller sous détention au six ou quoi que ce soit le cas. D' accord, la prochaine chose est que les orteils permettent la double exécution. Alors, qu'est-ce qui doit se passer ? Non. Lorsque vous exécutez les clients étant l'application blazer, l'application you I, vous devez évidemment avoir le a p I en cours d'exécution en arrière-plan pour réellement effectuer vos opérations. Droit. Donc je vais avoir besoin d'orteil beaucoup que quand j'appuie sur le départ, donc vous devez perdre. C' est vous pouvez en mettre un comme début du projet, Et puis, pendant qu'il est en cours d'exécution sur votre bateau indépendant, Moody peut toujours faire un clic droit sur le projet suivant et vous voyez le débogage sur NBC Vous allez démarrer une nouvelle instance qui vous permettrait en fait d'avoir deux projets dans Bebel amarrés simultanément. Droit ? Mais je vais éliminer ce manuel. Marchez. Ce que je vais faire est d'aller à la solution Bateaux de propriétés sur, puis sous démarrer un projet, voyez-vous, Projet de démarrage unique, qui est ce que nous avons. Non, mais vous voyez plusieurs début de projet à l'époque. La chose cool à ce sujet est que vous pouvez changer l'ordre qu'un démarrage plus dans Donc, celui en haut va commencer en premier. Et c'est ce qu'on voulait au FBI. Apprentissage ouvert, et puis le vous je peux venir en raison de l'a P I le sage inutile. Droit ? Donc, ce que je peux faire ici est de voir l'action, puis cliquez dessus et puis dire commencer pour celui-ci , ils peuvent commencer sans déboguer, mais les avantages étant en mode débogage avec les deux désactivés est que si j'essaie quelque chose dans le et cela ne fonctionne pas, je peux être à la fois à travers l'autre projet dans la durée de vie de cette session de débogage. Droit ? C' est donc l'une des caractéristiques cool. Donc, quand je fais ça et que je clique sur OK, d'accord. Et je vais juste vous montrer que c'est multiple. Démarrez un projet et je clique simplement. Commencez par, puis Ce que vous voyez est un projet de voiture d'instance à venir. D' accord. Donc remarquez que j'ai deux navigateurs et vous verrez les deux, hum, hum, ports en cours d'exécution. Donc vous dites librairie Vous je viens sur Dwell. Le FBI prend un peu plus de temps à trouver. Le fait est que je dirige les deux projets simultanément. Très bien, donc la vue glorieuse de vous soccer, je veux dire que notre projet APIS est en cours d'exécution. Voici donc le projet du FBI. Voici la preuve du projet A P I, hum, hum, en mode débogage sur la preuve ici de la section you I en mode débogage. Donc une fois de plus, vous devez les avoir tous les deux en cours d'exécution parce que vous pouvez tester l'U. Y. Si le FBI ne court pas à l'époque, vous pouvez le faire. Aussi, si je les paramètres où il est dit de lancer le frang's er afin que vous puissiez voir sur le FBI. Ne lancez pas les pros parce que, eh bien, vous n'avez probablement pas besoin du frère ou à ce moment-là, parce qu'ils sont juste tester le toi I. Donc vous n'avez pas besoin de soccer en arrière-plan à chaque fois donc vous pouvez vraiment aller au paramètres de pelouse pour l'AP. Je change que l'orteil tombe sur, alors cela ne lancerait que le frère ou pour celui qui l'a. C' est vrai. Bon, donc c'est tout pour cet exercice de configuration. L' arrêt suivant implémentera certaines configurations de base d'authentification utilisateur. Nous devrons apporter des changements à notre FBI. Donc, ce sera à son activité. Cela nous ferait rebondir entre les deux projets. Assurez-vous que tout est ouvert en cours d'exécution. Andi, ça devrait être amusant. 38. Configuration Enregistrement utilisateur (API): Hé, les gars, dans cette vidéo, nous allons faire du travail de préparation pour notre client et notre fonctionnalité d'inscription. Donc, je parle, juste pour rappeler où nous sommes et ce que nous voulons faire est de s'assurer que la fonction ou registre fonctionne. Alors rappelez-vous que la dernière fois que nous avons quitté la maison, la connexion sous le bracelet ressemblait tous. Alors quoi ? Qu' il était aller de l'avant et ajouter des liens à eux. La même chose qu'on avait désherbé pour les offres et les livres. Il y avait une connexion sportive pour le chemin de la journalisation. Clignez sur le registre. En conséquence, j'ai remarqué qu'ils avaient l'air plus normaux. Non, et un tout. Ce que nous voulons faire, c'est que lorsque nous cliquons sur inscription, il navigue sur une page qui permet à l'utilisateur de s'inscrire avec juste un email sur un mot de passe sur. Ensuite, ce sera central avec le A P I sur. Ensuite, ce nouvel utilisateur serait prêt à être agité dans notre système. Donc, nous allons apporter quelques changements au A P. Je vais le faire évoluer un peu. Nous avons une bonne quantité de travail, pas déjà, mais nous avons besoin d'un point de terminaison de registre et je vais ajouter un peu de validation de notre objet de transfert de données en attente des informations de l'utilisateur sur. Nous allons juste faire d'autres choses entre les deux pour nous assurer que nos clients gen gérer parler à l'enregistrement dans le point et effectivement avoir un utilisateur enregistré via l'application frontale . Donc, à ma librairie d'application de librairie, projet FBI Où peut l'utilisateur DT Oh, et je vais juste ajouter quelques validations ici, donc je vais faire savoir à tout le monde que cela est nécessaire, signifie Ne pas soumettre un sans le nom d'utilisateur. D' accord, je vais aussi changer ça d'utiliser l'adresse e-mail de l'orteil sur. Je sais que cela va causer des effets d'ondulation, mais la réalité est que nous allons utiliser l'adresse e-mail comme nom d'utilisateur de toute façon, donc cela n'a pas vraiment d'importance. Vous pouvez ne pas vouloir changer cela l'adresse e-mail, mais je vais le faire néanmoins, peut également ajouter une donnée, une notation ici qui est son adresse e-mail et forcer que vous recevez un e-mail. Idris, dans ce champ, je suis aussi allé à mettre sont nécessaires ici pour notre mot de passe sur. Nous pouvons aussi faire quelque chose comme spécifier la longueur de la chaîne pour que je puisse voir, hum, hum, longueur de la chaîne de notation de guitare sur. Ensuite, je peux qualifier cela en donnant un maximum Lynn. Donc, disons que le moxie Mamma Lynn que nous voulons pour le mot de passe serait peut-être 50 caractères. Je peux donner le message d'erreur saucy message d'erreur est égal à et puis je vois votre bus. Le mot est limité. Donc, disons 15 années cinquante un régime strict. Donc 15, personne ne tapant plus de 15 caractères du passeur. Je veux dire, c'est à toi de décider, mais je fais juste ça, par exemple, malade. Alors je peux dire qu'il doit être Voyons voir 15 caractères est la marque de la longueur de nombreux bourdonnement est égal orteil six droit ? Donc, je peux dire que votre mot de passe est limité à sur Alors je peux imposer des espaces réservés pour voir qu'il doit être. Nous pouvons utiliser des espaces réservés, monsieur, mais je crois que le 1er 1 est pour le nom d'affichage à l'époque. Donc ce zéro a fait le nom d'affichage un serait les élingues de boue le deuxième jour serait la lentille minimale. Donc, si vous vouliez qu'il soit dynamique au lieu de taper le nombre ici et d'avoir à le changer. Vous pouvez faire quelque chose comme on est limité orteil bien, aussi, à un personnage pour dire le pasteur, Nouvelle Poutine est limitée à deux étant longueur minimale droit 6 à 15 caractères. Donc, si vous modifiez les nombres ici pour la longueur minimale de Marx longueur, alors vous devriez automatiquement formater la chaîne en conséquence. Donc c'est juste une validation que nous ajoutons, euh, étaient nécessaires avec le lien de chaîne que je peux. Je suppose que je peux ajouter un type de données ici pour voir le type de données sur. Ensuite, je dois le qualifier avec les docks de type de données génomiques sur. Il y en a un pour mot de passe, donc il y en a un pour l'adresse e-mail aussi, donc vous pouvez faire de l'humilité. Légèrement cercle faire des points de type de données, adresse e-mail. L' un ou l'autre fonctionne. Mes objets de transfert de données utilisateur ne sont pas modifiés. Je vais retourner à mon contrôleur d'utilisateurs sur C'est le contrôle que nous utilisons pour, ah, ah, choses liées à l'authentification. Donc en ce moment, il y a donc cette erreur parce qu'ils l'ont changé de nom d'utilisateur à adresse e-mail. Donc pas de problème. Je vais juste changer cette idée. Je suis sûr que si c'est ailleurs, ça va apparaître. Mais ce que je veux faire ici est de créer un autre point de terminaison pour les enregistrements, n'est-ce pas ? Aucun moyen de journalisation. Mais je veux un autre point pour les inscriptions. Comprendre ? Toe, faites ça au-dessus de la connexion et je vais dire que la tâche de découpage publique hors des résultats de l'option de feu sur. Ensuite, nous le faisons et l'appelons registre. Non, vous vous souvenez peut-être que je veux ça du corps aussi. Donc, je suis attendu que le même détail de l'utilisateur arrive à travers le registre. Comme je l'ai dit, je ne vais pas agiter le processus. Donc, si c'est que vous avez plus de points de données, que vous voudriez que l'utilisateur enregistre avec moi le prénom, le nom et d'autres choses, ils auraient un autre détail pour juste le processus d'inscription afin que vous attendiez plus du corps que les quelques paramètres ici. Ou vous pouvez simplement étendre les détails de l'utilisateur. Mais encore une fois, les détails peuvent être très spécifiques ou contextuels. Dans ce contexte, je ne demande que des intérêts avec le nom d'utilisateur et le mot de passe. Sur la même chose sera la journalisation. Donc, c'est juste la raison basée pour moi utilisant l'utilisateur GTO, les deux endroits une autre chose est que je suis sur le point de rencontrer cet opposé. Donc, je veux réellement que ce soit http post. Non. Ce qui se passe, c'est que comme nous avons vu le nom éteint, la fonction n'a presque pas de bière dans. Comment les contrôleurs vont écrire la requête, le contrôle est juste ne peut pas demander et voir s'il est posé que je suis à la recherche du post, non ? Ce qui se passe est que parce que les deux hors de ceux-ci sont post. Même si les noms de fonction sont différents, cela va conduire à une forme de conflit. Donc, il y a ah, fonctionnalité ici que je peux utiliser où je peux spécifier les routes afin que je puisse juste voir où nous spécifions la route ici. Donc c'est la route, et ça voit une p. Je slash sur le contrôle de lui. Je peux, par extension, juste au-dessus du contrôleur, voir les routes sur, puis spécifier que je veux que celui-ci soit appelé journalisation, puis spécifier écrit apparaître à nouveau sur DSA. Dites que je veux que celui-ci soit appelé registre. Très bien, donc cela signifie que la documentation non va devoir distinguer, um routes pour notre longue période dans le contrôle des deux hors d'eux étant postés si pointus. Non, nous avons fait une fonction par type. Non, je dois les fonctions sont à la fin des points du même char. Donc la meilleure façon de les distinguer c'est de leur donner des noms différents. Donc, nous savons que c'est le journal dans un. Donc, la personne s'ils veulent se connecter à l'appel ap slash utilisateurs slash se connecter sur le même pour s'inscrire sur leurs données appropriées passées en conséquence. Donc, même si les données sont différentes, cela n'a pas d'importance tant qu'elles placent la voie du courage. Bon, donc je viens de mettre un peu Cody peut passer ici et Kopytoff, mais c'est le noyau normal qu'on a mis en place. Tous les contrôleurs, vous savez, des actions. Nous avons la sortie de l'emplacement et que je méprise ou le nom d'utilisateur et le mot de passe des données des objets de transfert de données entrant sur un centime. Il vérifie aussi les erreurs, non ? Je peux en fait aller de l'avant et utiliser certains hors des données. C' est 30 ans du pays. Eh bien, en fait, je veux vérifier quelques choses pour, donc si ça fait feu, on peut supposer que c'est valide parce que nos validations de mise à l'intérieur de nos détails d'utilisateur et rien ne devrait arriver vide. Uhm, je reçois ce feu. Non. Une autre chose que je voudrais faire est d'utiliser l'appel Le gestionnaire d'utilisateurs. Donc, je vais d'abord créer un nouvel utilisateur. Donc, le nouvel utilisateur est égal à une nouvelle identité. Utiliser leur servir identité utilisateur est notre base. Utilisez une classe qui nous est donnée par identité. Alors je pense que j'aurai les orteils attendre un peu. Je n'ai pas teoh mon orthographe. On y va. Identité utilisateur. Donc, nous allons construire un nouvel objet hors de type utilisateur d'identité, ce qui nous permet de définir l'e-mail comme je l'ai dit, euh, eh bien, je l'appelle utilisé le nom ici, donc ça n'a pas vraiment d'importance. Nom d'utilisateur. D' accord, donc je suis en train de régler l'e-mail est de l'utiliser. Je vais également définir le nom d'utilisateur comme nom d'utilisateur lorsqu'ils sont envoyés par e-mail. Désolé, que je commence dans ma variable en l'utilisant. J' ai dit que je pouvais avoir des fesses confuses. Je suis sûr que vous pouvez l'apprécier. Le fait est que l'adresse e-mail est la même que l'utiliser. Donc, nous sommes juste en train de remuer l'adresse e-mail dans les deux l'e-mail sur le nom d'utilisateur Space aan den. Vraiment entrée. C' est toutes les données que nous collectons. Donc, vous voyez, avoir d'autres points de données sur vous pouvez réellement l'étendre orteil, avoir plus si vous avez besoin orteil, donc c'est très bien. Vous pouvez toujours consulter mon cours en pleine vitesse sur un arbre, mais un développement et vous verrez comment nous pouvons étendre cela à l'utilisateur. Mais on peut passer à autre chose. Notre sauvegarde nos résultats est égal à Andi. Laisse-moi voir ce que c'est Pero en premier. Désolé pour ça. J' ai eu le mot nouveau au lieu de feu mon Mais jusqu'à présent les résultats est égal à un poids sur. Ensuite, je vais appeler le gestionnaire d'utilisateurs et donc rappelez-vous, nous allons ajouter le gestionnaire d'utilisateurs déjà injecté. Très bien, donc au gestionnaire d'utilisateurs, quelqu'un pour appeler le gestionnaire d'utilisateurs. Ensuite, il va exposer un Fortunati appelé Create a Sink, ce qui nous permet de transmettre un utilisateur d'identité certains avec le parson peut nouvellement créé à dans l'objet utilisateur. Andi, je peux aussi passer dans le mot passé. Donc, quand je fais cela, il va réellement gérer l'analyse pour moi. Donc le pasteur serait comme le texte brut que la personne a tapé dans la zone de texte . Mais alors cette fonction va orteil manipulé l'insertion sur le piratage sur tout. Pour moi, nous avons fait quelque chose comme ça et pire, manger les utilisateurs plus tôt ? Non. Après cela, je suis allé voir si les résultats ne sont pas ancrés eso Réussi je suis en train de vérifier. Cette opération a-t-elle échoué ? Je vais voir Tout d'abord, je suis allé adorer une flèche pour dire que la tentative d'enregistrement de l'utilisateur se sentent bien. Mais je veux aussi aimer Les raisons de sont les raisons potentielles des échecs. Maintenant, au lieu du résultat, um, objets, il y a, ah, moins hors Eros quelqu'un pour dire quelque chose comme pour chaque Andi, je peux sauver l'erreur de test ire dans les résultats ancrés et vous voyez les erreurs de liste ou je savais que je suis innombrable. C' est une collection d'Eros. Donc, s'il y a plus d'une erreur, ils seront tous là sur. Ensuite, je vais enregistrer une ligne par erreur, quelqu'un à dire plus longtemps, pas l'aimer sur alors l'emplacement. Et puis je suis juste en train de manger non, le court de points d'erreur et la description de l'air. Donc, à l'intérieur de l'erreur, les innombrables erreurs hors de chaque objet aérien pour obtenir un tribunal sur la description de la raison pour laquelle il ya une erreur. D' accord, donc je me connecte à tout ça. Alors je peux faire notre erreur interne de retour, mais à ce stade, je ne pense pas avoir besoin d'aimer autre chose. Ou peut-être que ce que je peux faire, c'est au lieu de fouetter cette paire ici, je peux aimer tout ce qui est de l'époque concernant l'échec sur. Ensuite, il suffit de retourner dans l'erreur d'aiguillage avec ce message de journal activé. Alors appelez ça un jour. Sutherland finit par répéter la cour et je fais le meilleur usage. Qu' est-ce qu'on a en place, non ? Donc, une fois de plus, si cela n'a pas réussi, nous obtenons toutes les erreurs et nous enregistrons chacune dans sa propre ligne. Je suis juste chatouillé des espaces vides sur. Ensuite, je retourne juste une déclaration interne ou avec une déclaration générale pour dire que ce champ de tentative d'enregistrement de nom d'utilisateur droit devrait également inclure beaucoup de terres pour voir l' enregistrement de l'utilisateur tenté. Laisse-moi juste mettre ça rapidement. Segments tout droit pour le nom d'utilisateur. D' accord. Bien. Donc c'est tout pour la journalisation. Donc, je n'ai pas fini. Encore une chose, c'est que je vérifie seulement si c'était mauvais. Donc c'est toujours là parce que j'ai besoin d'un retour final. Donc le retour final sera activé. D' accord. Pour que je puisse revenir. OK, alors. Andi, je vais juste mettre un nouvel objet générique. Je peux voir un nouvel Andi Ce nouvel objet n'a tout simplement pas un résultat qui a réussi, ce qui devrait être vrai à ce stade. Parce que si c'était aussi loin que ça aurait été pris dans cette Onda, nous pouvons donc vouloir une autre chose que tu veux dire vouloir faire, c'est pour l'aérodrome interne. Pour ce contrôle, Lee peut probablement étendre un peu que lorsque vous retournez le 500, vous incluez probablement quelques erreurs sont des raisons pour la flèche afin que celui qui appelle le A p, je peux, vous savez, obtenir des commentaires castaway le champ de tentative. Donc je suis allé en mode débogage et j'ai ici la fenêtre pour le FBI. Donc, si vous avez encore le projet mobile démarrer. Vous pouvez juste vous concentrer sur la fenêtre du FBI où vous pouvez le changer pour non et le changer plus tard . Mais je me concentre juste sur tous les points de terminaison de la journée regarder, donc sachez que parce que j'ai fait la route, vous voyez que sous le sexe de l'utilisateur et vous avez les deux messages et vous avez un registre slash utilisateur ps slash slash sur gps slash utilisateur slash se connecter. Si votre document sent le Seigneur, cela signifie que vous n'avez probablement pas mis sur la route et vous avez ah, des conflits. Slager ne se charge pas. Alors c'est un dire que vous avez un conflit. Parce que swagger lui-même a, ah, ah, temps difficile de déchiffrer ce qui a écrit est ce qui, parce que vous n'avez pas spécifié, est-ce pas ? Donc, nous allons juste tester ce point de terminaison rapidement sur vous Voyez ici où il se sent automatiquement dans ce qui est attendu. C' est son adresse e-mail est attendue dans la charge utile. Et c'est un exemple sur la chaîne de mot de passe. D' accord, donc je vais juste utiliser la fonction commerciale ici, donc oui, nous connaissons le facteur. Je vais vous montrer comment tester avec des paresseux. Ils peuvent vous voir essayer. Ensuite, vous pouvez mettre en utilisateur comme exemple point com. Je vais l'utiliser sur. Je vais mettre en place. Je veux quitter les ruisseaux. Rappelez-vous donc que nous avons mis dans une validation où le mot de passe a le plus besoin d'une certaine longueur, alors essayons de l'exécuter. D' accord, donc on a récupéré notre erreur en voyant où ? Ok, ça nous donne juste les 500 sur ça. nous donne juste une rémission à ce générique. Donc, comme je l'ai dit, vous voulez probablement donner un peu plus de détails là-dessus. Cependant, si votre documentation est solide, celui qui se développe en plus du 80 Je devrais être capable de regarder et voir exactement ce qui est attendu. Donc, ici, nous voyons, nous avons besoin que j'utilise un objet DT o si gardé totalement qu'il attend l'objet de détails de l'utilisateur à ce moment-là. Le détail supplémentaire est que l'objet de détail de l'utilisateur a dans le plus fanatique de chaîne de barbe email sur mot de passe, avec la validation de mettre où éventuellement entre 15 et six caractères de long, non ? Donc, le développeur consommant votre a p I a une responsabilité égale de passer par la documentation et le tribunal en conséquence. Donc, essayons à nouveau juste pour finaliser ce laisser un peu usar pour P au SWR celui sur essayer que à nouveau sur. Ensuite, quand nous regardons, nous voyons que nous revenons ou 200 et que le message est réussi. Très bien, si je regarde le fichier journal, alors on verra juste que nous avons le premier remplissage audible, la tentative, et ensuite on a toutes les erreurs. Le mot de passe exige que le pasteur à cela sur tout ce qui était faux avec le mot de passe, puis la chose ultime qui dit qu'il champ. D' accord, donc la bûcherie fonctionne et on dirait quoi ? Comme ce que nous attendons ? Pas de retour à notre projet. Je vais apporter quelques modifications à ce que nous avons dans notre Blazer jusqu'à présent. Donc, je vais orteil un, créer un nouveau dossier, et je vais l'appeler modèles à partir du simple clic ajouter un nouveau dossier sur je l'appelle modèles. D' accord , , alors. La première chose que je mets dans ce dossier est une nouvelle classe que je vais appeler modèle de réponse. Non. Si c'est une chose que nous avons vu, c'est que chaque réponse a essentiellement quelque chose à dire. Que ce soit réussi, cela pourrait être le cordon ou ça pourrait être un drapeau. Donc ce que je vais faire, c'est dire quelque chose comme, je veux une propriété qui va être hors de type taureau sur. Celui-ci va être un succès. Donc, cela va stocker où la voiture a réussi ou pas sur. Ensuite, je vais avoir une autre propriété de type chaîne. Celui-ci va être pour peut-être une erreur. D' accord, alors, j'ai encore une propriété. Andi, celui-ci va être pour le contenu, non ? Donc, vous obtiendrez toujours des réponses avec un message d'erreur est contenu ou quelque chose , mais nous serons toujours en mesure de déterminer le succès. Donc, ce sera un type de classe plus générique que nous allons mettre à niveau sont basées sur les réponses de référentiel. Donc, pas de référentiel sont basés. Chaque fois qu'on appelle un point final, ça tourne vraiment juste une vraie ou fausse droite. Mais dans le cas comme ça, parler quand je vais utiliser cette base, dites que c'est ce que nous allons utiliser, qui est créer même si cela peut sembler, hum, bizarre. Mais ne nous faisons pas croiser nos fils quand nous appelons un poste que nous allons utiliser crée. Nous avons donc la possibilité d'avoir une fonction de post générique qui appellera simplement. Mais alors nous allons déjà répéter ce cordon à l'intérieur de ce post générique . Je ne veux pas avoir à fonctionner avec ça. Donc ce que je vais faire est d'utiliser le modèle de réponse, en changeant ces vieux de lingots en remorque. Types de demandes, n'est-ce pas ? Désolé les types de retour du modèle de réponse sur. Ensuite, lorsque nous évaluons ce que nous obtenons, nous pouvons formuler une réponse plus détaillée que juste vrai ou tombe. Donc, nous le ferons quand nous reviendrons et nous commencerons à mettre en place des fonctionnalités d'enregistrement pour notre application blaze. Mais ensuite, nous allons mettre à niveau les rapports basés, les réponses de l'histoire avec ou le modèle de réponse connu. 39. Formulaire d'inscription d'utilisateur: Hé, les gars, bienvenue. Et nous sommes en partie à compenser la fonctionnalité d'inscription de notre application de librairie . Non, nous avons juste mis en place l'orteil A P I ont notre inscription et le point, et aucun ne sera déclencher le côté blazer des choses orteil. Avoir un formulaire d'inscription sur être en mesure de communiquer avec le A P I. Donc cette aventure commence dans mon fichier de points de terminaison statiques. Où sont l'ajout d'un nouveau point de terminaison juste pour l'enregistrement, Donc, il va être inscrire au point sur. Ensuite, il va être basé euro slash monsieur a p i slash utiliser registre slash air. Alors rappelez-vous que c'était la façon dont nous avons formaté notre uhm en pointe pour l'inscription ou le contrôleur des utilisateurs sur tout comme un retour de l'école plus frais. Nous avons dit que la route allait toujours être un contrôleur de barre oblique PS sur. Ensuite, nous pouvons spécifier une autre route en plus du fait pour un. Donc, il est un p I slash utilisateurs slash registre. Très bien, donc c'est au-dessus du point de terminaison statique pour une destruction. La prochaine chose que je vais faire est de mettre en place Ah, dossier des modèles dans notre vous sage. Donc, vous savez, sur le A P j'ai dit où, mais nous allons appeler les objets de transfert de données étaient sur l'idée de l'interface utilisateur ce que vous appelez des modèles de vue parce que leurs vues sur alors vous avez des modèles hors des données que devrait être représenté sur les vues sont vues. Le modèle répond à ce crédit à votre droite. Désolé. Je me demande si je clique sur la classe j'aurais dû dire nouveau dossier, puis dans le dossier. Donc, nous allons directement créer des modèles d'appel photo, puis dans ce dossier, nous allons à l'annonce , puis la classe, puis je vais appeler ce modèle utilisateur. D' accord, mais à l'intérieur du modèle utilisateur, je vais orteil avoir deux modèles, donc oui, je sais sans nom ce modèle utilisateur. Je vais laisser ce vide. Le nom de fichier sera utilisé un modèle, mais je veux vraiment avoir un modèle de nostalgie sur. Je vais aussi orteil ont des modèles de registre. Je viens de mettre longtemps et modéliser leur à partir de pas de bateaux. Je vais m'inscrire pour ça. Juste il ya des limites le modèle d'enregistrement. D' accord. Aucun modèle d'enregistrement va être un malade Ali ont les champs dont nous avons besoin pour l' enregistrement que vous savez utiliser mot de passe humain sur toutes les validations que l' interface utilisateur devra respecter. En fait, je vais juste utiliser leur besoin pour vous, parce que nous l'avons fait. Tout cet utilisateur a besoin de vous. Nous avons l'adresse e-mail. Nous avons le mot de passe, certaine discipline pour copier tout ça. Et puis je suis allé à venir à notre modèle utilisateur sur comprendre coller tout cela là et ensuite inclure toutes les bibliothèques manquantes. D' accord, alors, pour le mot de passe, je vais en fait faire comparaison. Valider également le mot de passe. J' ai donc ajouté le champ supplémentaire, lequel j'appelle confirmer le mot de passe. Je vais juste mettre un nom d'affichage ici pour l'adresse e-mail. Donc, le nom d'affichage indique essentiellement ce que Hadi veut être affiché à l'écran. Quel est le nom hors du champ lorsqu'il est affiché à l'utilisateur ? Donc, ce sont des adresses e-mail ni de l'espace. Très bien, sorte que les annotations jouent un bon rôle dans l'attente, une interface utilisateur est structurée. N' importe quel trou. Laisse-moi te faire traverser. Donc, nous savons à propos requis le type de données ici est mot de passe. Et nous mettons dans notre validation pour le passé où il faut que ça entre et puis pas. Ici, j'ai un autre mot de passe de type de données. Celle-ci est confirmée. Mot de passe sur celui-ci est en train de voir comparé la valeur de ce champ avec cette vue. Donc, il est juste une belle comparaison qui va mettre en parce que lorsque la personne s'inscrit, veulent adresse e-mail, puis de comparer les deux passants, en s'assurant qu'ils sont beaucoup. Maintenant, après avoir configuré notre modèle, nous avons besoin de la page réelle qui va appliquer orteil. Donc, pour créer une nouvelle page ou un nouveau composant, nous devons passer à notre dossier de pages. Andi. Donc, nous pouvons tout mettre à la racine parce que pour ce qui est concerné, une fois que le nom de la page est là et il est enregistré orteil ont le nom et nous avons vu quelque chose lettre avec index, où avec la barre oblique au signe que ces signifie maison. Ou si vous regardez les prévisions météorologiques, celles qui étaient là, données récupérées sous le compteur, vous savez, vous savez, voyant la barre oblique Fitch Gate et le compteur Slash pour que nous puissions les mettre à la racine. Mais je n'aime pas toutes les pages, tu sais, juste assis là et règles. Je suis en fait ce qui va créer un autre dossier à l'intérieur hors pages. Cette fois, je vais l'appeler utilisateurs parce que je ne veux que des pages liées à l'utilisateur à l'intérieur de ce dossier, pas un téléphone cellulaire, et c'est vraiment une partie de joueur. Tant que la partie est, ils sont donc laissez-moi vous montrer ce que je veux dire. Donc, nous allons ajouter un nouveau blazer composants directement. Le dossier Goto ajouter sur. Vous pouvez choisir un nouvel article à sa classe, mais nous voulons aller sur le web, et nous voulons un composant de rasoir sur. Alors celui-ci va être inscrit à droite. S' il vous plaît utiliser le capital sont parce que si utiliser un commun sont il vous donnera un problème. J' avais l'habitude d'entrer et d'avoir un problème. Je ne sais pas si c'était moi ou le futur universel, mais c'est juste ma recommandation. Utilisez des lettres majuscules lorsque vous créez vos composantes de réserve. D' accord, alors celui-ci est inscrit. Nous cliquons. Ajouter Onda. Après avoir ajouté ce discours, je vais juste mettre l'annotation no en haut pour lui faire connaître ses racines, donc c'est root est au registre slash, droite. Donc, même si c'est dans un sous-dossier, une fois que vous mettez um sur chaque ref pour aller vous inscrire comme nous l'avons fait dans la barre Nuff dans assez de menu. Il va chercher ce composant et trouver que c'est que je suis juste envie de concevoir rapidement ou le formulaire d'inscription. Il n'aura aucune forme de santé mentale, parce que vous devez créer sur le service d'autorisation avant que nous puissions le faire cocher. Mais traitons avec les conceptions. Je suis juste en train d'enlever ça. Je quitte la cour ici, et ensuite je vais utiliser un peu de courroie quatre, hum, cours. Le style. Donc bottes jusqu'à quatre vient intégré dans le blazer de remorquage. Um, si tu veux inclure les autres. Vous pouvez toujours faire un clic droit sur Gautam Believe Gérer ou aucune autre bibliothèque côté client. Et puis cela fera apparaître une boîte de dialogue que je perds la recherche d'un autre, euh, clients que je bibliothèque, comme peut-être vouloir du matériel ou quelque chose comme ça sur. Ensuite, vous pouvez juste l'installer, et il le mettrait à l'intérieur de l'endroit retardé d'eau que vous avez là, n' est-ce pas ? Donc, si vous voulez utiliser quelque chose qui n'est pas taureau magasin étaient à la tête. J' utilise bootstrap. Si vous n'êtes pas si familier avec bootstrap, vous pouvez toujours aller pour obtenir bootstrap dot com sur la dernière est 4.4 le jour avoir une excellente documentation. Donc tout ce que je suis sur le point de faire, vous pouvez trouver quelque part ici sur le côté. Donc, le composant que je suis sur le point d'utiliser toe help style mes pages, la carte. Donc je cherche une carte, et c'est simplement que nous utilisons, est-ce pas ? Donc, quand nous aurons une carte, ça lui donnera une frontière nationale, est-ce pas ? Et puis vous pouvez voir à quoi les différentes cartes peuvent ressembler. Alors laissez-moi juste commencer avec celui-ci, et je peux juste copier, parce que quand vous tapiez HTML de toute façon, je vais juste accélérer ça. Donc c'est pourquoi je commence d'un diff avec la carte de classe sur puis à l'intérieur de la carte, je veux un titre de voiture et tellement ajuster à C H. Peut-être trois, trois, trois, pas 13 sur lui donner un titre de tiret de classe hors carte droit sur . Puis je suis allé la voir. Juste, euh, non. D' accord. Non, à l'intérieur du corps allaient orteils ont la ferme. Donc, blazer nous donne quelques composants. Certains, tu sais, des étiquettes spéciales. Donc nous sommes toujours aberrants. Mais alors ils ont parfois que nous pouvons utiliser Donc quand il vient les formes. Si vous ouvrez simplement la ville et commencez à écrire le formulaire de mot, vous avez commencé à voir quelques composants différents qu'ils vous donnent vieux hors de la boîte pour aider avec les formulaires. Donc, un qu'ils ont est d'éditer leurs notations amères tandis que les types d'entrée de données sur ceux-ci peuvent fournir un pied de liaison spécial le modèle qui est en cours d'utilisation. Droit ? Donc je ne suis pas encore arrivé à la partie mannequin, mais juste travailler avec moi. Donc, je vais commencer à éditer le formulaire sur vous ouvrez et fermez cela, puis à l'intérieur de la liste des attributs de formulaires d'édition . Tu as mannequin. Donc, modèle signifie quelles classes de données cette liaison de formulaire sur. Nous savons que nous avons créé le modèle de registre à cet effet écrit je vais juste dire modèle de registre. C' est quoi ? Ton orteil à bander. Alors vous avez un peu d'action. Deuxièmement, disons sur dans un nouveau non valide, Soumettre contre sur. Soumettre par rapport à une soumission valide afin que vous puissiez choisir de faire quelque chose Si quelqu'un soumet des données non valides Ah, vous pouvez choisir de faire quelque chose quand la personne quelque chose c'est tout ensemble sans, vous savez, appliquer , ou vous pouvez simplement dire quand une soumission valide est faite. Ensuite, je vais le faire sur la validation des cours par rapport aux validations qui ont été toutes alignées à l'intérieur du modèle utilisé. Ce qui serait dans notre cas, l'adresse e-mail du père est nécessaire sur cela. Les mots de passe ? Plus souvent. Très bien, ainsi de suite valide soumettre. Qu' est-ce que je veux faire ? Je peux appeler une fonction ici. Secondes Un enregistrement de la poignée. D' accord, donc ça a été orteil. Sachez que vous allez voir Red Lines parce que c'est votre créateur. Représentation de deux choses qui n'existent pas encore. Mais nous allons y arriver. Pas de problème. Donc, dans la ferme, ce que je veux inclure sera des annotations de données, validateur à la validation. Résumé. Bon, donc ces deux composants vont s'asseoir et regarder et s'assurer que toutes les validations décrites sont satisfaites. Non. Je vais commencer à construire sur la ferme. Donc, si je veux dire, je sais que vous devriez savoir comment fonctionne la ferme, mais si vous voulez savoir à quoi peuvent ressembler les formulaires bootstrap, vous pouvez toujours revenir à la documentation, regarder les formulaires et ensuite vous voyez ho pour invoquer des formulaires bootstrap pour les faire paraître beaux et dormir sur interactif comme ça. Droit ? Donc vous avez votre formulaire parler, quelle soit la forme dirigée que nous n'avons pas besoin de cela. Mais alors chaque contrôle irait à l'intérieur. Ah, groupe de forme avec une étiquette sur l'entrée. Andi. Eh bien, si tu veux avoir quelque chose là-bas, accord. Donc, le sens est que nous avons besoin d'un groupe de formulaires sur chaque entrée. Devrait avoir le contrôle de formulaire de classe. Tout le reste est à l'intérieur ou contrôle. Euh, alors revenons. Laissez-nous créer notre première entrée pour notre email. J' ai donc formé un groupe. J' ai l'étiquette pour le courrier électronique sur Di. Donc, ceux qui sont trop sur les étiquettes est l'adresse e-mail sur. Ensuite, vous voyez que j'ai mon contrôle de formulaire de classe. Mais alors j'ai quelque chose ici qui va rester goto que dehors lie la valeur de tiret égale. Donc, il est dit ici sur avis que c'est du texte d'entrée, non ? Donc, si vous voulez entrer du texte, idiotie, entrée, texte. , Ce que cela veut dire,c'est que si bien, quand le formulaire est soumis, ou des données chaque fois qu'il a interprété des données, à quelle partie du modèle dois-je lier ? Bon Donc, nous serions liaison orteil inscription modèle point email, parce que c'est un sentiment que nous avons que beaucoup est l'adresse e-mail. D' accord, donc je vais juste répliquer ça pour tous, et puis je vais créer un modèle, et puis vous voyez les valeurs d'emprise de l'esprit. Donc, en ce moment, nous avons un tas d'erreurs, et nous avons le message de validation pour la signification Quelle que soit la sensation qui a mis ici, ça va imprimer ce message, ce message d'erreur qui arriverait dans le cas où la validation n'est pas des camarades . Bon, donc, non, non, j'ai mes trois fusibles pour l'adresse e-mail pour le mot de passe et j'ai confirmé les mots de passe. Vous pouvez mettre en pause une vidéo. Enlevez ça. Quelle entrée vraiment peut simplement copier et coller l'e-mail. On comprend les I ds respectifs. D' accord, euh, bien sûr. Il n'aura jamais à ressentir la même idée sur la même page. C' est comprendre. Pour en changer un pour confirmer le mot de passe directement sur. Assurez-vous que vous spécifiez le type de sponsors égaux. Vous pouvez donc spécifier le type égal adresse e-mail ici, mais nous avons déjà la validation en cours d'exécution pour imposer qu'il doit être anémie. Léchère. Très bien, donc ce serait gentil, vous savez, double travail, double travail, mais pour vous assurer que vous mettez le type est égal à spots mot parce que, euh, vous ne voulez pas qu'il soit en train de taper en texte brut en ce moment. chose la plus importante qui se passe sur n'importe quel formulaire est nos boutons de soumission. J' ai juste un type de bouton égal. Soumettre la classe sur, puis à l'intérieur de cette pomme bt nbt et tiret primaire chaque bloc et tiret. Donc, une fois de plus, vous pouvez toujours consulter la documentation de bootstrap pour voir les différents boutons qu'ils ont sur ce qu'ils regarderaient. Donc, il s'agit d'un bouton primaire bt et tiret droit primaire qui a appelé vous donne ce bouton bleu . Donc, quelle que soit la couleur que vous voulez, vous pouvez l'inclure sur. Vous pouvez faire défiler vers le bas et voir les autres propriétés. Alors sachez que nous avons fait la partie design de la forme dont nous avons besoin orteil. Commencez à écrire un peu de la cour. Donc nous voyons tous ces lions rouges ici. Nous avons quelques erreurs. Donc, pour l'instant, ce que nous devons faire est de spécifier quel modèle d'enregistrement est sur. Modèle d'enregistrement est une classe que nous avons dans la librairie de l'espace proche. Toi, je ne mannequin pas. Donc, la chose est que nous pouvons réellement mettre en utilisant des instructions à l'intérieur de nos composants ici . Parce que je dois te dire que j'utilise cette bibliothèque pour des trucs. Tout droit sur. Puis à l'intérieur de mon cordon. Mon bloc de base. Je peux commencer à écrire au tribunal. Donc, la première chose que je dois faire est de créer je suis sur l'objet off. Eh bien, l'enregistrement de type moderne sur parce que je l'ai appelé modèle. Je dois rencontrer le nom ici. Laissez-moi vous expliquer ça rapidement. Je vais voir des registres privés sur l'eau. Alors je dois l'appeler du même nom ou n'importe quoi près de mes collèges. Quel que soit le nom que je dois mettre ici, puis après l'initialisation, il est égal à une nouvelle instance hors prédécédée sur le modèle. Donc, pour rendre les choses plus simples, aurait pu appeler ce modèle juste d'accord ? Ou ce que je voulais orteil. Et puis je devrais juste m'assurer que je dis que le modèle est égal au nom de l'objet. D' accord. Je veux dire, vous voyez, cette ligne rouge a disparu parce que non, le composant sait que cela existe aussi pour nos liaisons. J' ai besoin de savoir, Dites que le modèle s'accoche, puis mettez-le dans le champ approprié. Une certaine liaison protège le modèle. Cette adresse e-mail mots de passe, une mère, ce mot de passe. Andi, confirme la posture pour surveiller ça. Confirmer mot de passe Très bien, à la recherche de notre message de validation. Nous devons faire quelque chose d'un peu plus chic. Quand je suis allé voir à Scient d'impliquer des résumés accord sur, puis le mettre dans une accolade sur ce à l'intérieur hors. Ces races sont à l'intérieur des parenthèses ont une autre paire de maladie parentale qui est comme indicateur, comme une pseudo fonction ou une fonction de ligne. Mais puis je suis allé à la référence triste ma flèche lambda regardant. Et puis je dis l'adresse e-mail du modèle de fléchettes. Très bien, sur DSO, je vais le faire pour tous les autres. Donc, le message de validation pour mot de passe nous serons prêts. Modèle Teoh pas mot de passe sur les mêmes quatre. Confirmez le mot de passe relatif pour confirmer le mot Ensuite, nous avons besoin d'orteils. Um, il va créer cette fonction droit 100 inscription. Alors non. A l'intérieur de la cour, de la même façon que nous devions créer notre modèle. J' ai besoin de voir un privé Vous chantez la poignée américaine aan den et puis une fois que j'ai créé ce regard attente, cette ligne rouge disparaît. D' accord. Parfait envolée continue. Ici, nous devons savoir ce que nous allons faire quand quelqu'un s'inscrit. Et ce qu'on va faire, c'est, tu sais, appeler un P I et faire toutes sortes d'offensives. Donc, nous devons réellement construire la fonction, et je ne vais pas le faire ici. Au lieu de cela, je vais créer un service qui va gérer toutes nos opérations d'authentification bête . Donc, comme d'habitude, nous allons aller aux contrats, cliquer sur ajouter, créer une nouvelle classe ou interférer n'importe laquelle et nous appelons celle-ci. J' authentifie le dépôt qu'à l'intérieur de cela, je voudrais juste m'assurer qu'il voit des interférences et la classe à l'intérieur. Ce que nous avons besoin orteil ont, ah, fonction qui va orteil être avec l'enregistrement. Donc celui-ci va être une tâche hors de l'égalité Bull sur. Il va être appelé registre quand prendre le modèle d'enregistrement ons utilisateur comme paramètres. Droit. Donc c'est notre contrat. Ensuite, je vais l'implémenter, quelqu'un pour descendre au service clic droit, créer un nouvel appel de classe ce clic sur le référentiel d'authentification. Ajouter, puis nous faisons un peu d'héritage. Je ne vais pas utiliser la posture baster pour les opérations liées à l'utilisateur. Parce que, comme vous pouvez Eh bien, revenons juste un peu en arrière. Mais les référentiels de base ont été conçus pour traiter des classes spécifiques Right on Then. J' ai un modèle d'utilisateur et j'ai un modèle de registre, donc je devrais créer des classes disparates sont beaucoup de maladie amusante. Peut-être utiliser la partie supérieure de l'automne ici orteil et ainsi de suite. Donc, j'essaie juste de garder ça simple sur je suis juste en train de créer un autre, très appelé auteur positif . Dépositaire. Juste pour les êtres d'authentification des choses où il n'a pas à se rendre à la scène hors corbeaux, les opérations et la tenue. Laissez-moi aller de l'avant et mettre en œuvre mon interface. Donc, inclure toutes les bibliothèques manquantes dans l' implémentation, interfère. Et puis nous allons écrire notre noyau qui va parler orteil sur le FBI, quelqu'un pour commencer par injecter mon client http en remorque. Ce bras, cette classe. Désolé. Donc dans le service. Donc je m usine GDP genre sur. Au cas où vous ne vous souveniez pas de cela, nous l'avons fait quand nous faisions le dépôt basé. Quand tu reviens, tu verrais qu'on a vraiment accro qui semblent objet, non ? Ou ça semble, hum merd. Très bien, donc assez de ça. Alors passons à autre chose. Donc maintenant, nous devons initialiser. C' est beaucoup d'ajustement. Rapidement. Embarquez ça. D' accord. Il a dit une chose. Je suis allé là-bas, tu te souviens ? Je l'ai fait. C' est là-bas. Donc, nous avons juste besoin du constructeur pour notre histoire passée dit échanger la copie de nom et coller un changement en lui. Donc j'injecte le client dans notre dépôt. Le tribunal ici va effectivement regarder tout à fait similaire orteil dire le noyau d'affichage que nous venons de supprimer que là où un tribunal d'affichage dans notre dépôt basé. D' accord. Ou créer. Donc on ne s'oppose nulle part. Selon les instructions de l'ASM. Beaucoup de choses sembleront similaires, mais commençons simplement tous ensemble. Donc, la première chose que nous voulons est notre quête hors type post sur l'URL qui va passer est en points point pour s'inscrire en points. Et rappelez-vous, nous venons de créer que quand nous avons commencé avec la bête Ural pour l'inscription a laissé de côté cette barre oblique de Sanders l'a mis mieux en sécurité que désolé. Très bien, donc demande vai. Bon, donc nous avons créé nos demandes. Ensuite, nous allons le remplir avec le contenu, qui va être notre version sérialisée sur le modèle utilisateur qui arrive hors cours. Nous allons de l'avant et incluons tout ce qui manque. Très bien, donc, jusqu'à présent, la plupart ressemble à copier et coller à partir de la création pour le dépôt de bête Beiring . Les paramètres réels qui entrent, n'est-ce pas ? C' est la même cour. Donc on le sérialise à Jason. Ensuite, j'utilise mon orteil de bibliothèque client, crée sur le client http lui-même sur, puis je vais envoyer Ah, demande. Certains veulent juste voir http. Message de réponse Réponse est égal orteil là en attendant cela et c'est notre poids. Donc après moi, c'est réfléchir, alors. Donc, dans le créateur dans le facteur que nous avons créé le dépôt basé, ce que nous avons fait était que nous avons vérifié une réponse spécifique appelée à chaque point. Droit ? Donc le truc, c'est que je peux juste dire quelque chose comme le retour parce que je retourne un lingot. Je peux juste voir le point de réponse de retour est l'école de statut de réussite parce que vous savez que leurs conseils d' état qui signifient le succès afin que nous puissions juste retourner que Donc il est soit vrai que nos pères avec succès sont fous parce que notre A P I pour l'inscription n'est pas retournant toute autre donnée précieuse. C' est nous devons compléter l'inscription ou quoi que ce soit. Nous avons juste besoin de savoir ce que c'est réussi ou pas. Donc, sachez que j'ai configuré mon service pour l'authentification ou mes référentiels pour l'authentification doivent aller sur le point CS et faire la représentation de ces droits. Donc, à l'intérieur des services de configuration, j'ai besoin de dire que les clients des services H D T B doivent s'assurer que je fais ça bien, parce que, vous savez, nous utilisons le problème des clients dp sur cela. Je vais également ajouter transitoire mon référentiel d'authentification oculaire et l'authentification ou affiches afin que nous puissions injecter ce service là où nous en avons besoin. Alors sachez que nous avons fait cela et vous pouvez juste vous assurer que vous avez ces lignes avant continuer. Maintenant que nous avons injecté sur, créé sont hors dépôt injecté dans notre démarrage maintenant de retour dans ou est un composant, nous pouvons l'injecter dans le composant lui-même. Donc, je vais faire référence au contrat, donc je dois utiliser les contrats de bibliothèque puis je peux injecter. Je référentiel d'authentification sur ce. Je vais juste appeler l'objet hors re pool. Donc il y a notre injection de dépendance directement dans notre composant blazer, non ? Non, on peut commencer à écrire un tribunal chargé des enregistrements. Je vais dire pour la réponse vire. Tout droit est égal à sur. J' attends juste le résultat de notre off re pull amarré sur. Ensuite, nous avons le registre. Et puis où nous nous inscrivions bien, nous sommes juste au cours d'un nouvel utilisateur sous la forme d'un modèle d'enregistrement qui arrive à travers notre objet appelé modèle sur. Ensuite, je fais un demi-côlon. D' accord, alors je peux prendre une action si la réponse est bonne, ne sont pas si je peux dire si la cause de réponse puis la série de réponse retournant un lingot. Nous avons dit que nous avons besoin d'un lingot à la seconde, voir si la réponse alors je veux naviguer loin, donc pour naviguer loin, nous avons besoin d'une autre injection et c'est sous la forme du gestionnaire de navigation. Donc je vais juste retourner au sommet et ensuite je vais dire injecter maintenant le gestionnaire de fils de vitesse que je connais juste en appel. C' est le mien de l'amour. D' accord, alors ne sois pas là. Si la réponse est réussie que je vais dire que j'aime les points d'objet gestionnaire navigue sur alors. Eh bien, si la personne vient de s'inscrire, nous pouvons probablement naviguer vers la page de connexion. D' accord, mais il n'y a pas de page de nostalgie. C' est Soto empêcher dans les zones que je navigue à rien. D' accord, ne sont pas la maison plutôt autre que sinon signifierait si la réponse est revenue aussi loin qu'elle a échoué. , Ce que je vais faire,c'est créer une section où je vais afficher un message d'erreur pouvoir revenir. Apparaissent sur la carte. Peut être à droite sur le registre. Non, sur. Alors. Faites quelque chose comme une alerte donner. Donc bottes nous donne des alertes si classe, quasi alerte sur. Alors je peux voir alerte Dash Jer. Donc ça me donne, comme un rouge, hum, donner ou zone. Et puis à l'intérieur de ça, je peux avoir un remorqueur, ce qui est quelque chose comme si quelque chose avait mal tourné avec la tentative de fils de registre. D' accord, mais je ne veux pas que ça soit affiché tout le temps. Tous les droits le font vraiment. Ce que je vais faire est de créer une autre variable sur DSI bullion is field. Il Waas tombe dessus, puis un peu de décor. Ceci, cependant, tombe en premier parce qu'une fois qu'une page charge n'importe quelle valeur est là, il va partie de cette valeur. Donc je voulais être faux d'abord. Mais alors, si la réponse si la réponse ne répond pas si c'est vrai, alors nous ne sortons jamais. Sinon, je veux dire que son champ est égal orteil vrai. D' accord, et puis en haut. Je peux mettre votre déclaration ici dans le HTML. Je peux juste dire ce signe. Si désolé, laissez-moi essayer encore une fois. Je peux voir ce signe si est champ, puis afficher les cotisations. Très bien, Donc ce que cela fera est d'évaluer la valeur de la variable, puis d'afficher la diva en conséquence. Droit ? Alors ? Eh bien, c'est Donne-moi une ère. Voyons ce que ces deux zones disent qu'il n'existe pas dans mon corps. Ah, désolé. Donc, cela doit être déclaré à l'extérieur des registres on handle. Je le déclare global à l'ensemble de la vue, n'est-ce pas ? Donc, nous changeons son état une fois que nous essayons de gérer l'enregistrement. Donc, si ce lac se sent, alors nous avons montré que quelque chose ne va pas. avec le registre, fiston. Bon, alors testons le sel. Je vais revenir au contrôle de mes utilisateurs et mettre un point de rupture sur le registre juste pour m'assurer que nous sommes à la bonne place sur. Ensuite, je vais juste passer en mode débogage. Bon, donc nous sommes dans notre application. Je vais m'inscrire si j'essaie de soumettre en même temps, me dira que le mot de passe et les pasteurs confirmés ne font pas beaucoup, et c'est parce que c'est une sorte de sentiment d'auto. Certains tests, euh, date aussi, vous voyez, c'est ça marche les validations fonctionnent. Je ne peux pas avancer tant que tout n'est pas prévu, non ? Donc ce que je vais savoir est prêt à quelqu'un. J' utilise un passeur par défaut qui est à Sina raisonnablement digne sur. Essayons de le soumettre sur. Je reçois une erreur. Alors laissez-moi voir ce que cela erreurs tous nos bateaux. Donc, pour voir l'époque, on peut aller dans les consoles. Je vais juste faire un clic droit, inspecter l'élément. Va à la baignoire de la console, laisse-moi voir un peu ni la connexion pourrait être faite. Oh, je suis désolé. Je sais ce qui ne va pas. Donc, je l'ai en fait seulement dans un projet de démarrage plus alors laissez-moi juste commencer ça. Donc je dois retourner à ma solution. Droit ? Cliquez sur va des propriétés et assurez-vous que nous sommes sur le démarrage multiple du projet avec le FBI commençant en mode débogage avant le u I Onda nous cliquons sur OK et qui est essayé à nouveau. D' accord, essayons encore ça. Alors inscrivez-vous et j'ai déjà un utilisateur de test avec cela. Donc, je vais dire tous les jours une librairie wanat dot com Andi même mot de passe et puis soumet sur alors il est notre point de rupture. Donc, cela signifie que nous avons réussi juste connecté de notre vous i plus à notre a p I droit. Donc tu l'as vu quand le projet AP I ne gérait pas le toi. Je ne pouvais rien faire parce qu'il avait besoin de se connecter au prochain site Web. Donc, même si nous sommes sur la même machine, même si nous utilisons le même serveur Web, vous pouvez voir qu'ils diffusent à partir d'adresses différentes sur le principe reste de voir. C' est la même chose que vous feriez si vous vouliez parler à un autre FBI hébergé sur un site Web à mi-chemin à travers le monde une fois qu'ils ont un u r L, vous pouvez utiliser les mêmes techniques Http, client le poste pour obtenir quelle que soit la méthode qu'il est et se connecter à travers. Maintenant. Cela étant dit, je vais juste vérifier que les données sont envoyées et vous voyez ici le détail de l'utilisateur , même si nous avons envoyé sur le registre ou le modèle d'enregistrement, vous êtes avec le mot de passe e-mail et confirmer mot de passe. Nous ne recevons que l'adresse e-mail et le mot de passe. C' est tout ce qui compte vraiment, non ? Pour que je puisse exprimer à cinq heures. Je suis presque sûr que ça passera alors. Voyons ce que je fais. D' accord. Andy est rentré chez lui, c'est ce qu'on lui a demandé de faire des droits. Nous avons dit : Si c'est réussi, alors retournez à la maison. Alors c'est ce qu'il a fait ? Non, bien sûr, je veux modifier un peu cela pour que lorsque la personne est inscrite, elle aille probablement à la journalisation. Donc, non, nous allons travailler sur la fonctionnalité de journalisation pour nous assurer que lorsque la lumière du jour reviendra et qu'elle le veut, beaucoup d'entre nous peuvent cliquer contre vous. forme César met nos données, puis nous changeons l'état d'authentification de notre haut tout en obtenant le discours et en analysant tout le long du chemin. Bon, alors restez à l'écoute. Nous avons une autre activité d'impact à venir lorsque nous parlons de l'exploitation forestière. 40. Configuration utilisateur - Extended Blazor Blazor: Hé, les gars, bienvenue. Nous allons aborder sur la connexion utilisateur dans fonctionnel il. En ce moment, j'ai un peu à faire quelqu'un pour bouger, et à tout moment, vous pouvez toujours mettre la vidéo en pause, essayer de rattraper ce que je fais. Mais je vais essayer d'être aussi clair que possible pour expliquer ce qui se passe. Donc, je commence par nos points, et la première chose que j'ai besoin est de m'assurer que nous n'avons pas en point pour les inscriptions. Pour les inserts longs. Je vais appeler celui-ci le point de connexion, et il va avoir la base, votre ancienne barre oblique Il était occupé. Les utilisateurs de barre oblique orale du FBI réduisent la journalisation avec la barre oblique de fin. Ensuite, je vais passer aux modèles, et je vais créer à l'intérieur des détails du fichier de modèle utilisateur dans ou la classe de modèle de journalisation. Donc, nous avions un modèle d'enregistrement. Ça va ressembler à peu près à la même façon. Nous n'avons tout simplement pas besoin de confirmer les mots de passe, comprendre la copie, adresse e-mail et le mot de passe sur mettre à l'intérieur de l'amour, parce que c'est tout ce dont nous avons vraiment besoin pour que quelqu'un puisse se connecter à l'application juste si vous , vous pouvez probablement déchirer le paramètre de longueur de chaîne parce que vous ne voulez pas leur donner des indices que vous savez être plus heureux. Vous ne voulez pas avoir d'indication. Désolé que le mot de passe doive être plus court que cela. Un autre modèle que j'ai créé est la réponse de jeton. Donc, vous pouvez même mettre cela à l'intérieur hors modèle utilisateur. Mais je l'ai mis à sa place parce que tout ce que c'est est une classe. Ce jeton de crâne répond avec un champ appelé parler parce que rappelez-vous que quand nous appelons le FBI étaient en train de récupérer une chaîne pour au moins la réponse est de parler. La clé est de parler de la valeur. Donc, nous voulons avoir fi trop de la clé afin que nous puissions stocker la valeur lorsque nous la sérialisons dans le in. Le FBI a appelé, mais on verra ça plus tard. Alors allez-y et créez cette réponse de jeton à l'intérieur des modèles. Maintenant, nous allons passer à notre contrat pour le dépôt d'authentification I. Et ici, je vais introduire deux nouvelles fonctions, l'une appelée connexion sur l'une appelée Model One appelée Logo. Donc ils prennent tous les deux un est un taureau et un autre est une tâche. Alors quand est de retourner un taureau sur un est juste que nous sur ? Ensuite, nous avons bien sûr un modèle de journalisation comme périmètre de notre fonction de connexion. Et si nous le mettons dans le contrat, alors nous devons le mettre dans le dépôt. Donc, vous pouvez voir ce studio visuel nous faire savoir que nous avons des erreurs. Et je cache ça parce que parfois ça nous fait paniquer à l'avance. D' accord, alors. Comprendre d'aller de l'avant sur les outils. Très bien, donc j'ai juste enlevé un peu de noyau supplémentaire que j'avais là, donc je n'ai pas à m'en inquiéter parce qu'on va le retaper. Je l'ai tapé juste pour m'assurer que je l'ai eu juste avant de venir donner une leçon pour film de beurre. Donc, c'est bon. Je l'ai enlevé. Vous n'avez pas à y prêter beaucoup d'attention. Non, mais en ce moment, nous nous assurons juste que vous avez mis en œuvre la journalisation sur la chèvre de la loi et nous concentrons nos efforts sur notre fonction de connexion. Il est donc laissez-moi juste supprimer cette exception levée sur à peu près. Nous allons copier ce que nous avons ici dans la demande dans le registre. Um, demande. droite. Alors où vient juste de copier ? On est tous hors de ce tribunal, en fait, Andi. Oui. Donc, nous copions ceci sur le mettre dans, connecter, et ils allaient faire quelques changements parce que, eh bien, eh bien, nous faisons le côté de la journalisation sur l'un ou l'autre registre dans le point. J' ai besoin des points de connexion. droite. Donc, dans les points que la connexion points, nous avons déjà le modèle de panier pour l'utilisateur. Nous sommes donc en train de sérialiser l'objet de la carte. Nous créons le client sur puis http responsable. Donc, nous avons besoin que ce soit une chanson qui est moi qui est vu rapidement sur puis toutes ces erreurs avec loin tellement à peu près. On fait la même chose qu'on voit. Essayez de vous connecter, hum, passez à nouveau. Quoi qu'il arrive et nous allons créer les formulaires hors cours, sorte que le formulaire alimente les données. Ici. Nous le passons dans la même méthode de post. Mais nous appelons ce point de terminaison onda. On vérifie si on revient. Je réponse notée ne sont pas un tribunal de réussite ou non. Mais il y a un peu plus que de coller. Si c'est un succès. Responsable ? Parce que rappelez-vous que quand il y a longtemps, on commence à parler du jeton. Nous avons besoin du jeton, et nous avons besoin de stocker le jeton pour que nous puissions effectuer des opérations, lancer l'application correctement. Quelqu' un orteil doit ajouter quelques lignes de plus sur le cordon. Où, au lieu de ceux qui reviennent, le succès s'ennuye-t-il ? Je vais vérifier si la réponse n'est pas un succès. Bien. D' accord, alors je veux retourner les chutes. Bon, donc je viens de tuer l'opération ici. Si ce n'était pas un succès, comme on sait qu'il devrait l'être. Ensuite, nous tuons l'opération. Mais alors nous pouvons passer sur Onda tentatives toe, obtenir les données de la réponse parce que, rappelez-vous, la réponse va avoir le tableau de réponse ainsi qu'un flux de jetons. Donc, si vous voulez un rafraîchissement sur le trou sera obtenir sur les données comme je ne devrais pas être d sérialiser les données pour aller au dépôt de base sur, regardez une ou oubliez les opérations. C' est vrai ? Vous voyez ici où nous obtenons la réponse pour un généreux. Bien sûr, mais alors nous obtenons le contenu, nous lisons chaîne, et puis nous d c réalisons qu'il orteil sur l'objet hors type T t ici étant l'objet abstrait que l'abstrait. Hum, pourquoi les référentiels génériques ont conçu la poignée des orteils Quoi ? Dans notre cas, vous savez, nous recevons un discours et une réponse, non ? Donc, je peux juste emprunter ces trucs ces deux lignes de fourrage, et je vais juste me rétracter à eux au lieu de les taper à partir de zéro. C' est vrai ? Donc, ici, je vois obtenir le contenu sur qui va attendre le contenu revenir dans l'objet de réponse. Et puis il a commencé le retour. Je veux voir Vier. Talkin est égal à Jason. Dot GC utilise l'objet dans le remorquage. Notre classe que nous avons créé parler et répondre, n'est-ce pas ? Surma a ennuyé obtenir buck la clé de jeton sur le contenu. Je vois quelle que soit la clé, ça revient dans les champs ici. Donc, c'est vraiment ce que nous faisons dans le dépôt basé, au cas où cela n'a pas été vraiment expliqué plus tôt ou que vous compreniez vraiment la zone. C' est pour ça que nous devons être faux. On passe le modèle actuel ou la voiture. C' est la classe. D' accord, donc quand on va chercher les auteurs et ainsi de suite et les livres, tu comprendras que c'est un peu plus, mais pour non, laisse ce pré comme une petite orientation sur tu comprendras que c'est un peu plus, mais pour non, ce qui se passe à l'intérieur de ça, hum, opération. C' est vrai ? Donc, nous sommes d sérialisation, quel que soit l'objet à dépenser à travers le Jason en remorquage, une classe avec des champs correspondants. D' accord ? Et une fois que nous avons eu ça, ils ont laissé quelques choses à faire. On doit stocker le jeton quelque part. Ensuite, nous devons changer les états d'authentification de l'application sur. Ensuite, après que nous n'avons pas tout fait que j'étais satisfait, alors nous pouvons juste retourner True, parce que c'est un lingot tellement vrai signifierait que tout a réussi. Donc je viens juste de retourner la vraie extrémité de l'orteil. Donc, d'après les commentaires que je viens de faire, nous avons quelques choses à obtenir. On a besoin d'orteil, d'une bibliothèque qui nous permet de stocker le discours. Bon, donc on va utiliser le stockage loca pour ça. Donc, nous allons devoir aller dans le nouveau get et avoir une bibliothèque. C' est beaucoup d'entrepôts locaux de Steve. Sur une autre chose que nous devons utiliser notre à faire est de remplacer le fournisseur d'authentification par défaut pour blazer. Pour que nous puissions le laisser faire exactement ce que nous voulons. Bon, alors commençons par avoir cette bibliothèque. Donc aller dans le nouveau get dans notre librairie, vous je demande ou projet. Plutôt, je vais chercher cette bibliothèque, une bibliothèque vraiment cool et rappeur um appelé stockage Blizzard. Donc je vais juste aller au local de Breaux affirme un stockage local de point blazer. Et puis tu pourras aller de l'avant et ne le sais pas. Cela vous permettra donc d'utiliser le stockage local dans un navigateur pour démarrer l'authentification. Parler. Non, c'est un équilibre entre la facilité d'utilisation et la sécurité parce qu'il y a des problèmes de sécurité à ce sujet . Mais alors, pour ce projet, au moins, il nous donne un avant-goût de ce que font certaines personnes, ce qui se fait. Plus avancé, il a besoin peut être employé. Mais je ne veux pas agiter le processus. droite. Donc, nous recevons le blizzard de bibliothèque sur ce stockage, puis nous devons l'initialiser au début de ce CS. Et pour ce faire, nous allons configurer les services sur le blazer côté service d'Ernie. Je vais juste mettre les services amarrés. Ajouter un espace de stockage Blezard. Donc, cela ne nous donne pas accès au stockage blizzard de bibliothèque via le conteneur de dépendance ou d'autres conteneurs IOC. Donc, de retour dans le dépôt, je ne peux pas aller de l'avant et injecter un nouveau service afin que je puisse dire lecture privée seulement. Et puis je suis allé appeler le service de stockage local et l'appeler. J' appelle le stockage local de l'objet. Donc, si vous avez besoin d'inclure une bibliothèque, allez-y et faites-le ce qui apporterait l'utilisation du stockage local de point blazer sur puis hors cours. On doit l'injecter. Andi a initialisé et puis savoir que nous l'avons. On peut l'utiliser. Alors, qu'est-ce qu'on va l'utiliser quand on aura le jeton ? D' accord, on vient juste de rentrer à Tokyo et ce n'est pas à l'intérieur de cette corde. Appelle le jeton Vier. Je sais qu'il faut ranger les orteils. Donc je vais dire un poids sur le score. Stockage local sur. Alors ce que le stockage local me permet de faire est clair sont le stockage local Um voir si une valeur particulière là-bas. Mais ce que je suis intéressé à faire est assis sur les éléments que je vais voir si l'objet est face et alors cela va demander avant notre clé Onda une valeur. D' accord, donc la clé que je vais mettre comme parlant gentil et simple ou non, laisse-moi. Ils ont été plus officiels, évidemment hors de parler. Alors je suis avec le passé à Ken. Alors quel est mon objet ? Mais le terrain est ce discours, non ? Donc, l'impression que quand il a obtenu d c repose il a obtenu des alliés dieser dans le jeton de champ. C' est là que se trouve la valeur. Donc, je suis en train de mettre en place un nouvel élément dans la recherche locale a appelé jeton sur je dis parler que parler. Très bien, donc quand nous nous connectons à tout est réussi que nous obtenons le jeton, il le stockera dans le stockage local, qui est dans un navigateur. Et quand nous testons, vous verrez cette première fois exactement ce que cela signifie. D' accord, donc la prochaine chose que nous voulons faire est de changer l'état vers le haut pour l'état d'authentification hors du haut, ce que j'ai mentionné aura besoin sont toujours d'écrire un tribunal personnalisé et plus au fournisseur qui est déjà intégré. Donc, je vais aller de l'avant et créer un nouveau dossier sur je vais l'appeler fournisseurs Tous les bons fournisseurs, puis à l'intérieur des fournisseurs. Nous allons créer un nouveau fichier. Donc, à une nouvelle classe. Et je suis avec l'appelé un fournisseur d'état d'authentification P I qui est une bouche, mais un fournisseur d'état d'authentification P I et puis nous cliquons. Ajoutez, puis ces authentifications. Eh bien, cette authentification du FBI dit que le fournisseur va vraiment hériter certains vont juste mettre dans un héritage deux-points sur son héritage du fournisseur d'État d'authentification. Donc, vous pouvez simplement copier et coller cela et enlever le A p I sur. Alors cela va me demander orteil inclure une bibliothèque. Et une fois que cela est fait, il saura exiger que moi toe fournit implémente la classe abstraite, ce qui signifie que je dois fournir une override avant les authentifications qu'ils fournissent une classe ou les fonctions obtiennent l'état d'authentification qu'il coule est-ce à peu près ce que ces authentifications qu'ils ont fournies font hors de la boîte est la personne autorisée ou non ? Sont authentifiés, sont des noix. Et puis, sur la base des différentes autorités que nous avons mises en place autour de l'application, il dira oui ou non. Peuvent-ils faire ça ? Peuvent-ils faire ça bien, ou devraient-ils voir cela s'ils voient que tout est à construire ? Donc nous allons gérer tout ce que nous voulons. Non, la raison pour laquelle nous l'écrasons, cependant, est que nous voulons changer le comportement en fonction du fait que nous utilisons le jeton. Donc, voulez voir s'il y a un jeton présentant le stockage local et que quelque chose est que cette personne est autorisée sont déjà authentifiés, pas vrai. Donc, si je dois être à la recherche dans le stockage local, cela signifie que j'ai besoin de l'orteil de dépendance. Vérifiez les histoires locales. Je vais devoir injecter dans ce magasin local de la même façon qu'on l'a fait dans l' autorisation qu'on sait. D' accord. Ou référentiel d'authentification sur. Ensuite, je vais devoir asseoir mes constructeurs de SETI ou notre baignoire supérieure. Très bien, fournisseur d'état d'authentification sur. Ensuite, j'ai mis dans mon paramètre pour le stockage local sur. Ensuite, j'initialise à l'intérieur du constructeur. Bon, donc maintenant à l'intérieur de cette fonction, je peux faire des choses, mais laissez-moi juste dire ça. Je vais devoir mettre la prise d'essai, est-ce pas ? Alors que s'est-il passé ? C' est la première fois que je fais ça ? J' ai passé du temps à me demander pourquoi ça ne marcherait pas. J' obtenais quelque chose sur le rendu et un conflit avec le début local. Donc, sur la base du fait des seigneurs Blazer entiers, il a besoin de tout pour Seigneur. Tout d'abord, je pense qu'il y avait un manque beaucoup sont certains, hum, mauvaise gestion des temps inférieurs entre les vérifications de stockage local sur le cordon du serveur réel . Donc j'ai eu une erreur, non ? Donc la prise d'essai est juste pour s'assurer qu'il ne casse pas sa victoire quand tout ne Seigneur en même temps. C' est vrai ? Donc, la première chose que je vais faire est d'essayer d'obtenir le jeton qui est dans les magasins locaux. Donc, pour obtenir le jeton, je vais avoir un jeton de sauvegarde très appelé en cours d'attente loca stockage qui obtient itim un évier . Et ça va dire que je vais nous mettre sur la corde. Ensuite, le nom de la valeur sont la clé de ce que je veux est off tokens. Tu te souviens ? On le met juste quand la personne l'aime. Une clé désactivée jeton doit être créée. Donc, cela signifie que chaque fois que nous voulons récupérer, il utilisera cette fonction. Obtenez l'article. Et ça me donne une position arabe doit être un évier. D' accord , alors. Chaque fois que nous l'aurons, il sera sauvé. Sont stockés dans un jeton enregistré. Ok, non, quand j'aurai ce jeton, je veux vérifier certaines choses à l'intérieur du jeton. Et je vais soulever de vieux jetons et vous montrer ce que je veux dire par vérifier certaines choses . Donc voici quelques exemples de jetons, non ? Les jetons d'air que j'ai aidés sur Pete semblaient des tests précédents. Cela n'a aucun sens pour moi de le regarder. Cela n'a aucun sens pour vous sur cette année un ordinateur qui est capable de le décoder. D' accord. Mais alors le point est que tous hors d'eux, ils étaient génial pour trois utilisateurs différents sont au moins peut-être certains quatre le même utilisateur, mais dans des situations différentes. Mais les informations d'en-tête sont les mêmes. D' accord ? Non. Entre les arrêts complets, vous avez le 1er 4 arrêt. Je suis le dernier arrêt complet, non ? L' utilisation d'eux est une sorte de faire de cette façon. On a ce qu' on appelle les charges utiles. Si je double-clique dans cette section entre les arrêts de nourriture, nous avons cela comme charges utiles. Cette charge utile contient toutes les informations qui auraient été configurées dans la capacité de prison. L' émetteur, cette date d'expiration. Qui ? Toutes ces réclamations ? Notre numéro un a reconstruit nos jetons. On a mis un tas de réclamations. Toutes ces informations sont stockées et accessibles à l'intérieur de la charge utile. Maintenant en utilisant Non, mais plus plus, je peux simplement aller à brancher, aller à maman. Outils sur la base 64 d Accord sur, puis. Cela semble un peu mieux où vous voyez sous avec la valeur U c j t I. Vous voyez Identificateur de nom. Tu vois le rôle, non ? Um, la date d'expiration de l'expert ou au moins une sorte de valeur. Cela représente une date d'expiration sur l'ISS. Votre qui était l'hôte local Loca tuyau. C' est vrai ? Andi peut regarder. Tu vois ça ? Ils ont tous vendu Be a 64. décodage est un peu mathématique. Donc celui-ci se sentirait parce qu'il ya Ahmad pour le mois qui a besoin de se produire puis a reçu celui-ci fonctionnera bases avant. Bon, donc chaque fois que tu as cette flèche, tu veux dire Neto et l'une sont deux sens égaux. Je pense que celui-ci a besoin d'égaler les signes. , Andi, je ne sais pas que c'était un procès et une erreur, est-ce pas ? Donc, les mois pour lesquels le mod doit être deux ou trois. Donc si ce n'est ni l'un ni l'autre, je ne pense pas que ça marchera. Si c'est toujours, il a besoin d'un côté égal, c'est le fait qu'il faut pour que la rue scientifique ait besoin d'un, quelque chose comme ça. Mais le fait est que celui-ci était un bon genre de revendications, et toutes ces informations viennent à l'intérieur des jetons. Donc nous devons être en mesure de Paris ces jetons pour prendre des décisions quand nous obtenons l' état d'authentification. D' accord ? Non, la première décision que je veux prendre après avoir essayé de récupérer ce jeton est s'il y a même un jeton. Donc, si je vais juste utiliser ma bibliothèque de chaînes et voir n'est pas ou espace blanc. Donc si n'est pas ou l'espace blanc sauver l'orteil peut sauver le jeton, est-ce pas ? Donc il n'y a rien à l'intérieur. Je n'ai rien récupéré. Je l'ai cherché et je n'ai rien récupéré, puis je dois retourner un nouvel état d'authentification , obtenir mon droit de rotation, vous état d'authentification sur. Ensuite, l'authentification est restée jette sur les principes. Donc, cela signifie que quand un principe est présent, cela signifie que j'utilise il est présent. Donc, si je transmets simplement un nouveau principe des revendications, tout droit efface le principe à ce moment-là et le principe des revendications peut être vide. Ou vous pouvez l'initialiser avec une identité nettoie, non ? Donc je vais passer une identité vierge parce que je voulais être extrêmement clair qu'il n' y a personne ici. Tout ici est vide, personne n'est présence ou l'état d'authentification est qu'il n'y a personne. C' est à peu près ce que ça dit. C' est donc toujours dans l'application de l'application de la demande flagrante que personne n'est président. Personne n'est à la maison. Donc, vous n'avez rien à faire. Fais comme si personne n'aimait avoir raison. Donc, en avançant , nous pouvons continuer à obtenir le contenu. Donc, je ne vous montre pas tout le contenu qu'ils parlent dans qui est nécessaire juste sur. Une chose que nous voulons faire est également de vérifier l'expiration, Donc, si le jeton est expiré, alors nous voulons dire que personne n'est aimé et je veux aussi le supprimer. Donc, si c'est là mais qu'il a expiré, voulez le supprimer à partir de là, nous voulons changer l'authentification. Les États ne l'authentifient pas. Donc, pour Paris le jeton j'ai eu le bailleur de fonds agissant sur une cour d'écriture pour faire toute cette analyse. Et c'est que je connais le signe égal et les bases avant et ainsi de suite. Mais il y a une bibliothèque que ce président peut nous aider à travers cela. Donc, au lieu de te mettre à travers tout ce cordon, on va aller à nouveau. Est-ce que je vous ai fait que je l'ai fait alors laissez-moi vous lancer rapidement et je vais chercher Laisse-moi voir si je peux juste chercher le point jwt de Tolkien. J' espère voir la bibliothèque. On y va. Donc système cette identité, pas modèle. Ce sont des jetons que J lo beauté. Alors allez-y et installez cette bibliothèque, et puis nous pouvons retourner à Eh bien, nous devons aller pour commencer ce CS sur. Commençons par que Sears sache que nous voulons que les orteils aient accès à cette bibliothèque à l'intérieur des conteneurs de dépendance, non ? Donc, je vais ajouter une instance étendue afin que je puisse juste le faire sous le client GDP avec d' autres écoles. Instance de la J Liberty qui parle des centaines. Donc, cela va m'obliger à mettre ma déclaration d'utilisation. Très bien, donc ça me permettra d'utiliser ça n'importe où une fois que je l'injecte dans quelqu'un pour que l'orteil soit injecté dans le fournisseur d'Etat aussi, mais je n'aurai pas à répéter beaucoup la cour. Ainsi sont continuellement créer des objets. Laisse-moi juste me dépêcher et faire une lecture privée. Seul Andi inclut le gestionnaire de sécurité JWT. On l'appelle sur le jeton de score, gestionnaire. Donc, vous voyez, il y a des moments où vous devrez faire le contrat sur le service pour l'obtenir dans le conteneur de dépendance, et puis il tend n'importe quel type d'instance unique, et cela fonctionnera exactement de la même manière, droit ? Donc, bien sûr, après avoir mis l'objet, vous devez l'initialiser. Donc je l'ai juste mis là dessus. Ensuite, nous initialisons le gestionnaire de jetons, Donc en parlant 100. Bon, donc maintenant que nous avons cet objet de gestionnaire de jetons, chaque fois que nous voulons faire quelque chose de lié à l'intérieur de cela, je peux juste l'appeler. Donc, ce que je veux faire est de lire le contenu sur quoi ? Pour avoir notre orteil peut se contenter d'aller voir les docks du gestionnaire de jetons de soulignement alors à partir d'ici, c'est Oh, disons, pouvez-vous le lire ? Nous voulons créer Vous voulez créer une capacité de jade ? Vous avez un tas d'options. Donc celui que je veux sa lecture jwt parler, alors avoir la même unité de jeton. Alors ce téléphone, fiston. Donc, cela nous donne un objet appelé jeton de sécurité JWT. Donc, à partir de cet objet, je peux dire, Quelle est la valeur d'expiration ? Très bien, jusqu'à présent expiration. Il saura analyser ou me donner. Laisse-moi juste m'assurer que tu reçois mon ouais, juste en vérifiant l'orthographe pour qu'il analyse cette valeur dans le remorquage. Le type de données que je veux. Donc, si je dis pas valide pour faire que celui-ci hors de ces réclamations qui ont été envoyées, nous voyons qu' il a une date heure. Ça me donnera un rencard. temps obtient la grande valeur temporelle. Donc, si je dis orteil valide est égal à l'expiration, alors je peux vérifier si la date heure non ou expirant est inférieure à la grande heure. Non. Alors rappelez-vous que le délai d'expiration était quelque chose que nous avions la ville, c'est tout. Que nous avons ajouté cinq minutes sont ajoutés cinq jours, quel que soit le délai d'expiration est, je vais l'obtenir dans la valeur de jour et je suis avec complet sans aucun sur. Si non a une valeur supérieure à ce que le délai d'expiration était alors. Je tiens aussi à dire que personne n'est authentifié parce que quoi que ce soit, il n'y a plus de valeur. Mais en plus de cela, je vais aussi vouloir le retirer du stockage. Alors je peux voir un poids sur le score, point de stockage local et puis vous pouvez voir supprime je suis un évier. Tout va bien. Ensuite, il me demandera la clé et la clé est éteinte. Donc, si le jeton a expiré, supprimez-le. C' est à peu près ce qu'on fait, non ? Donc avant je ne faisais pas ça et le jeton était là, la personne aimait parce que pendant que je parlais était présente, donc nous devions un état non authentifié pour la personne. Mais ils n'étaient pas tout ce qu'ils ont cliqué. Il y en avait, ils n'ont pas pu entrer. Tout était gelé. Et quand nous avons enquêté, nous avons vu que nous étions sur le 401 parce que le jeton connaissait un P je rejetais le jeton, mais nous n'avions pas l'installation dans l'orteil de l'application, vous savez, aimer la personne si le jeton est invalide. C' est vrai ? Donc, ce qui s'est passé, c'est qu'une fois les seigneurs de l'application , ça provoque un dysfonctionnement, et ensuite il fait ces vérifications que nous mettons sur. Ensuite, si le jeton était là mais qu'il a expiré, nous le supprimons. Et puis nous aimons celui qui a été connecté dans de longs mémos. Personne n'est connecté à ce moment-là. Bon, donc on est forcés. Les utilisateurs ont orteil re authentifier. Si le jeton expire de la même manière, s'il n'y a pas de jeton, alors qu'ils doivent juste se connecter s'ils veulent s'occuper des opérations nécessaires En ce moment, la prochaine chose que je veux faire est d'obtenir les revendications du jeton. Parce que je ne vais pas seulement mettre pour obtenir des nettoyages à partir de si ken, puis construire l'objet utilisateur authentifié sur, puis retourner, authentifié, authentifié. Les premiers sont des objets, n'est-ce pas ? Pour que ce soient les choses que nous voulons faire. Mais la chose est que pour obtenir les revendications de parler, et c'est quelque chose que je vais vouloir faire à plusieurs reprises. Donc, je vais juste créer sur la fonction pour ce séparé. Oh, au fait, laisse-moi avant de passer à la prise. Je ne veux pas lancer parce que ça ferait planter le programme. Donc si quelque chose sur le programme se bloque, disons juste que nous avons retourné les états d'authentification n'étant rien, pas vrai ? Alors ne bloque pas le programme comme tout le monde, n' est-ce pas ? Laisse-moi passer à autre chose. Donc je disais que j'ai besoin d'une fonction ou que je veux une fonction qui va juste obtenir toutes les revendications du jeton, non ? Parce que c'est quelque chose que je vais utiliser plus souvent. Et cela va aussi servir un double but, compensant une revendication pop articulaire que nous n'avions pas auparavant. Donc, nous allons créer les fonctions sur lesquelles je vais économiser privé. Je vais utiliser une liste, une liste hors réclamation. D' accord, donc le type propre donc je veux qu'une liste soit effacée, et je veux l'appeler pour qu'Empire crie sur ce que je passe. C' est cet objet, qui est notre discours et notre contenu. Très bien, donc c'est le type de données est J W T de sécurité peut. C' est le type de données de cet objet passaient, puis pour obtenir les revendications. C' est très simple. Donc, je vais expliquer pourquoi je vais passer par la peine d'avoir une fonction complète pour ça quand c'est vraiment simple. Quelqu' un pour sauver les revendications de fer est égal au contenu de jeton. Rappelez-vous, contenu de jeton, les tuyaux d'objet, tout ce que nous avons besoin de savoir sur notre jeton, d'accord, mais alors je peux le voir ancré là. Nous avons un champ appelé claims, qui nous donne la liste des jetons tous dans la revendication de type bêta sur son innombrable Eh bien, cela nous donne un nombre incalculable de revendications off, non ? Mais je veux un moins parce que je vais le modifier un peu que je ne peux pas modifier l' innombrable le même où peut modifier libéré droit ? Donc je vais le mettre à la liste. Mais alors je vais dire que l'annonce sur j'ajoute une nouvelle revendication. D' accord, Onda, cette revendication est en marche. Avoir le type de revendications nom de point sur Douvres. Quand nous nous connectons, je vous expliquerai comment tout cela intervient. Des types si propres. Désolé. Impossible d'effacer les types Stipe ou propres qui nomment sur la valeur que ce nom est lorsque tohave parle de contenu. J' ai le sujet. D' accord. Donc le sujet serait ce que nous avons vu. Un sous-marin dans le décodé. Donc, sous c'est un email. Donc, je dis que l'utilisateur principal est la revendication. Une des revendications que cet utilisateur, quand il est construit, devrait avoir est que le nom étant égal à n'importe quel sujet avec Pâque comme sujet. Ok, qui est la lettre d'e-mail a commencé, nom de désir ou n'importe quelle crête sur alors nous ne pouvons pas revenir effacer. Donc, il n'y a pas d'analyse. La liste de to est que j'avais besoin de faire cette ligne, et je ne peux pas le faire sur d'innombrables. Donc, sachez que nous avons, ah, orteil fonctionnel, obtenir les réclamations. qui signifie que chaque fois qu'on obtient des éclaircissements et qu' on appelle cette fonction, on obtient toutes les réclamations. Je suis venu ainsi que l'addition hors nom étant alors que l'eau était en sujet. Bon, donc, non, je peux construire l'utilisateur, donc je vais juste fusionner ces deux-là en un, non ? Donc nous les fusionnons bien. Quelqu' un pour construire l'objet utilisateur ou je vais sauver notre utilisateur est égal. Donc, vous revendiquez des principes. Donc à peu près tout ce que nous avions apparu, non ? Donc, en fait, je vais juste copier cet incident, en le tapant un peu. La vision de notre utilisation est égale à un nouveau principe de revendication. Cependant, nous allons en fait avoir, ah revendique l'identité avec une valeur. Donc, les identités de réclamations qui ont ces réclamations Désolé va avoir des revendications de Paris. D' accord, tu sais quoi ? Laisse-moi rendre ça un peu plus propre. Permettez-moi donc de dire que les réclamations contre le feu sont égales. Orteil la fonction. Call toe fire crie notre passage dans le contenu du jeton. D' accord. Et puis une fois que vous aurez les réclamations dans cette variable, alors nous allons dire que l'identité des réclamations a ces revendications sur tous les combattants. Faites-le. Allez, regarde le constructeur. Tu vois ça ? On demande qu'il demande le recouvrement des réclamations, alors je peux dire la clé. Que les associés sont le temps d'authentification, qui dans ce cas était JWT. Très bien, donc nous avons cet utilisateur sur, puis le prochain Lyon dit que nous retournons les utilisateurs authentifiés. Donc nous allons rendre tout ce que nous avons ici. Cette déclaration de retour entière est applicable, mais au lieu d'un blanc I au principe des revendications vierges et de l'identité. Je vais retourner l'utilisateur parce que c'est le même principe de revendications avec une identité avec des revendications cette fois sur. Donc, je retourne juste cet objet à l'intérieur des états d'authentification. Donc tout cela veut dire que Obtenez le jeton. S' il n'y a pas de temps à parler, personne n'aime. S' il existe une date d'expiration de jeton, s'il a expiré, supprimez le jeton. Personne n'est aimé. Si aucun d'entre eux n'est touché, cela signifie que vous voulez obtenir les réclamations. Obtenez l'utilisateur, créez un utilisateur. Andi, dis que quelqu'un est charmant. C' est à peu près tout ça. Tout ce que vous voyez. Tu n'as jamais fait un peu de retard, mis sur le point de savoir. Mais nous en avons un peu plus, et ensuite nous pouvons nous arrêter et passer aux autres activités, non ? Alors je vais vous dire ensuite, connectez-vous. Donc, je vais créer ma propre fonction à l'intérieur de ce fournisseur d'état d'authentification quand nous allons voir la tâche face au public, aimer le oui, accord. Ensuite, quand nous appelons connexion. , Ce que je veux faire,c'est obtenir le même jeton, non ? Rappelez-vous donc que nous avons la fonction de connexion dans le référentiel. C' est vrai ? J' ai donc dit que je voulais changer l'état du haut pour le faire, j'ai besoin d'appeler quelque chose à l'intérieur d'un p. Je suis resté fournisseur, mais je ne peux pas simplement appeler le get authentifié. Vous voyez, c'est que j'ai besoin de définir l'état d'authentification manuellement. Donc, je crée ah, appel de fonction connecté ou longtemps dans ce que vous voulez l'appeler. Mais cette fonction va être ce que nous appelons à la fin de tout cela un p j'appelle et Paris ing et ainsi de suite. Puis je changeais d'état. Alors construisons ensemble. Donc, quand je dis connecté, la première chose que je veux est le même jeton. Donc on va récupérer ça du stockage local, non ? Très bien, parce qu'on vient de le mettre, accord. Nous venons de le mettre dans le stockage local. Alors quoi ? Je suis modifié dans l'état d'authentification sur. Je veux dire, sans doute, j'aurais pu juste passer le jeton, mais c'est bon. Je veux dire, juste pour être sûr que nous sommes cohérents si nous le mettons ici, je vais l'obtenir dans le stockage local. Je vais également vouloir analyser la revendication, donc je dois obtenir le contenu sur. Ensuite, je suis allé faire à peu près la même chose que j'ai fait haut, où je vais analyser les réclamations directement sur. Puis une fois que j'ai les réclamations, je vais construire mon utilisateur. Donc, on se souvient de cela. C' est obtenir. Donc, si je ferme le navigateur, alors je retourne dans l'application. Ce que cela fait, c'est que lorsque l'application sait qu'elle provoque à obtenir ce qui va vérifier le même jeton, puis rappeler à l'application qui est aimé, c'est ce qui se passe. Ici, c'est là que je désire la personne dans les utilisateurs de capacité Sud. Donc, lorsque vous vous connectez, c'est ce qui va être appelé et construire votre utilisateur pour la première fois. Alors, après que j'ai construit l'utilisateur à peu près toutes ces lignes hors cour ressemblent à un pop de bateaux avec moins de contrôles entre les deux. Après ça, je vais sauver notre état hors service. Puis je suis allé dire tâche à partir des résultats. nouveaux états d'authentification sont tellement à peu près le même appel de fonction. Mais je vérifie juste ce que les authentifications qui est après que j'ai partagé cette information puis en fonction de ce que je reçois de cet appel de fonction, je saurai, notifier l'application du changement d'état. Alors, vous savez, si vous mettez les déclarations si la personne est aimée et ensuite montrer cela autrement afin que toutes ces actions seront prises une fois que nous mettons en place une fois que vous avertissez le changement d'état accord ? Non, notre prochain serait la chèvre de la loi, et alors nous pouvons l'appeler ne sera pas vraiment appelé Rafto mis en œuvre dans le dépôt publie également Put Lagos puisque nous sommes ici Donc longues notes est fondamentalement juste changer l'état orteil . S' il n'y avait personne à peu près à droite, donc je suis en train de construire un principal de réclamations vierges et je vais le faire sur Appeler personne. Donc personne n'est à la maison. Ces deux dernières lignes à peu près sont encore applicables côté de copier et coller ceux. Mais au lieu de passer l'utilisateur, qui évidemment n'existe pas ici, je ne passe personne. Alors on avertit ça. Alors nous ne sommes pas une application différente de l'état. Changer ça ? Non. Il y a un principe vide sur aucune identité, aucune réclamation actuellement disponible. Tant que la personne tient. D' accord, donc on en a fini avec le fournisseur d'Etat. Revenons à notre positivité et terminons cette activité. Donc, vous voyez, c'était un peu de travail. Et puis quand nous revenons avec avant de traverser l'interface, droite, Donc après cela et je veux changer l'état hors du haut, cela signifie que j'ai besoin du fournisseur d'état d'authentification. Donc non, nous devons y retourner, injecter cette dépendance. Donc, je vais y aller puis dire que je veux un nouvel objet, lire seulement le fournisseur d'état d'authentification et initialisé cela hors cours dans ou constructeur. Nous avons donc des authentifications, le fournisseur et notre objet sur. Alors ce qui se passe est que nous avons besoin d'appeler Ah, l'authentification états fournisseur toe fait réellement la connexion droite ? Donc les authentifications, ils fournissent des points. Mais quand je le fais, le docteur a remarqué que je vais seulement bien. Un événement sur l'état a changé, Mais je ne reçois aussi que l'état d'authentification get droit Sink. Certains sont allés après type off, faire une barre oblique de remplacement typecast étaient à côté de lui. Je vais devoir lui faire savoir que c'est vraiment le fournisseur de séjour d'authentification A P I, qui est mon remplace 41. Configuration Login utilisateur - Partie 2: Hé, les gars, bienvenue. Nous sommes en partie pour compenser notre fonctionnalité de connexion de journal. Et nous avons fait un peu de travail dans la vidéo précédente et nous avons beaucoup de travail à faire dans celle-ci. Mais allons-y à l'école. Commençons au début de ce fichier CS. Donc, dans ce dossier, j'ai besoin d'ajouter à l'école dans les sens un pour notre fournisseur. Nous venons de créer le fournisseur d'état d'authentification du FBI. Donc j'ai besoin d'ajouter scooped pour ça alors. Après cela, j'ai une ligne un peu plus compliquée à droite où je suis allé voir les services qui à l'école étain dans les authentifications originales qu'ils fournisseur sur, Ensuite, nous amusant p pour court peut être des fournisseurs. Je suppose que vous pouvez regarder les piles, commencer pour les fournisseurs, et ensuite nous voyons obtenir le service requis. Donc, vous ajoutez juste ces deux lignes à l'école ap i authentifications. Ils le fournisseur Onda avait crâné. Indications ne fournisseur sur. Ensuite, nous allons de l'avant et mettons l'option p pour obtenir le service requis sur cette classe personnalisée. D' accord. Personne ne s'amuse un peu plus. D' accord. Donc, peu d'école étaient les pieds sur les pages et nous allons commencer à créer des pages de journalisation plus. Alors je vais aller aux pieds. Ajouter sur. Je vais ajouter un nouvel élément, etare des composants ou soulever un composant de Goto. Weber est un composant, et il s'appellera Log in ce rasoir. Donc, je vais de l'avant et ajouter qu'une fois qu'il a créé la première ligne de l'ennui, quand le changement est la page, donc nous allons lui faire savoir son chemin pour être la journalisation des slash. Je vais aussi aller de l'avant, aller de l'avant sur injection um, le référentiel d'authentification Onder, le gestionnaire d'aviation de navigation sur j'appelle l'objet Navigation du gestionnaire. Je trouve ça plus facile à voir. Droit. Donc maintenant, manager, ce que nous voyons ici, où j'ai les lignes rouges parce que j'ai besoin d'inclure de la littérature, des amis et le registre. Nous avons effectivement mis dans l'instruction using manuellement. D' accord, alors laissez-moi juste copier le sud est allé en avoir besoin plus tard. Vous voyez comment vous pouvez le faire sans avoir besoin de mettre les instructions using à chaque fois. Mais pour l'instant, on va travailler avec. D' accord ? Donc non, j'ai tout sur, alors je vais juste configurer ce formulaire pour juste à mon formulaire d'inscription. Donc, en fait, je vais juste venir ici pour copier tout, même le cordon. Je vais juste copier tout ça parce que ça va être assez similaire. Donc je ne veux pas passer du temps à retaper des trucs qui sont déjà en quelque sorte. Je suis avec le rythme, et ensuite on passe juste à travers et on affine les différences, non ? Donc, au lieu de voir le registre, non, il va voir une connexion. D' accord. Quelque chose s'est mal passé avec la tentative de journalisation. Um, ça va être géré la journalisation à la place de l'enregistrement de la poignée sur. Ensuite, la prochaine modification que je vais faire est que je n'ai pas besoin du champ de confirmation du mot de passe sur. Ensuite, le bouton ne va pas dire, soumettre ce qui va voir une connexion sur le registre. Il devrait vraiment voir registre. Alors moi, juste ce que je ne peux pas me changer à nouveau. Moi qui change si tu veux. Bien sûr. Très bien, alors se déplacer sur la main La journalisation n'existe évidemment pas. Quelqu' un à changer au cours de la tâche de l'orteil se connecte. Mon modèle n'est pas un modèle d'enregistrement cette fois, mais il est un modèle de journalisation. Donc, je vais juste changer le modèle de journalisation d'orteil de référence du modèle étant égal à une nouvelle instance hors modèle de journalisation sur. Alors tous les rares ne devraient pas soutenir les sessions, avoir des problèmes avec les Villagers et mot de passe mappage retour Andi en écrivant ce score , J'ai réalisé que je n'ai vraiment pas besoin de ce champ et je vais vous montrer pourquoi je n'ai pas besoin ce champ. Donc, nous allons utiliser la réponse qui est un intimidateur de quelque façon que ce soit pour déterminer si nous devons montrer que l'ère ne sont pas trace. J' ai donc la poignée de l'amour et du modèle. Les bassins à virus de l'exploitation sont égaux à la pauvre connexion d'Ofri. En ce moment, nous passons sur un modèle. Alors rappelez-vous, la connexion ne va pas dire et laissez-moi revenir au service rapidement afin que nous puissions rafraîchir nos souvenirs quand nous appelons. La fonction de journalisation va obtenir les données, les envoyer dans l'évaluation de la demande. Si c'était vrai ou faux, alors on va faire toutes ces choses merveilleuses pour se connecter à la personne après, non ? Donc parce que je récupère nos lingots ici, je peux dire si la réponse puis l'amour manager. C' est assez gestionnaire, qui signifie que si leur réponse tempête comme ça est vrai, si je deviens vrai, ils naviguent à la maison de la même manière. Dans le registre, je suis retourné à boxer parti et mettre le journal barre oblique dans la droite Donc, au lieu naviguer à la maison, j'ai dit. Maintenant, nous arrivons à réduire la journalisation après votre registre ce qui est plus logique pour moi. Donc, ce que je dis ici, c'est que si la réponse est positive, alors allez-y sur la dette. Navire à la maison. À ce moment-là, le désir ne changerait jamais vraiment l'état sur tout ce qui est hors de l'utilisateur sur. Alors je peux voir um autre Eh bien, alors je n'ai pas besoin de ça d'autre. Donc si la réponse ne s'enfuit jamais, est-ce pas ? Mais alors ce que je peux changer apparaît que je peux voir si ce n'est pas la réponse. Laisse-moi juste les avoir. Je le croyais. Assurez-vous que je ne suis pas une fausse couche. Si ce n'est pas la réponse, puis afficher ce qui signifie les réponses après les chutes pour que cela soit affiché. Mais ce n'est pas déclaré nulle part, donc je vais déclarer des soldats. Booléen appelé réponse sur ce va être ce que le vrai initialement alors. Donc, si c'est égal à true et que la page se charge, alors cela n'évaluera pas le trousseau sur Voir ce message d'erreur ? Qui sont alors ? Je dis que la réponse, qui a initialement une valeur de true, va jusqu'aux résultats de la journalisation. Donc, si long et retourne vrai, cela signifie que cela n'a pas changé. Et c'est toujours vrai quand il arrive ici et qu'on ne s'enfuit jamais. Si le champ de connexion, ce n'est pas faux, donc cela ne s'est pas produit sur cet état changera, est-ce pas ? Donc c'est tout. Dynamic Blazer fait ce truc. Une fois que l'état change, une fois que la valeur change partout où ils ont une instruction if ou quelque chose basé sur la valeur, il réagira automatiquement. Bon, donc ça vient de mettre le contenu en feu, moins de lignes sur le terrain. Je peux juste revenir en arrière pour m'inscrire et le re prendre en compte de la même manière. Bon, donc je suis venu ici et j'ai fait les mêmes changements. J' ai déclaré la réponse taureau. Et rappelez-vous, si vous sentez de mettre en public ou privé sur l'objet que vous déclarez, il deviendra automatiquement privé, non ? Donc nous étions là loin, la réponse de la tentative d'enregistrement. Et s'il est réussi que nous n'arrivions jamais à nous connecter à Ondo, sinon il affichera ou message d'erreur. Dites, voyez que je l'ai fait. J' ai répété cette lettre sur vous voyez tout nous pouvons le rendre Ah, un peu plus dynamique. Donc je n'ai pas à répéter ça tout le temps. C' est pour notre tentative d'exploitation forestière. Faisons d'autres changements d'interférences pendant que nous sommes ici. Allons vers le haut point Razor. C' est à ça que ça devrait ressembler le rasoir. Donc nous voulons avoir un rotor. Et nous aurions changé cette section pour dire auteur, car road View on aurait enveloppé l'ancienne vue à l'intérieur des états d'authentification en cascade . Ils seront donc responsables de lui permettre d'appliquer les autorisations sur les différents composants de rasoir que vous construisez. Donc, une fois que vous aurez fini avec ces modifications, nous pouvons passer à notre menu. Et si vous vous souvenez, nous avions mis en place des liens, hum, hum, journalisation et l'enregistrement. C' est sous les deux fils pour aller où ils sont censés aller. Mais la réalité est que personne ne veut vraiment voir la journalisation et l'enregistrement. D' autres fois que tu aimes, tu veux probablement voir un 16. Voyant que vous êtes aimé être sur un bouton de logo. Et si vous ne l'êtes pas, alors vous voulez voir la connexion et vous inscrire. Nous allons donc modifier notre menu pour afficher les différents éléments en fonction de la personne hors de l' état de l'indication. Bon, donc ce que je vais commencer par je vais commencer par enlever ces deux pendant que je coupe, pas supprimer, va les couper parce que je vais les utiliser à nouveau sur puis à la forme crédible supérieure. Je vais créer un nouveau discours, et je l'appelle autorisé. Vue autorisée. Très bien, donc la vue autorisée s'ouvre et se ferme, alors. À l'intérieur, loin. Auteur, comme vous je peux voir autorisé. D' accord. Donc regardé une personne autorisée voir dans cette section par rapport à ce qui ne sont pas autorisés personne devrait voir dans cette section. Donc je ne suis pas autorisé. Personne serait ceux à voir sur la journalisation et les liens d'enregistrement, n'est-ce pas ? Cependant, quelqu'un qui est autorisé et que je peux juste copier et utilisé par les mêmes alliés le sont si vous réalisez que je garde réellement le même allié avec une classe et donc c'est le même design. Mais ce que je fais dans celui-ci amusant sur pourquoi personne ? Andi, j'affiche le nom d'identité. Alors rappelez-vous que lorsque nous analysions la réclamation et que j'ai dit que j'avais besoin d'ajouter un nettoyage spécial pour le nom, qui aurait la valeur de couture en tant que sujet, qui est l'e-mail, c'est ce que c'est, droit ? Donc, disons que le contexte est l'utilisateur cette identité, ce nom. Nous obtenons ce nom de la liste des nettoyages que nous avons ajoutés à l'utilisateur. Bon, donc c'est ce que c'est. Donc, quand quelqu'un est autorisé, ils verront que ainsi que six autres sur celui-ci seront pour essayer le logo. C' est un autre L. Je viens de copier N P. Donc je pense que je change ici c'est que le treff est Lagos. Celui-ci n'a pas de voyage parce qu'il n'arrivera jamais nulle part. Mais celui-ci va aller au bateau d'amour. Nous avons notre filé. Je viens d'utiliser sur notre cercle indicateur gauche flèche arrière pour le désir haute. C' est donc notre prochain composant pour naviguer le logo des orteils. Ensuite, j'ai besoin d'un composant qui est appelé Lagos sous les utilisateurs sont. Allez-y et cliquez. Ajouter un nouvel élément sur nous sommes en train de créer un nouveau est un composant appelé bateaux d'amour. D' accord, alors, aimer ce qui va vraiment avoir une cour très simple ? En fait, permettez-moi de supprimer l'industrie. n'y a rien à afficher sur le remplacer par l'itinéraire de la page, qui est des votes d'amour slash. D' accord, alors. Je vais avoir deux choses injectées certaines sans ma déclaration d'utilisation pour mes contrats sur. J' ai été blessé au dépôt d'authentification sur le gestionnaire de navigation. D' accord, et puis à l'intérieur de ce que nous allons avoir sur override pour ah, fonction qui se déclenche quand une page se charge. Donc, nous voyons protégé à une tâche synchrone sur un puits initialisé juste sur Alors ce que cela fait est de dire à la page ce qu'il devrait faire une fois qu'il est initialisé. J' allais dire qu'une fois que tu es initialisé, alors je veux appeler La chèvre dans mon dépôt sur. Ensuite, je veux naviguer sur notre chemin aussi l'écran d'accueil. Donc Lagos, rappelez-vous, changera l'état d'authentification pour personne sur la maison. Ensuite, nous naviguons à la maison, puis le reste des vues d'autorisation et tout va commencer en place parce que l'état d'authentification a changé. Mais j'étais un peu et ça a été un peu de travail. Alors allons juste de l'avant et faire une construction juste pour s'assurer que rien n'est cassé. Une fois que vous avez obtenu des builds réussies. Les deux projets ont-ils été construits avec succès ? Allons voir ce qui se passe. Donc je vais dans mon dépôt de déchirure d'authentification. Je vais mettre un point de rupture ici à la fin d'obtenir la réponse sont alors met que la première déclaration étaient les réponses de retour et ils allaient aller dans le bateau amarré et vous assurer que vous avez plusieurs projets. Je fais entier. Pour quelque raison que ce soit, je l'ai pris. Aussi, je suis allé aller de l'avant et m'asseoir à nouveau. Donc je suis désolé de devoir recommencer, mais je vais juste vous faire traverser les étapes à nouveau. Juste au cas où vous êtes dans mes chaussures sera orteil propriétés de la solution sur puis sous le début du projet, vous sélectionnez plusieurs sur vous voyez, commencez, commencez notre c'est un P et vous dans cet ordre cliquez sur OK, Alors essayons encore une fois. Et donc nous avons été des applications merveilleuses. Donc, vous voyez que nous déplaçons la bûche de remorquage au-dessus de la maison, sont bonnes droites. Essayons de se connecter. Donc, connectons-nous d'abord en tant que clients que librairie point com qui essaie de se connecter. Ensuite, nous allons tirer des points Arberg. Et quand nous le faisons, nous pouvons évaluer notre réponse. Donc, quand je survole la réponse pour voir que je reçois un statut correct si je descends dans le contenu Eh bien, accord, donnons-lui un peu de place. Laisse-moi descendre à la ligne où ça va. Toe essayant obtient le contenu. Bon, donc si je regarde à l'intérieur du contenu, alors je vois un jeton sur cette conversation et cette ficelle, non ? Donc, comme je l'ai dit, parce que le champ parle et la chaîne est qu'il y avait d sérialiser en réponse jeton , qui a un champ pour le jeton. Donc, quand j'arrive à la ligne suivante, notre variable de jeton n'est personne pour avoir la chaîne. Bon, alors on va parler sont des objets qui parlent. Notre savoir comment est cette chaîne appelée jeton. Tout de suite, on l'enregistre dans le stockage local. Donc je vais juste y aller et sauter jusqu'à la dernière ligne ici. Ont été retournés true le. Je vais juste vous montrer à l'intérieur du navigateur dans le stockage local. Donc, si je fais un clic droit, allez à inspecter l'élément ou les outils de développement afin que vous puissiez disperser si je si vous avez f 12. Désolé, mais quand vous allez à l'application sur, puis dans l'application vous allez au stockage local, puis le site, vous verrez que vous avez ce nous parler. D' accord, donc c'est un autre que j'ai eu d'autres expériences. Je vais juste supprimer qui possèdent pas nécessaire. Mais on a un jeton. Donc, vous voyez ici est d'essayer de se reconnecter à Serverless parce que nous sommes ici tenir ou progresser en regardant tout de main pour le travail. Alors laissez-moi juste appuyer sur si je dois continuer, alors je pense que les crampons de journalisation plus d'une fois. Donc, quand il entre en fait, vous savez ce qui est Non. L' état d'authentification a changé car nous voyons le nom d'affichage écrit. Rappelez-vous où a ajouté le sujet comme revendication de nom sur ce qui est affiché ici le jour. Nous avons les boutons de logo, donc non, nous sommes confiants que notre long dans les fonctionnalités de travail qu'il a analysé avec succès sont les revendications du jeton sur Get l'information dans la façon dont nous en avons besoin. Bon, donc si je vais de l'avant et que je clique sur Verrouiller, voyons ce qui se passe. Mais personne n'est à la maison. Tout est vide et on est de retour. Activez l'état authentifié. D' accord ? Non, je veux sortir des gens plus que je vais faire une expérience du menu pour qu' on puisse partager ça ensemble. Donc, dans le menu Knave, je vais ajouter une autre section pour l'auteur comme utilisation juste pour les expériences. E. Donc, je veux afficher le trou. Vous pouvez montrer quelque chose orteil un rôle et pas à une autre règle. Droit ? Donc, je vais créer une autre vue d'autorisation. Mais cette fois, il va avoir un paramètre sont un attribut appelé Règles égal Administrateur. Alors, à l'intérieur de ça, j'ai juste quelque chose appelé Certainement pleuré sur. Alors je veux en faire un autre comme ça. Et puis celui-ci va orteil avoir la règle pour le client sur. Alors je vais dire coutume tôt. Cela signifie donc que lorsque quelqu'un qui est un administrateur se connecte et qu'il devrait voir le lien d'administrateur sur quand un client l'aime, il devrait être vu se personnaliser. Quand tu n'aimes pas, tu devrais être vu. Vous devriez voir ni l'un ni l'autre Bon, alors allons-y et revenons au clavier. Essayons à nouveau. Alors connectez-vous. Onda est allé se connecter en tant que Delia, qui est un client, et c'est dans mes points de pause. Je vais juste enlever le point de rupture et le laisser continuer sur Dwell. Nous ne voyons pas ce que nous attendions et je soupçonne que c'est parce que la région n'a pas règle de client attachée à elle. Mais je vais juste aller de l'avant et obtenir les chaînes de jeton pour inspecter les éléments étaient l' application. Donc je vais juste démystifier celui-ci moi-même à la place, hors d'essayer à l'application des gens de ce Jetez un oeil à la clé sur l'audit Art Déco ni pad on. Si on regarde, on voit le jeton. Donc, nous obtenons le sujet qui a réussi. Mais vous remarquez qu'il n'y a pas de règle attachée, non ? Donc, si vous regardez la précédente, vous voyez maintenant que nous avons le rôle d'administrateur de règles sur puis ici elle n'a pas la règle parce que je pense que peut-être nous l'avons créée avant de mettre en place la section des règles. Donc il n'y a pas de vrai attaché à elle. n'y a pas de réclamation. Donc rien n'a été tiré sur la situation des autorisations, est-ce pas ? Alors essayons un autre utilisateur qui a probablement un client sera attaché ou, eh bien, laissez-moi juste essayer d'ajouter un moyen, tout d'abord, alors laissez-moi essayer la connexion administrateur, et nous voyons le milieu de l'annonce s'afficher. Donc, au moins, nous savons qu'il fonctionne orteil quelle que soit la mesure, à droite, donc l'ingérence publicitaire apparaît. Si vous admettez être un court pour vous, alors peut-être que vous pouvez revenir sur vous assurer que vous avez configuré l'utilisateur administrateur si admin ne s'est pas connecté. Aussi, rappelez-vous que si vous utilisez l'administrateur que nous devions céder, rappelez-vous que si vous utilisez l'administrateur que nous devions céder, c'est que je l'aurais fait, ou nous aurions défini le nom d'utilisateur. c'est que je l'aurais fait, Donc, il est en fait en train de regarder dans l'utilisation de l'infield lorsque vous vous connectez dessus. Basé sur la cour des routes dans le contrôleur AP I de l'utilisateur. Il se connecte en utilisant le nom d'utilisateur et le mot de passe, n'est-ce pas ? Donc, je crois que quand nous avons fait les utilisateurs de semences, nous avons dit admin est l'utilisation et humain et admettre bookstore dot com est l'adresse e-mail, non ? Donc, assurez-vous que c'est son chariot. Vous pouvez toujours aller dans la base de données. Andi met le nom d'utilisateur pour être l'adresse e-mail, alors mettez-le à la fois pour le normalisé en l'utilisant sur le nom d'utilisateur et dans Dragon, et vous devriez aller bien. Sinon, vous pouvez probablement simplement aller de l'avant et essayer de créer un nouvel utilisateur administrateur sur. Alors réessayez. D' accord, mais au moins nous voyons que la fonctionnalité de journalisation fonctionne ? Nous voyons où l'autorisation des règles fonctionne, comme prévu. Permettez-moi d'essayer un autre utilisateur, avoir au cours d'une librairie dot com. Qui est un client ? Voilà, tu y vas. Donc, si nous essayons d'enregistrer quelqu'un de nouveau, alors laissez-moi essayer d'enregistrer quelqu'un sur. Voyez-vous Paris au livre Stand up Comma me Avoir la carotte a commencé à égarer. Touchez le démarrage du livre. Com. Utilisez le même mot de passe. Andi. Eh bien, une phrase semble dans le bouton, et ça change quoi ? Pas tout à fait ce que je voulais. Mais c'est quand. Donc, quand nous cliquerons sur inscription, ce sera le A P que j'appelle et puis nous redirigera vers l'écran de connexion, n'est-ce pas ? Donc, si je dis que je me connecte dans une librairie statutaire, pas venir et puis me connecter, alors nous voyons contact connecté. C' est une cliente, donc elle voit son client partir. Bon, donc nous voyons que nous venons de tester dans l'enregistrement sur les trucs de connexion sur Oui, là, certainement à des choses que nous devons nettoyer sur normaliser le long du chemin. Mais le grand battu le travail est fait. Donc, une chose que je veux nettoyer est le bouton de registre, donc ça devrait être enregistré. Je ne pense pas qu'il y ait autre chose d'important. Le seul autre problème, comme je l'ai dit, serait juste de s'assurer qu'ils utilisent le nom dans votre base de données est en fait l' adresse e-mail. D' accord, parce que rappelez-vous, nous demandons à la personne avec e-mail et mot de passe, et nous vérifions cela par défaut. Vérifie le sentiment de nom d'utilisateur sur le champ d'adresse e-mail. Donc, si l'adresse e-mail n'est pas dans le nom d'utilisateur et normaliser utiliser Indian se sent, alors ils ne fonctionneront pas. D' accord, ça contrôle la distribution des utilisateurs. Andi, avec règlement initial avant, croit application cause nous avons mis en place tous les fichiers, Nous avons mis en place le journal en cours d'enregistrement. Et donc quand nous reviendrons, nous examinerons toutes ces choses sur Vérifier nos changements de remorquage. Notre projet sur Get Up. 42. Révision et ajouter des modifications à GitHub: Vous les gars, Bienvenue. C' est sur une petite revue et une vidéo de poulet, et nous allons juste passer en revue certaines des modifications que nous avons apportées et dans aucun ordre particulier . Donc, je commence juste avec le modèle utilisateur. Rappelez-vous que nous nous sentons, bien que le modèle de journalisation avec l'adresse e-mail et le mot de passe fusible que nous avons besoin. Nous sommes également allés de l'avant et avons créé le modèle de réponse de jeton que nous avons utilisé pour analyser les données provenant de la réponse de jeton. Après Logan, nous avons ajouté les pages de log in love boat et avons fait quelques modifications pour enregistrer la page. Nous avons ajouté un nouveau fournisseur dans le formulaire de fournisseur d'état d'authentification Ikea sur ce fournisseur d'état d'authentification nous avions, y compris les bibliothèques de stockage locales ainsi que la bibliothèque de jeton 100. Quelle charge nous orteil, Paris ou jetons ? Tu sais, hum, faire une évaluation, sauver le jeton sur manipulé, parler comme nous le voulons. Nous avons également ajouté des notes de journal lago et des fonctions personnalisées dans ce fichier. Dans notre service d'authentification, dépôt a ajouté la connexion et les fonctions Logoed sur dans le journal, nous d sérialisé jeton stocker la valeur en utilisant le stockage local. Donc, nous devons aussi injecter cela sur les authentifications qu'ils fournissent dans notre référentiel d'authentification Andi logo pour être juste appeler et supprimer le jeton stocké dans notre menu. Nous avons fait quelques ajustements là où nous nous rendons compte que nous pouvons autoriser certaines pièces afin que nous puissions autoriser quelque chose à être vu par des règles particulières dans lesquelles les clients pourraient se trouver. Ou nous pouvons simplement le faire en fonction de l'état d'authentification à l'époque. Bon, nous avons fait en sorte d'ajouter le nouveau point de terminaison pour vous connecter ici pour le haut du rasoir. Nous avons modifié toutes les valeurs par défaut dans le remorquage, autorisé la vue de route et les états d'authentification en cascade enveloppant la vue de mise en page. Certains des changements les plus importants, cependant, survenus dans notre démarrage que CS, où nous pouvons nous assurer de faire la représentation de notre fournisseur d'État afin que nous puissions l'injecter sur également les associés cette classe personnalisée avec le à l'intérieur du conteneur d'injection de dépendance sur. Ensuite, nous avons également injecté le gestionnaire de sécurité à l'intérieur afin que nous n'ayons pas à déclarer des objets ces deux partout. Nous avons juste, vous savez, juste blessé la dépendance et ensuite l'utiliser en conséquence. Donc, avec toutes ces modifications apportées, nous allons juste aller de l'avant et vérifier les solutions sur lesquelles nous avons cliqué droit, aller à valider, mettre notre message sur C'est mon message. Donc, après que nous avons mis cela, vous allez juste de l'avant sur Cliquez sur l'IRA et commettez tout et couler sur. Une fois que cela sera fait, nous pourrons passer à notre prochaine section, où nous commencerons à déclencher des opérations de foule. 43. Configuration Repository et service: dans cette leçon, vous allez mettre en place notre dépôt d'auteur pour notre blazer. Vous je demande sur dix juste Oh, j'ai juste le fichier de dépôt de base ouvert afin que nous puissions nous rafraîchir ce que nous avons mis en place ici. Il y a donc le lustre du voyage de base, qui hérite. Ah. Http. Clans sur à peu près il passe par la mise à jour de suppression de création sur. Eh bien, juste les opérations de la foule. Droit ? Donc toutes les opérations de foule, les fonctions de base sont toutes en ligne ici. Donc, l'idée est que pour n'importe quelle classe et dans ce cas auteur, nous allons hériter de ce dépôt basé où t est la classe ou l'entité. Nous devons donc créer sur l'auteur, l' entité ou le modèle. Puisqu' ils utilisent le modèle de mot clé plus sous ou vous je suis parti sur, alors nous allons mettre en place le remuement de rapport. Permettez-moi donc de commencer par créer les modèles d'auteur. Je vais juste à mes modèles de mère suivre les deux ajouter la classe. Je l'appelle auteur, et puis je vais de l'avant et j'ai frappé l'annonce, et à peu près ce modèle d'auteur va orteil doivent incarner ce que c'est que nous avons l'intention passer à travers le A p Je me souviens donc que nous savons la réponse que nous recevons quand nous regardons sur l'auteur, um ou au moins la documentation à l'intérieur pour nous indiquer ce que nous avons besoin d'avoir sont représentées pour obtenir les données complètes de notre réponse Jason provenant du FBI. Donc, en substance, nous avions vraiment besoin de ressembler et d'entrer dans le projet. Je viens d'évoquer le cours d'auteur. Ou peut-être pour être moins lié aux données, la classe DT oh . Droit. Donc, au moins, le détail de l'auteur, si vous voulez que toutes les données reviennent, devrait ressembler aux détails de l'auteur, puisque c'est vraiment ce que le get author revient, peu près le il a tous les champs qui tout autre détail serait, y compris dans son fonctionnement spécifique. Donc ce que je vais faire ici, c'est juste copier tout à partir du GTO sur, et je vis juste de cette façon. L' opportunité. Évidemment, si vous développez au-dessus d'une paire que vous n'avez pas construite, alors vous devrez faire la même chose où vous créez une classe, puis le modèle se sent basé sur ce qui se sent dans la réponse de Jason sont attendus dans un Jason demande. Donc, j'ai juste ce modèle hors de ce que l'auteur va ressembler. Tout de suite, alors. Eh bien, ça a une liste sur les livres. Je, euh, mets ça comme un livre parce qu'on va avoir un modèle de livre, et ensuite je peux créer ça. Il suffit de générer cela dans un nouveau fichier. On y arrivera plus tard. Je fais ça pour que nous ayons tous les champs couverts. Mais ce que je vais aussi faire ici est d'ajouter quelques validations parce que lorsque nous utilisons le modèle, surtout dans la vue, parce que rappelez-vous que ces modèles de vue aérienne que nous faisons, nous aurons besoin d'avoir quelques validation. Bon, donc je suis allé de l'avant et j'ai ajouté une certaine validation de notre idée, et puis j'ai mis requis sur tout jusqu'à la bio. Mettez également les noms d'affichage prénom, nom de famille sur la bio. Mettez également une validation de longueur de chaîne sur le dessus de l'acheteur. Droit. Donc toutes ces choses se souviennent de sortir d'une quatre activités d'authentification jouerait rôle, l' a invité sous la forme avant d'envoyer les données par le FBI. Alors sachez que j'ai ma classe de modèle que je vais utiliser pour faire circuler les données depuis et vers l'application. Et entre l'application et le FBI, je ne peux pas aller de l'avant et créer mon dépôt auteur à entendu à partir du dépôt de base. Droit ? Donc, je vais juste passer à mes contrats pour le premier et je vais ajouter une nouvelle classe sont interfère façon savoir que les interférences envoyées. Aminu interfère. Je vais l'appeler dépôt d'auteur. Et puis nous ajoutons que si ça interfère, je dois toujours me souvenir de mettre en public. Sinon, cela vous donnera une ère. Droit ? Donc, nous sommes en train de créer un dépôt public alors ce dépôt public sont désolés. Cette interface probablement appelée dépôt I author héritera de notre dépôt basé sur I . Nous allons le laisser hériter dans le contexte hors auteur. Donc, nous allons juste de l'avant et nous assurons que nous avons une représentation de cette classe modèle appelée auteur ? Non, non, que nous avons le contrat. Nous devons mettre en place la déchirure Lester. Donc, dans le dossier de service, je vais de l'avant et je clique sur. Ajouter, puis je vais ajouter une classe appelée dépôt auteur Cette fois Andan auteur posit Ori va hériter du dépôt de base une fois de plus dans le contexte hors auteur. Notez donc les interfaces héritant des interférences. Mais alors les classes concrètes héritant du dépôt basé sur le béton dans le contexte de l'auteur ainsi que de son contrat. Donc je vais aller de l'avant et inclure ça. Tout va bien, après les outils. Eh bien, je n'ai pas vraiment besoin d'implémenter quoi que ce soit parce que tout est déjà implémenté à l'intérieur de la base. Absurde. Seulement si j'avais, genre, une autre opération que je voulais effectuer dans le dépôt de l'auteur. Ensuite, j'aurais les fonctions personnalisées ici, puis les implémenter ici. Mais en ce qui concerne les fonctions de base, je n'ai plus rien à mettre en œuvre à l'intérieur du dépôt parce qu'ils sont tous dans le dépôt basé,n' est-ce pas le dépôt basé,  ? Sachez ce que cela signifie est que j'ai besoin d'initialiser les clients I CTT ou j'ai besoin d'injecter le client comme d'habitude. Usine client Http sur les clients de l'éperon. Et puis j'inclus ce qui manque alors j'ai besoin de mon constructeur, et cette construction va sembler un peu différente car maintenant il dit que lorsque j' injecte en remorque, le dépôt auteur que je dois aussi initialiser est passé sur la valeur injectée dans la base. C' est tout ce que ça fait. Donc, une fois que nous appelons le référentiel auteur, il dépendra injecter le client http dans le référentiel auteur ainsi que le référentiel de base sur à travers le référentiel auteur, nous pouvons effectuer n'importe quelle opération, mais nous ont orteil le faire par rapport à l'auteur de la classe donc je ne peux pas utiliser le même remuement de rapport pour les livres après cela. Je dois donc créer le modèle de livre différent de la devise de l'auteur. Andi doit avoir un dépôt différent pour le livre. Aussi. Maintenant, fois que nous avons fini de faire tout ça, la dernière étape est de m'assurer que je l'ai à l'intérieur dès le démarrage. Um, bootstrap par côté va configurer les services et m'assurer que j'ajoute une représentation dépôt d'auteur élevé sur la classe concrète, et ils vont de l'avant et inclure tout ce qui doit être. Je pense qu'à cause de l'authentification oculaire, nous n'aurons plus besoin d'inclure quoi que ce soit. Et puis c'est tout. Donc, quand nous reviendrons, nous commencerons à mettre en place les pages auteurs et le réglage de la récupération des données par le biais du FBI 44. Authres de configuration de liste: Hé, les gars, bienvenue. Ecoute, nous allons mettre en marche notre page d'index des auteurs, donc je vais juste commencer rapidement sous les pages. Donc, de la même façon que nous avons commencé à segmenter nos pages dans des dossiers de remorquage juste sur ce qui crée un nouveau dossier sur les pages. Et je vais ajouter un nouveau dossier, et je vais l'appeler bien, monsieur, ou auteurs. D' accord. Sur ce moment, sur l'auteur, je vais ajouter un nouveau composant sur ce est ah, composant rasoir appelé Index. D' accord, donc j'essaie juste de garder une structure. Nous avons l'index ici, qui est la page d'accueil, comme vous le savez, Mais une fois que vous arrivez à la section auteur, je veux avoir une page de destination et la première page, Naturellement, vous verrez ou voulez voir lorsque vous cliquez sur d'autres serait les auteurs dans la base de données. Plutôt plus de truc. C' est pour ça que j'ai fait ça ? Non, au sommet. Je vais m'assurer que je spécifie le chemin Ph juste sur. Alors. La différence maintenant, c'est que je peux dire que c'est que c'est une partie juste une barre oblique sur ce que vous lui dites . Ce sont des auteurs, puis une barre oblique. D' accord. Donc, par cette logique, pour arriver ici, vous devriez taper les auteurs slash Donc ça veut dire de retour dans mon menu de bricolage. Je vais juste rencontrer ce changement avant d'oublier où les deux derniers auteurs ne sont que des auteurs. Je vais voir les auteurs slash Sweet sait qu'il devrait aller auteurs sur, puis la page par défaut là, qui est ou rythme d'index. Rappelez-vous que le nom du fichier n'a pas beaucoup d'incidence sur le chemin, c'est tout ce que nous mettons comme chemin de page qui compte vraiment. Non, je vais avoir besoin de quelques choses dans cette page que je vais devoir injecter, peut-être le gestionnaire de navigation. Je vais aussi devoir injecter mon repo, puis utiliser le rapport. Ce sont les trois personnes que nous venons de créer afin d'utiliser que je vais devoir imp supporte les espaces de noms et ainsi de suite. Donc, nous voyons quand nous faisons l'authentification que pour tout ce que j'ai dû mettre dans les instructions using, je ne veux pas après avoir mis des instructions using chaque fois que je fais une page parce que je vais utiliser des modèles, et je suis va utiliser beaucoup les contrats. Donc vous savez sur alors si quelque chose change, je aurais à moi le changement partout. C' est pourquoi nous avons nos importations. Je me laisse voir si je peux le trouver rapidement. Nos importations point rasoir ou soulignent les importations qui résultent lorsque nous incluons des choses ici. Il est inclus généralement, donc je peux et je vais juste revenir à la page de connexion. Je peux juste prendre ces vieux, et je vais juste me battre et je suis allé attendre toute l'époque. Arrêtez-vous ici, juste là à l'école de l'époque parce que la déclaration d'utilisation ne manque pas. Mais je vais les mettre à l'intérieur des importations de ce rasoir. Puis, quand je retourne à cette page, vous voyez que les lignes rouges ne disparaissent pas parce que, eh bien, ce n'est pas de voir la référence. Donc, en mettant les références dans les importations et en rendant global jusqu'à l'ensemble afin de déplacer sur indice arrière de l'orteil Non, j'ai déjà importé ce dont j'ai besoin afin que je puisse commencer à travailler avec, même si c'est beaucoup de peur. Comme je l'ai dit, je vais avoir besoin d'une instance de mon auteur, des dépôts d'auteurs. J' appelle juste ce rapport de soulignement, et ensuite je peux commencer avec le plaisir. Bon, alors voyons ce qu'on doit faire là-bas. Donc je veux imprimer une table qui, vous savez, pour chaque auteur que je récupère, je vais imprimer les règles. Donc, si vous avez déjà utilisé NBC dans le passé ou quelque chose de lié, nous devons générer la table. Alors ça devrait venir du territoire, sinon, alors on va faire ensemble de toute façon, donc je vais commencer par une table. Andi, en utilisant bootstrap. Je peux rencontrer le look stable un peu plus présentable que par défaut. Donc, je peux inclure mon tableau de tableau de tableau, réactif sur. Je vais juste voir la table. Eh bien, ouais, traitons ça à la table jusqu'à ce que nous soyons réactifs. Ensuite, je peux avoir une section de la tête. Ensuite, dans cette section, je vais avoir un TR sur. Ensuite, le TR accueillera quelques TDs. Hein ? Donc les TD auront les en-têtes ou les en-têtes pour Eh bien, en fait, en fait, il y aurait Th est mon cul donc th parce que leurs frappeurs de table. Très bien, donc un frappeur de table pour différentes colonnes. Donc, une colonne serait le prénom. L' autre serait le nom de famille à l'époque. Eh bien, je ne suis pas sûr de vouloir afficher la bio entière ici. Donc pour l'instant, je vais juste utiliser trois d'entre eux et je vais appeler celle-ci des actions, non ? Les options vont juste héberger quelques boutons pour nous. Donc c'est dans la section de la tête de la table maintenant dans le corps ou pour commencer avec le corps et est allé dire t corps sur, puis dans le corps T. Je vais avoir une boucle pour parcourir la collection des auteurs. Droit. Donc on n'a rien déclaré. C' est une collection d'auteurs. Alors je vais faire quelque chose. Vous allez voir quelques erreurs, mais nous les avons retravaillées, donc nous allons avoir une boucle quatre chaque, ce qui va sauver notre auteur. Certains allaient dire pour chaque auteur loin dans, et je vais l'appeler modèles. Donc, j'aime appeler ma classe qui représente le contexte de données pour le composant ah sont à notre avis. J' appelle ça le modèle. C' est juste qu'il semble clair. Droit. Donc, pour chaque auteur revenant à l'intérieur du modèle sur, alors ce que je veux faire est de générer une règle. Donc, pour chaque enregistrement, cela représente un enregistrement remontant à partir de la liste des enregistrements qui auraient récupéré nous voulons que notre rôle sur le métro va avoir une colonne ah sur. Ensuite, nous en avons trois maintenant. Donc, il va juste être que j'ai envoyé auteur, ce qui signifie que je veux imprimer la valeur de l'auteur, et je suis sûr qu'il va dire prénom. Donc l'intelligence ne m'aide pas, parce qu'en ce qui concerne ça, elle ne sait pas quel est l'auteur parce que le bureau va d'un modèle inconnu appelé. Donc c'est bien. Je vais juste laisser ça seul pour Nome pour bientôt commencé Pensée nom de famille sur, puis pour le fils malade des boeufs. Je vais mettre trois boutons. D' accord, donc les boutons qui vont dans la section d'action seraient Barton sur, alors je vais avoir la classe b t n. Donc nous obtenons ce joli bouton de magasin de laine sur la plage dans le tableau de bord primaire. Donc l'un est pour la vue, accord ? Et je viens de mettre comme un battage médiatique comme un séparé. Eh bien, ils vont être assez beaux. Je n'ai pas besoin de pipe, donc je laisse juste la somme totale sans trois boutons suggérant une esthétique, non ? Non. Donc, vous savez, il semble présentable à l'intérieur sur le bouton. Donc, ce sera un bouton de vue. Cela va être comme un bouton d'édition. Donc, je voudrais probablement dire Bt et avertissement. Donc c'est orange. Ce sera un bouton de suppression, donc il serait lu, vous savez, danger. Désolé. BT et danger ne pas supprimer. Tout de suite, alors. À l'intérieur, sur le bouton. Vous savez, vous avez la possibilité d'écrire sur les modifications de mot. Écrire sur la vision du monde. Je vais utiliser quelques icônes ici. Quelqu' un à dire filé, puis classe sur alors aurait vu certaines des icônes utilisées dans le candidat ou ainsi pour obtenir une icône étaient après. Je pense que la bibliothèque s'appelle des icônes ouvertes. Ils peuvent toujours aller sur leur site et regarder, hum, hum, ce que j'appelle les options. Il y en a, mais je vais dire pourquoi Dash livre. D' accord, donc je pense que ça serait assez beau comme une indication que c'est la vue, non ? Donc, une fois de plus, si vous écrivez tout le mot, alors vous obtenez un bouton avec l'icône sur le mot, si c'est ce que vous voulez. Donc pour avertir pour ainsi de suite. Désolé pour l'édition. Je vais mettre un crayon pour suggérer à quelqu'un que c'est tout ce que tu es idiot. Alors je pense qu'ils ont un appelé supprimer, ce qui me donnerait, comme un peu plus suggérer, Eh bien, c'est à supprimer. Très bien, donc ce n'est que quelques esthétiques. Webvan l'a déjà aperçu. Donc tu sais, je peux apprécier l'air, probablement impatient de voir à quoi ça va ressembler. Mais allons dans les affaires de la cour et dans les routes de Sartre, notre flèche ici. Donc, au tribunal, la première chose que je vous recommande toujours de faire est de déclarer ce que vous avez dit, le modèle va être déclaré, donc nous allons déclarer sur une liste des auteurs qui écrivent sur. Je vais l'appeler modèle, puis regarder comment cette ligne rouge disparaît, et puis tout se met en place. Alors, si je devais utiliser l'intelligence que vous seriez capable de tout voir pour le modèle parce que non, ça a du sens, non ? C' est pour ça que nous avions la ligne rouge. Cela dit, vous n'avez pas à le faire dans cet ordre. Vous n'avez pas à radier. Ensuite, vous déclarez le modèle. Vous pouvez le faire d'abord sur, puis à droite supplémentaire. Et ça aurait probablement été plus rapide pour toi si on l'avait fait de cette façon. Mais j'essayais juste de faire un point. Donc l'ordre dans cette situation n'a vraiment pas d'importance. C' est celui que tu trouves plus facile à faire. D' accord. Donc la prochaine chose que nous voulons faire est de dire au composant que quand il seigneurs, il devrait maitrer les données ou au moins sentir ces données parce que maintenant c'est ce que vous appelez Non, il n'y a rien dedans. C' est juste là. Mais il n'y a rien dedans, ce qui, je peux vous dire, conduirait à une erreur quand la parole est loi. Parce qu'il vous dirait qu'il y a une autre exception parce qu'il n'y a rien ici pour générer la table à partir de. Très bien, Donc ce que je veux faire ici est de dire, remplacer le formulaire par défaut affiché pour quand la page se charge, qui est appelé euh pendant que nous allons à sa fonction protégée. D' abord. Donc, je vais annuler tous les qualificatifs pour la fonction d'abord et c'est une tâche sur un puits initialisé. Ensuite, nous fermons les accolades ou Prentice ouvre les accolades sur puis à l'intérieur de cette fonction, nous voulons voir modèle est égal à sur. Ensuite, nous pourrons atténuer le résultat de notre rapport. Rappelez-vous, replays sont un objet qui représente le référentiel de l'auteur, n'est-ce pas ? Donc re tirer amarré sur. Je veux obtenir des secondes qu'ils obtiennent et puis je dois obtenir un membre que nous avons défini pour obtenir un qui retournera tout et ensuite un qui retournera un auteur spécifique, n' est-ce pas ? Donc l'institution veut obtenir tout et tout ce qu'il nécessite comme un point final est notre en tant que paramètre est le point de terminaison ou la fille non ? Donc, nous avons stocké tous les quatre euros à l'intérieur de pour la classe statique appelée en points donc je peux juste voir en points mais ensuite remarqué ce Non Oh bien, il est déjà inclus. Pourquoi est-il inclus ou pourquoi est-il disponible ? C' est parce que l'a déjà importé, donc si elle n'est pas allumée, vous ne l'avez pas fait. Vous pouvez aller de l'avant et l'importer dans le statique parce que c'est quelque chose Eh bien, nous allons l'utiliser partout, non ? Ainsi, les points de terminaison qui auteurs en points. Bon, sur DSO, qu'est-ce qui s'est passé ? Est-ce que l'un des pages charger Il va répondre à cet appel sur. Ensuite, le modèle sera rempli. Non. Le problème est que parce que toute qualité synchrone, ce n'est pas la plage ne va pas s'asseoir et attendre jusqu'à ce que cela ait été chargé. Donc, cela signifie que si les seigneurs de la page sur le moment où le modèle de chargement de la page est vide, nous allons obtenir ce pas d'époque. Donc, ce que je vais faire ici et vous l'auriez vu dans certains des exemples, je pense que dans le fetch a besoin d'une page. Ce qu'ils ont fait, c'est qu'ils avaient une déclaration if avec le contenu. Donc, ils ont dit quelque chose comme, Si je dirais, Si le dans mon modèle de situation, qui détient toutes les données, si c'est non, alors faites autre chose afficher ma table. Bon, donc je dis que si quand ce modèle Speech Lords n'a toujours pas de données, alors montrez autre chose. Vous savez, sur ce que je vais montrer très rapidement, c'est juste cette alerte sur. Je vais appeler ça alerte. Couleur non valide sombre ou laissez-moi utiliser à Ehlert. Secondaire, alors je vais juste dire des données de seigneurie. Donc, quand les seigneurs de la page sur, savez-vous que les yeux U ouverts visibles. Mais c'est toujours qu'il attend une réponse du FBI. Parce que vous ne savez pas combien de temps cet appel du FBI va prendre, s'il vous plaît nous dire, vous pouvez afficher quelque chose ici,pour , vous pouvez afficher quelque chose ici, que l'utilisateur sache que ça se passe, et une fois que ça arrive, puis on passe la table. D' accord ? D' accord. Donc, non, je veux te dire ça pour le test. Je veux juste revenir en arrière et m'assurer que j'ai les bonnes parties pour Et donc ce sont les auteurs sur. Je vais juste aller de l'avant, frapper, courir, et puis ça. Tu vois ? D' accord. Donc, quand nos seigneurs d'application, je vais juste me connecter rapidement en tant que quelqu'un qui aurait créé dans le passé. D' accord ? Je suis aimée sur. Ensuite, je vais aller sur orteil Auteurs Andi. J' ai défini un point de rupture ici sur le dépôt basé get for. Bon, alors passons à travers. Je vais juste sauter droit, ne pas se tenir debout après que nous ayons envoyé la demande. Et ça, je ne pense pas que ça va marcher sur mourir du courant que je vais expliquer pourquoi. On a donc un accord 401 dans notre réponse. Donc, pour un moyen sur autorisé. Donc, si vous vous souvenez, quand nous avons mis en place un contrôle P I de quatre auteurs aurait autorisé l'ensemble du contrôleur. Et donc même si on se connecte au FBI pour nous envoyer qui étaient non autorisés et donc si j'appuie sur continuer ici les symptômes que nous allons juste voir charger des données. Donc je veux dire, c'est ça ? Non, je reviens. Non, juste non, hum nous pouvons probablement faire en sorte que nous retournions quelque chose d'un peu plus intuitif sur. Ensuite, prenez une décision basée sur ce que nous retournons. Droit ? Donc ce que je vais faire ici, c'est que je vais arrêter le débogage. Alors ce qui se passe, c'est que lorsque nous avons créé les clients, rappelez-vous que nous créons réellement une nouvelle usine à chaque fois, donc, oui, nous avons créé un client ici. Mais chaque fois que nous sommes sur le point de faire une demande, nous créons un client sur. Alors que se passe-t-il qu'une fois que son client est créé, il envoie la demande. Mais nous devons inclure dans cette demande, l'en-tête d'autorisation. Donc, oui, nous l'avons peut-être fait dans le passé. Je pense que nous l'avons fait dans le P I off fournisseur d'Etat était là ? Non. On l'a fait dans le dépôt d'authentification, Onda. Nous avons créé un client de la même manière. Donc, ce qui s'est passé lorsque nous avons assigné la valeur ici, c'est que nous avons aussi affecté ce frappeur par défaut . Cette instance particulière hors du client. Donc, en fait, on aurait pu se passer de cette terre. Vraiment ? Parce qu'il l'a inclus comme un jeton de porteur dans le frappeur pour ce client n'est pas globalement. Donc, ce que je vais devoir faire pour modifier mon fichier de dépôt de base, c'est que je peux créer une fonction qui dira juste, faire parler Bera, non ? Donc, si je crée une tâche privée désolé privée d'un privé pour retourner la chaîne All right, Private chasing tâche pour retourner une chaîne. Et je vais juste dire que ça donne de la bière à la canette. D' accord, assurez-vous juste que mon orthographe est correcte. sur. Ensuite, ce que cela va faire est juste de retourner ou d'obtenir le jeton de bière stocké dans le stockage local . Donc ça revient à ennuyer l'école où je trouve Où est ? C' est que j'ai 1/4 où j'ai le jeton du porteur. Oh, non, ce n'est pas là. Ce serait dans le fournisseur d'état d'authentification où je c obtenir l'élément annulé jetons. Donc je vais juste emprunter ça. Alors ce que je vais faire est de laisser cette fonction retourner ce Donc, un retour sur, alors je vois obtenir un stockage local au retour. Tout cela, qui ne signifie pas après l'injection de stockage local dans le remorquage. Mon dépôt basé. Donc, je me dépêche juste de faire cela, commençant par la déclaration de la nouvelle propriété et en incluant toutes les bibliothèques qui doivent être incluses. Et puis j'ai juste mis ça à l'intérieur de notre contrôle. Constructeur calme. Désolé, Andi, casser les clients. Je ne vais pas trop loin de l'écran. Ensuite, nous allons juste initialiser un Sean ici. Non, parce que j'ai inclus le stockage loca dans le référentiel de base. Je vais également devoir m'assurer que mon référentiel d'authentification Non, pas d'authentification certaine. Mon dépôt d'auteur, qui hérite de la base, a également une représentation. Donc, je vais devoir injecter aussi le stockage local ici. Donc, je vais juste copier et coller ces lignes pour que je puisse bouger un peu plus rapidement. D' accord, alors, je en base juste c virgule. Écritures de stockage local. Je passe juste sur ça dans la bête aussi. Donc c'est juste une petite opération que nous avons dû faire, mais finalement le but de l'opération pour que nous puissions examiner le stockage local quand nous sommes sur le point de faire Ah, je demande à obtenir tout ce qui est là pour que nous puissions l'inclure dans le client. Donc, je crée un objet client ici le jour. Je vais juste revenir à mon référentiel d'authentification à l'intérieur de la fonction sur la journalisation où je dis client que par défaut. Je vais juste emprunter ça, donc je fais juste copier et coller le tribunal parce que j'ai le trimestriel, mais c'est juste dans un endroit différent, non ? Donc juste après avoir créé le client, je vais suivre cette ligne. Mais alors je vais dire que la valeur qui est passée ici est la valeur qui va être retournée par notre fonction. Faites parler la bière. D' accord , alors. Je vais juste y aller et inclure. D' accord, donc chaque demande dont on a besoin que le porteur parle un peu nage littéralement une copie à la porte. Désolé. Cela devrait être un poids. D' accord, certains sont en remorque. Copiez cette ligne après chaque endroit où nous créons un objet client. Je vais juste le rythme là parce que nous avons besoin de parler au porteur à chaque fois que nous appelons ou un p I Ok. Donc je viens de l'ajouter pour créer, mettre à jour , euh, et obtient toutes les fonctions dans le dépôt de base sans sport, malgré que la bière parle incluse dans l'en-tête. Essayons à nouveau. D' accord ? Essayons encore une fois. Je suis déjà connecté en tant que porte et je livre stocké. Allez, attrape-moi. Assurez-vous juste de prendre inspecter les éléments. Goto application Onda Et assurez-vous que le jeton est qu'ils vont bien sur alors. Lorsque je clique sur les auteurs, vous voyez le chargement des données sur. Puis il frappe mes points de rupture. J' ai mis un point de rupture dans le contrôleur lui-même cette fois, non ? sur get author. Donc, si vous ne vous êtes pas demandé, alors vous êtes probablement déjà vu les auteurs. Quoi ? J' en avais un là-bas. Parce que ce qui se passe, c'est si c'est le cas, si une demande non autorisée arrive , il ne chaufferait jamais ce contrôleur, ce qui est arrivé auparavant, juste pour cette action. Désolé. Donc parce que les autorisations là-bas et qu'il a été autorisé avec le jeton, Non, nous avons frappé cela, alors je peux juste aller de l'avant et cliquer sur Continuer, ce qui amène dans mon origine au point de rupture me montrant que je reviens sur . Ok, réponse sur. Alors. Je continue sur DNO. Je vois mes auteurs revenir de mon AP I Donc c'est ainsi que le jeton porteur fonctionne dans la praticité. Donc, nous avons eu un peu de travail, sont possédés à la fois assis sur les deux déclenchement de l'orteil client. Utilisez-le. Donc non, vous avez un exemple de la vie réelle sur la façon dont ça fonctionne. Et vous pouvez voir que nous sommes prénom, nom de famille sur les actions. Et puis nous avons nos petits boutons avec les icônes. Donc tout se passe bien ? Non, comme je l'ai dit, ce n'était pas très intuitif qu'il revienne. Non et on n'a rien fait après son retour. Non, parce qu'alors il serait assis sur leur voir des données basses pour toujours. Droit ? Donc, ce que nous pourrions faire est probablement inclure un autre champ qui sera ou peut être un type de retour différent ou un tour plus complexe. Le temps de retour sur ce type de retour aurait probablement quelque chose comme, hum, quelle est la réponse notée ainsi que peut-être l'acte, quelques-uns pour que les données réelles reviennent sur. Ensuite, nous pouvons évaluer si la réponse est correcte, alors. Très bien. Si ce n'est pas correct, alors nous montrons un message en conséquence. Je ne veux pas faire ça. Non, on peut laisser ça comme une petite activité. Pour l'instant, nous savons que nous pouvons charger de la liste. Les auteurs venant du directeur du FBI, nous voyons que notre authentification fonctionne à la fois localement dans l'U. I. Onda à travers le FBI parce que nous avons été éjectés pour de bonnes raisons. Et non, nous sommes acceptés une fois que vous fixez notre tribunal Selon Ok, sorte que se termine sur assis, off ou dans l'expérience pour les auteurs. Quand nous reviendrons, nous commencerons à faire fonctionner ceux-ci commence par notre point de vue 45. Configuration Auteur: Hé, les gars, bienvenue à nouveau. Écoutez, nous allons configurer notre composant de vue pour nos auteurs. Maintenant, la réalité est que nous ne montrons pas tous les détails ici sur la page de la liste. Il y a d'autres choses, y compris peut-être la biographie sur ce qui est le communiste ? Une photo de profil. Donc, en ce moment, nous sommes dans leur prénom nom nom et voulons que lorsque nous cliquons sur le bouton , qui suggère que nous cliquons dessus pour voir l'enregistrement particulier qu'il va naviguer loin vers un autre composant, montrant nous que l'information pertinente. Donc nous avons deux options et, eh bien, je vais dire leurs options pour les orteils. Quoi ? Je vais en utiliser un, et je vais me concentrer sur un, parce que quoi ? Celle-ci est très facile. Donc, d'abord, nous devons changer nos boutons. J' ai donc utilisé des boutons au départ, mais ce que j'aurais dû utiliser là où les étiquettes de cheville sont utilisées pour faciliter cette méthode hors navigation. Droit ? Donc, les étiquettes de cheville sont les fils Navigare les plus utilisés, um, balises en html, bien sûr. Et là, près de la ville sur un voyage sur définir une adresse. Donc, l'adresse que nous allons utiliser ici serait l'adresse orteil auteurs slash parce que nous allons créer un composant dans nos auteurs, Waldo je vais l'appeler vue sur puis je dois passer dans un paramètre que vous saurez que il doit prendre connaissance de ce compte rendu particulier à ce sujet. Ce périmètre particulier serait comme le premier . Donc je ne vais pas montrer le I.D. I.D. ici parce que je ne pense pas avoir besoin de vous montrer le bureau que j'ai acheté dans les coulisses. Tu en as besoin. Donc, je dois dire au signe auteur point i d et cela va créer ce lien pour savoir qu'il devrait aller à la vue ou quel que soit le composant a cette adresse. Très bien, alors concentrons-nous sur la vue maintenant. Donc, pour y arriver, je vais devoir aller dans mon dossier auteurs, aller de l'avant et ajouter un nouveau composant, et je vais l'appeler vue. D' accord ? Certaines personnes appellent ça des détails. Donc, quel que soit celui qui travaille pour vous, alors je vais m'assurer qu'il a l'adresse. Barre oblique de l'auteur sur. Ensuite, je prends des dispositions pour le fait que sur I d valeurs vont être passées sur. D' accord ? Donc, quand cela dans le lien d'index quand il vadrouille directement sera à la recherche de n'importe quel composant qui a, eh bien, ceci comme sa page Onda une section pour une certaine valeur. Très bien, à ce moment-là, sur le point de vue dit, nous devons nous assurer que nous avons pris des dispositions pour cela. Non, parce qu'on a un paramètre qui arrive. Je dois faire savoir au pH que j'ai un paramètre. Très bien sur ce paramètre va être un public sur parce que nous devenons littéralement sur un bâtons. On sait que c'est un numéro, mais ça va voir leurs bâtons. On doit dire une chaîne. Alors on est sur le plateau, accord ? Ou peut-être qu'on peut juste aller bien, on va juste partir, juste commencer. Donc, en ce moment, si vous avez fait cet entier, nous savons qu'il devrait être enterré ici, mais je crois que vous rencontreriez une ère de compilateur. Je ne pense pas que vous des dollars à compiler si entier utilisé ou tout ce qui n'est pas indicatif une valeur de chaîne qui croise donc non ? Non, juste pour un aperçu rapide. Je vais juste voir que je gagne une empreinte. La valeur de l'idée quand il est cliqué droit. Donc, auteur, c'est juste. Auteur. Je suis sur, alors je vais juste vous montrer la valeur qui traverse le paramètre. Alors disons ça pour un tour. Laisse-moi juste m'assurer que j'ai tout mis ici. D' accord, laisse-moi juste cliquer. Commencez. D' accord. Donc nous sommes aimés d'être ici le jour. Je vais aller de l'avant et cliquer sur les auteurs sur. Ensuite, je vais essayer et vues. Donc, si je passe juste au-dessus d'eux, vous verrez en fait dans les liens dans le coin inférieur gauche. Si c'est assez visible, les différents je dévaluent, apparaissant à la fin du lien, non ? Et puis si je clique sur un, ça passe et ça te montre. Le i. D trois je cherchais trois étant possible. Ou si je reviens, je regarde un autre que j'ai cinq et cinq ans. Bon, donc nous savons que nous passons le paramètre avec succès. Alors maintenant passons à la partie amusante, qui est de récupérer les données sur l'affichage sur la page, parce que voir l'idée ne fait aucune différence ce que nous voulons faire. On voit tout, tu sais, tout sur l'auteur. Donc, je vais devoir injecter quelques services ici. un étant mon auteur, nous postons je vais juste aller plus et obtenir la ligne hors cour pour mon auteur Repo et injecté là-bas sur. Je vais probablement aussi vouloir mon gestionnaire de navigation. Et je vais en fait appeler les objets assez gestionnaire cette fois au lieu de ne rien déranger. Je trouve juste qu'il est plus facile de dire sur son, vous savez, plus indicatif de ce qu'il représente ce que l'objet représente, non ? Donc à l'intérieur du cordon, je vais aussi avoir une autre propriété pervers et celui-ci peut être privé sur ce sera hors type auteur, non ? Et ce sera mon modèle sur je vais l'initialiser orteil un nouvel objet auteur. Bon, donc ce que je vais dire ici, cependant, cependant, c'est que sur l'initialisation hors de cette vitesse, donc je veux oh, sur le chargement de cette page. Ou plutôt, lorsque le pH s'est chargé. Et nous savons que c'est notre fonction pour cela sur un évier initialisé. Je veux orteil récupérer l'auteur avec cette idée. Donc, je vais dire que l'auteur est égal ou désolé modèle que j'ai appelé modèle objet. Donc, mon modèle pour ma page est égal à attendre les résultats de mon rapport, qui est par les personnes auteur qui se mettent sur Alors rappelez-vous, nous devons obtenir donc cette fois je vais devoir passer dans le point final. Andi sur entier i d Donc j'ai mes auteurs de points de fichier dans les points et la virgule de point Mais alors j'ai besoin de l'i d qui doit être un entier Donc cela signifie que j'ai besoin de dire int i d Et je vais juste utiliser l'idée en minuscules parce que c'est une idée en majuscule, droit ? Donc, en tidies égales à cela, je peux juste me transformer en cette analyse hors de la communion I d volley à partir du paramètre. Droit ? Alors maintenant, je suis juste de le convertir. Supposons que vous avez différentes façons de convertir des pièces inductes. Vous avez également converti pas en 32. Donc, vous savez, celui-ci pourrait être un peu plus commun dans cette partie est limitée à seulement la chaîne. Donc, je veux dire cette situation, l'un ou l'autre peut fonctionner, mais je veux que je dévalue soit passé comme paramètre. D' accord, alors il va remplir le modèle. D' accord, alors on fait face à la même chose en haut, où ? Lorsque le modèle est vide, il peut ne pas se charger ou nous allons rencontrer des problèmes. Ce que je vais voir, c'est IFOR à Scient. Si le modèle est équivalent en tout, alors je veux afficher un bon message ou autre chose sur. Ensuite, nous voulons afficher sur la page réelle avec les données. Très bien, donc pendant qu'il est vide, j'utilise juste réutiliser cette alerte diff et je dis charger les détails de l'auteur. Donc vous voyez que je répète la cour ici et un principe de programmation. Ne te répète pas. Je les utilise. Dave est beaucoup sur le style exact, beaucoup. Donc, nous examinons comment nous pouvons mettre cela dans un composant et simplement carter un composant. Andi a même passé le message que nous avons l'intention d'avoir affiché en ce moment à l'intérieur que je veux afficher les détails des auteurs donc je vais juste utiliser une table à nouveau sur je vais lui donner les classes bootstrap, et puis cette stable est va avoir un format légèrement différent. Laisse-moi juste faire attention à quelques esthétiques ici, donc je vais mettre cette écurie à l'intérieur d'une Div allumée. Laisse-moi juste faire attention à quelques esthétiques ici, Je veux que cet orteil vive ait un appel de classe. Ainsi nd fait peut-être quatre pour qu'il ne s'étire pas sur toute la toile. Il prend juste quatre espaces ou quatre colonnes d'un potentiel 12 et puis à l'intérieur de ce que je veux juste cette table sur. Alors cette table va avoir notre rôle Rt de quelqu'un et ensuite dans ce T je vais avoir deux TDs. Rappelez-vous, les thés sont des colonnes, donc celui-ci va être le prénom. Ensuite, je vais insérer sur les quais du modèle Sion, puis mettre le prénom. Très bien, Onda, toujours en général décourage de placer, hum, vous savez, SMS directement à l'intérieur du remorqueur télé. Donc, vous savez, vous voulez probablement le mettre comme dans un remorqueur P ou quelque chose comme ça, mais pour non, c'est bon. Nous voulons juste obtenir l'affichage des données. Donc nous sommes prénom que nous avons des noms de famille. Certains veulent vraiment simplement les copier et les coller et modifier les détails en conséquence. Et puis nous avons le nom de famille. Nous avons aussi plus tard, nous aurons. On va probablement doubler. Et après l'adresse e-mail et d'autres détails où je sais que nous avons très peu de détails de la biographie afin que nous puissions voir une petite biographie de bateau sur. Alors ce serait cette bio. D' accord. Et puis nous voyons que nous avons des livres, donc nous aimerions probablement afficher une liste des livres sur les nouvelles. Donc, après avoir vu les détails des auteurs, accord. Donc, je peux probablement mettre un peu frapper ici pour voir les détails de l'auteur sur. Ensuite, je vais mettre une autre section sous cette table où je vais juste voir une cellule, juste la casser un peu pour qu'elle n'ait pas l'air géant sur les orteils. Et puis je dis les livres d'auteur de nos livres. Alors, pour les livres que nous pouvons pour chacun ou quoi ? J' ai besoin d'une autre table, quelqu'un pour mettre les livres dans une autre table, ou tu sais quoi ? Je vais devenir un peu plus créatif que d'utiliser une autre table. Donc, à la place, hors d'une table, ce que je vais faire est d'utiliser ah, carte sur le groupe de liste. Donc, regardant une documentation bootstrap, je vois qu'ils ont une carte spéciale où vous pouvez avoir, genre, un petit en-tête sur. Ensuite, vous avez le groupe de liste, et puis il sortira comme ça. C' est donc ce que je veux. Donc je vais juste copier ce cordon aan den après avoir vu les livres de l'auteur, je vais juste le coller correctement. Je sais qu'on le réfracteur ensemble. Donc, au lieu d'avoir cette même vedette, je vais dire des livres d'auteur. Donc je prendrai cet âge pour Tug. Coupez-le, placez-le à l'intérieur des six fils pour le cap du frappeur de cartes, non ? Il suffit de réparer mon indentation un peu, puis pour le groupe de liste. Je vais juste dire au signe pour chacun sur ce sera plus sur. C' est un livre sur. Ensuite, la collection ici sera le modèle ancré sur. Ensuite, nous avons des livres. Bon, donc, tu sais, pour que ça marche, on va certainement devoir chercher notre modèle de livre. Alors, hum, supporte juste avec moi. Donc, pour chaque livre à l'intérieur de la liste, hors livres qui reviendront. Droit ? Donc, vous voyez que nous avons le moins de livres, et si vous n'êtes pas si sûr de ce que je fais référence à Remember quand nous avons mis en place le modèle, nous avons pris toutes les propriétés ainsi que inclus une liste de livres. Donc, dans le Jason, Easy réalise que vous allez sérialiser orteil ah, livre droit. Chaque livre prendra les caractéristiques du livre, et tout cela est des annuaires d'appels des analystes téléphoniques. Donc, assurez-vous que nous avons une représentation pour les propriétés de chaque livre à l'intérieur du modèle de livre. Donc nous ferons ça assez ou finirons ce design. Donc, pour chaque livre qui va être récupéré, ce que nous voulons faire est de mettre sur L. I. avec l'élément de groupe de la liste de classe sur. Ensuite, le contenu sera au signe Book on peut être à San Book dot et, eh bien, c'est un objet vide, donc il n'y a rien à lier tout de suite. Alors laissez-moi juste mener toute la graisse, réparer un peu le formatage, puis nous tournons notre attention vers les livres. Je fais juste tout une fois du soda après le double retour. Traite encore avec ça, non ? Ce que nous allons savoir, c'est de passer à notre modèle de livre. Donc, avez le modèle de livre, et il est vide qui ne peut pas fonctionner correctement. Réparation rapide. On remonte à la pointe du P. Je me souviens que ce qu'on fait vraiment est juste de cartographier ou de me laisser regarder les détails ou on fait vraiment est juste de récupérer les propriétés qui reviendraient du FBI. Droit ? Donc tout appel du FBI pour un livre récupérera tous ces points de données. Tout droit sur. Je vais juste prendre tout cela, donc je vais juste copier tout cela, venir réserver dans le contexte de notre application U Y. . Droit ? On a le type. L' idée, l'année, le Vous savez, tous ces détails peuvent être le prix, non ? Euh, l'auteur je l'ai dit alors nous n'avons pas tous les détails, mais nous avons l'auteur. Donc, pour tout livre qui va recruter, nous voulons récupérer les détails de l'auteur, si possible. Tu sais, quand ils vont mettre en place notre librairie, Fred, mais pour non, c'est ce que tous les livres vont regarder. Donc on travaille sur le livre, eh , je vais mettre la validation et ainsi de suite. Donc je laisse ça pour non, mais revenons à notre liste ici. Quand je sais, dis livre, qui est de se souvenir de cet objet. Donc, il est un livre quais sur Non, je peux obtenir quelques détails Donc un détail que je voudrais probablement est le titre Onda Peut-être le titre sur le Let's See the Price Donc à san livre le titre sur Down the Price Et puis, si vous voulez, vous pouvez probablement ajouter Un oncle serré ici pour voir Bino. Notre point de vue plus tard, nous sommes mis en place qui veulent que vous Regardez un auteur sur les livres qu'ils ont , vous savez écrit qui apparaîtrait dans cette section Vous voyez le titre, vous voyez le prix et puis vous pouvez cliquer pour voir plus tard sur nous allons arranger ça. Donc je sais que nous voulons juste obtenir la vue de l'auteur Open en cours d'exécution, donc nous avons toutes ces choses qui reprenaient ça. On remplit tous les livres. Une autre chose que je pense que je voudrais probablement, c'est un bouton qui, vous savez, reviendrait vous savez, en arrière Hope, c'est une attaque maladroite. Donc je veux dire, vous avez deux options. Comme je l'ai dit, eso si on utilise le bouton un peu de bouton sur un voyage. Donc, nous devons mettre en place un événement de ruisseau sur qui nous naviguerait un. Donc, je vais utiliser un bouton juste pour que vous puissiez voir comment cela fonctionnerait. Donc je vais voir un bouton, euh, euh, revenir en arrière mais orteil, mais pour lister la liste sur, alors ça aurait ce que vous appelez un événement délicat. Donc, vous devez voir ce panneau sur propre. Ensuite, ce signe sur clic, vous spécifiez quelle fonction doit être appelée sur clic. Donc, je dirais que j'ai soutenu une liste. C' est le nom de la fonction. Donc, je ligne rouge va apparaître parce qu'il n'y a pas une telle fonction. Alors pourquoi cette ligne rouge apparaît ? Je vais juste aller de l'avant et créer la fonction, quelqu'un pour dire, Private, je vais juste la rendre nulle sur Appeler le moins sur. Ensuite, je veillerai à ce que vous devriez utiliser le gestionnaire de navigation Andi navigue vers. Et puis le lien que je vais mettre ici ne serait pas coupé. Mais tu seras coupé. Auteurs barre oblique Donc c'est la page d'index de nos auteurs. Droits sexuels. Si peu. Collez ceci pour un tour et voyez comment ça marche. Donc, je suis ici à regarder la liste des auteurs. Je vais de l'avant et cliquez sur vue sur, puis. D' accord, donc je l'emmène ici avec des bateaux, les livres de modèles étant vides. Bon, donc c'est un de ces domaines que je t'ai dit. C' est pourquoi ils nous ont laissé mettre ces déclarations pour dire, si c'est vide, alors vous savez que ça ne lui causera pas, alors c'est bon. Nous pouvons corriger cela avec une déclaration if. Alors sortons des gens plus. Et puis je verrai à la science, si sur cette estimation va juste évaluer si le modèle qui livre Ok, Donc cela signifie que cet auteur, que j'ai essayé de voir, n' a pas de livres. Donc, si le droit des livres modélisés est équivalent à savoir qu'il n'y a pas de livres retournés. Alors ce que je vais faire est d'afficher cette section. Dites, disons, j'utilise la cour contre. Si jamais je voulais changer le style, alors j'aurais eu besoin de changer cela au moins quatre endroits par Non. droite. Donc pas de livres pour afficher des livres. Eh bien, pour cet auteur là-dessus, on voit d'autre. On veut tout cet accord de fantaisie qu'on vient d'écrire. Donc je n'ai pas besoin de montrer les livres de l'auteur et aucun groupe de liste pour dire, Oh, ce sont des livres. Je vais juste dire qu'il n'y a pas de livres pour cet auteur ou cette épaule, alors essayons à nouveau. Bon, donc on est de retour à l'endroit où on a commencé sur Essayons à nouveau. Donc je ne suis pas sûr de quel auteur a des livres, mais nous traînons juste avec le même auteur avec un A K R. Donc nous ne voyons pas Cet auteur n'a pas de livres. Nous avons vu un flash allumé sur flash off et off course. Nous avons besoin de style ou de tableaux à boutons. Je crois que c'est pour ça qu'on ne s'écrase pas. Donc c'est bien. Donc je crois que la raison pour laquelle gentil nous l'avons vu clignoter est que si le modèle était non, les livres étaient non. Mais alors je crois qu'une fois le modèle est chargé, la collection de livres qu'il n'est plus la connaissance est a compte de zéros. Il y a quelque chose d'autre que le comté zéro. Donc ce que je vais faire, c'est que je vais voir si c'est non ou s'il est erré. Les livres qui ne seront pas sont moins d'un bon sens ? Tu n'as pas de livres que tu as. Zéro sont moins de livres, alors quand les sortes de négatif. droite. Donc vous avez moins d'un livre, alors nous voulons l'afficher. Je pense que ça devrait s'occuper de ça. Alors. Je vais juste mettre un remorqueur de frein ici. Ensuite, assurez-vous que je stylise mon bouton sur dso. Ce serait la classe sur Bt nbt n tiret sur. Disons que la ligne et je vais le voir en ligne secondaire. D' accord , , alors. A l'intérieur de la. Mais je vais aussi mettre une de ces icônes, non ? Quelque chose que vous savez, je ne me concentre pas trop sur le look et la sensation, mais c'est agréable de tout faire pour obtenir une appréciation complète pour tout se réunir. Donc, je vais mettre une travée et je vais appeler ma classe d'icône ouverte, et ensuite ce sera Oh, je le fais. Ils ont un Buck Barrow. D' accord, donc les médias ignorent le mot d'argent. Essayons le mot Skip Buck. D' accord, essayons encore une fois, et nous savons que cet auteur n'a pas de livres. Je ne sais pas si nous avons des auteurs avec des livres, donc si vous voulez tempérer la force, le FBI cause et crée des livres avec des auteurs attachés à eux. Mais au moins, nous voulons nous assurer que notre point de vue émettant un correctement. Bon, donc à l'arrière sur la vue du même auteur. Et nous voyons les détails de l'auteur tous les détails sur les livres DNO pour cet auteur, et nous obtenons notre belle bataille des orteils est bouton look joli et élégant en dessous. Donc je veux dire, ce n'est pas la plus jolie interface, mais au moins on peut voir ce qui se passe ensemble. Pire, on peut, tu sais, affiner un peu. Vous pouvez enlever cette vue sur peut être. Avoir les détails de l'auteur plus prononcés. Nous pouvons rencontrer ces le texte sur ce panneau latéral à la place, regardant juste comme ça sur puis hors cours, avec plus de données pour la biographie, il y aurait plus de détails pour l'affichage et puis hors cours. En fin de compte, nous n'avons pas de livres pour cet auteur, qui prendra vie lorsque nous commencerons à mettre des livres. Donc c'est tout pour déclencher la vue. Plus tard, nous ferons quelques corrections essentielles et nettoyerons un peu plus les interférences, mais pour non, c'est toute la semaine 100. Le sol entre les différents composants. Nous avons donc transmis des données entre les composants et comment nous gérons les données de chargement une fois de plus, à l'intérieur de chaque composant. 46. Mise à jour Author: Hé, les gars , dans cette vidéo, on va regarder faire dessus. Donc on a juste vu. Nous savons déjà comment les avoir sur l'index. Donc, l'édition va suivre beaucoup sur les mêmes étapes que l'ensemble de couloir de la vue. Commençant par nos liens. Je vais juste copier ceci, un voyage que nous avons déjà pour la vue. Barton. Je vais maintenant le mettre dans le bouton d'édition et au lieu de l'auteur. Je suis allé voir que Pity va bien. Ensuite, nous allons de l'avant et nous créons nos nouveaux composants. Donc, chez les auteurs, nous ajoutons un nouveau composant et nous allons l'appeler encore une fois avec un E majuscule. Ensuite, nous équipons notre nouveau composant avec la page écrite. Il est censé avoir l'injection de rapport et l'injection de notre gestionnaire de navigation. Très bien, un minimum. Nous avons besoin de ces choses. Si nous avons besoin de quelque chose d'autre hors cours, nous allons les ajouter en cours de route, mais note juste que cette étape, cette fois manque l'édition sur elle, attend toujours de savoir quelle édition d'enregistrement, est-ce pas ? Donc, nous devons encore récupérer le dossier puis nous avons les orteils lient orteils la forme. Donc, en fait, beaucoup du code que nous avons écrit à l'intérieur du composant de vue est très applicable, non ? Donc, en fait, je vais juste copier, en fait, tout ça je vais juste copier tout ça, parce que nous avons encore besoin d'avoir le paramètre dont nous avons besoin pour avoir notre modèle présent. Ensuite, quand les pages sont initialisées, nous devons aller chercher, non ? Donc, nous devons récupérer l'enregistrement qui va être édité et le mettre dans le modèle, et je vais toujours avoir le bouton retour au moins sur. Je vais aussi avoir un autre bouton. C' est son annulation. Bon, donc je vais juste aller voir ce que j'ai déjà écrit sur ce que je vais prendre. Donc je sais que j'ai besoin de ce bouton. Bon, donc je vais juste copier ça. D' accord. Je veux prendre que je vais changer cet auteur d'édition. D' accord, Andi, juste de la même façon qu'ici on aurait dû avoir la vue auteur. Alors juste te sauver. Détails de l'auteur qui est écrit hors de leur vue, détails de l' offre. D' accord. Apportez un peu de cohérence. Design déchiré. D' accord, n'importe quel trou. L' autre chose que je voudrais, c'est la déclaration if. Donc, pendant que je suis là et que je suis sur cette ligne, j'ai juste fait la déclaration, certains juste copier et coller une fois de plus. Donc, nous avançons rapidement puis avons le if else dans cette déclaration if. Donc si ce n'est pas d'accord, alors maintenant je vais orteils veulent que ça revivre ? D' accord. Donc, je vais créer un composant partagé parce que je suis malade et fatigué de prendre ce rhume chaque fois et de le taxer à travers. Droit ? Donc ce que je vais faire est de passer à partagé et ensuite, eh bien, regardons un qui existe déjà. Si nous regardons le composant d'invite d'enquête pour voir ici que c'est vraiment juste une alerte sur git a un texte bine double appelé Title et il reçoit vraiment un paramètre appelé title. Et si vous regardez sur la page d'index comment cela fonctionne, c'est juste appeler l'invite d'enquête, qui est le nom du composant sur, puis en passant le message ou tout le texte devrait être à l'intérieur de la désolé à l'intérieur de l' enquête problèmes. Bon, donc on va faire la même chose. Donc, je vais juste aller à partagé clic ajouter à un nouveau composant. Je vais l'appeler message de chargement, non ? Rien de trop de fantaisie alors à l'intérieur de ce composant ou quelqu'un à faire est que je vais prendre le Dave sur ses prises par défaut qui étaient toujours affichées. Donc, je vais juste faire le pied comme ça. Ramenez-le à l'intérieur du composant. D' accord ? Donc, non, nous avons ça. Dave sur son charge les détails de l'auteur. Donc celui-ci, je vais le rendre dynamique parce que je vais utiliser ce même composant avec son auteur ou un livre ou des détails utilisateur. Quoi que ce soit, c'est celui que je vais te voir. Donc, à la place, hors de rendre cette statique. D' accord. Et encore une fois, nous retirons juste l'exemple de l'invite de sondage à l'intérieur de la cour, je vais lui donner un Parmenter comme ce que nous avons fait, donc je vais juste aller de l'avant, lui donner un paramètre sur ce l'un d'entre eux sera un message. Et puis ce que nous allons faire est juste d'acheter le message ici, donc je peux probablement mettre ceci dans une étiquette H 3 au lieu de juste le faire imprimer comme ça et voir le message. Bon, donc chaque fois que nous allons appeler ce composant, nous allons lui dire le message, puis il sera imprimé en conséquence. Donc divulguer ce que je n'ai pas besoin quand je vais orteil quand je vais éditer sur l'auteur, je ne peux pas voir appeler le message de chargement du composant sur. Ensuite, il me donne l'option de spécifier le message, puis je peux dire charger l'auteur pour les modifications ou tout message que vous voulez. Je suis juste, tu sais, , , par exemple malade, par exemple. Je sais que j'ai ce composant, je n'ai pas les orteils copier et coller ces particules en direct chaque fois, donc je peux mettre le même appel de composant à l'intérieur de la vue sur cela, je peux dire charger les détails de l'auteur, d'accord. Et puis je peux faire la même chose à l'intérieur de l'index où nous l'avons créé à l'origine, pas vrai. Et puis je peux juste dire que le chargement de l'auteur chargent les auteurs. Bon, donc c'est une belle façon de créer. Vous savez, les composants réutilisables et le parlement hôtelier les surgissent. Donc, quand je transmets ce message, il obtient qu'il va juste rendre cela à la place sur H 3. Tuck. D' accord, donc je sais que cette salope est hors du chemin. La prochaine chose que je veux, c'est l'art. Donc si on est quelque chose, ça veut dire qu'on a besoin d'un formulaire d'édition. Donc, vous auriez vu le formulaire d'édition à partir du moment où nous avons passé la connexion utilisateur et les choses d'enregistrement utilisateur , est-ce pas ? Et le formulaire d'édition, nous avons spécifié un modèle à utiliser, que nous savons que nous avons un modèle pour cela, est-ce pas ? Peu importe ce que vous appelez cet objet, c'est ce que vous mettez là. Ensuite, je dirais quelque chose comme sur la soumission valide. Alors c'est ce que je veux faire. Donc, je veux éditer l'auteur. Bon, alors bien sûr, nous avons besoin de cette fonction pour être définie. Donc non, j'ai besoin orteil définir cette fonction, qui est son auteur. Donc, je vais juste créer cette fonction sur. Je vais en faire un privé éviter Onda. Divisez-le là. Je ne ferai rien pour l'instant, mais j'ai besoin du formulaire. Bon, donc nous savons à quoi ressembleront les formes. Nous avons le donner ces formes bootstrap et puis ils encouragent orteil ont une classe appelée groupe mdash, accord. Et puis à l'intérieur, hors de ce formulaire, nous avons une étiquette sur. Alors c'est une bonne idée de vendre quatre. Et puis on a mis l'idée de ce que tu étais avant, donc je vais juste dire le prénom, accord ? Et puis le texte des étiquettes lui-même est le prénom. D' accord. Et puis nous avons un composant. Composant intégré dans le formulaire hors texte d'entrée. Bien. Et puis le texte d'entrée va être os afin que nous puissions dire que la valeur de liaison Scient. D' accord, j'avais signé la valeur d'achat. Désolé. Les renseignements manquent. Alors que les valeurs d'achat de sable, l'égalité. Et puis nous disons au point de modèle de signe sur puis la propriété qu'il se lie à laquelle serait je n'ai pas besoin à l'extérieur. Désolé. Il s'agirait d'un point de modèle Prénom. D' accord. Aan den je donne la classe égale forme. Contrôle du tableau de bord. Très bien, alors je peux lui donner le i d pour qu'il se lie. Mais à l'étiquette, qui est le prénom. D' accord. Bien sûr avec la réforme. Désolé d'avoir raté cette étape. Je devrais avoir le validateur d'annotations de données parce que vous avez des éternités dans notre modèle d'auteur sur, alors nous devrions aussi avoir la validation. Résumé. Bon, donc je ne vais pas mettre le message de validation en dessous qu'ils ont déjà le résumé. Donc, je laisse juste le résumé là. Andi, je vais aller de l'avant. Donc, pour le prénom, je vais simplement copier et coller cela et faire la même chose pour le nom de famille parce qu'ils sont fondamentalement la même chose en termes de leurs exigences. C' est juste de s'assurer un changement des idées et de la liaison. La prochaine chose que j'aurais, c'est le bios, um, um, quand les orteils ont ça aussi. Mais cette fois, je vais utiliser une zone de texte d'entrée comme mes composants. En achetant ce retour à la bio. D' accord. Assurez-vous que tout ressemble à ce qu'il est censé ressembler. Puis à la fin de cette forme, puisque je n'ai que trois propriétés qui tendaient à droite ? Pas de prénom, de nom, de bio. Voyez, M. Step. Vérifiez simplement et assurez-vous que vous ne manquez aucun changement. La dernière chose dont nous avons besoin est le bouton, le bouton Soumettre. Donc je vais juste mettre le bouton, alors ce serait que c'est Oh, ther. D' accord , , alors. Je vais me voir. Ce sont des boutons par bootstraps Bt et Bt et tiret sur. Je vais le rendre primaire, accord ? Et puis j'ai mes boutons mais relâchés. Donc je vais juste remettre ça au bouton de liste ici à côté. Donc, soit éditer ou vous revenez à la liste soit. Soumettez Editori, revenez à la liste. Certains mettent ça là. D' accord, Andi, si on veut, des preuves du bouton Eddie avec une icône ou deux de nos tableaux. Une autre chose que nous voulons sur ce bouton est le type. Donc, tapez equals submit veut réellement déclencher la soumission hors du formulaire qui , s'il est évalué, sera s'il est évalué, transmis à cette fonction. Si ce n'est pas valide dans les validations l'arrêtera d'être soumis. D' accord, d'accord. Donc j'ai juste modifié le bouton de soumission un peu que j'ai mis dans l'intervalle Onda mis sur une icône de crayon, non ? Et c'est écrit éditer. Ou peut-être que j'ai dit devrait dire que quelque chose change bien ? C' est un peu si soudainement des changements parce que vous venez de faire quelques changements. Une chose très essentielle dont nous avons besoin sur ce formulaire est le droit I. D. Donc, je veux dire, nous pourrions probablement camper l'i d du paramètre parce que nous l'avons déjà ici. Eso réel finalement. Habituellement, ce que vous faites est de cacher le i d quelque part dans la forme. Mais alors nous le suivons vraiment à travers les paramètres. Je n'ai vraiment pas besoin de le cacher sur le formulaire à nouveau. Non, sur une soumission valide, savez-vous, quand edit author est appelé, ce que nous voulons faire ? Il est Ah, tu vois, c'est le succès. Donc on veut un lingot. Son succès est égal à attendre et puis nous appelons un rapport Et puis ce que ce sont les gens ont pour l'opiacé Donc nous appelons être il et puis il veut que nous passions dans les points de fin pour le u R l Donc je vais juste voir dans les points points points et puis les auteurs dans points. D' accord ? Et puis puis nous pouvons nous disperser dans le modèle. Donc, il disait que nous pouvions suivre le i d à travers le paramètre i d, mais que se passe-t-il vraiment ? C' est sur, euh oh. Eh bien, je n'ai pas de zone ici parce que ça doit l'être. Ce n'est pas éviter. Ce devrait être un arrêt synchrone. Mais avant d'arriver à ce que je peux envoyer dans le modèle So tâche. Et quand je viens de passer dans le modèle, ce qui était désossé me change. Mais ce qui n'était pas désossé et sujet à des changements persistait à l'intérieur du modèle . Donc, quand on a récupéré le modèle le traiterait avec le I D. De toute façon, quand on le remettrait, il savait déjà ce qu' est le D. D.et l'aurait pour un usage futur, non ? Non, nous devons vérifier si c'est réussi. Donc je vais juste voir si c'est le succès. Ensuite, je veux naviguer loin pour que je puisse juste voir navigato. Ou peut-être que je peux juste rappeler ça. Voyons si ça marche. Mais la liste là où nous allons, depuis que la réécriture de cette ligne, qui va apporter la liste de toute façon, je peux juste voir si son succès, puis appeler ce stand tout ce qu'il est censé faire, cela fera bien autrement. Si cela n'a pas réussi, alors nous voulons probablement afficher quelques erreurs. Donc je pense que nous l'avons fait dans la page de connexion où nous avons dit s'il y avait des flèches pour afficher et les afficher. Donc ce que je vais faire est définir et la variable mère ici. Onda que nous appelons qu'il a échoué. Donc, vous remarqueriez que parfois ont privé. Parfois, je ne le fais pas. Encore une fois, cohérence est clé, mais par défaut, si vous ne spécifiez pas privé ou public, elle sera privée par défaut. Alors son champ deviendra vrai si cela n'a pas été couronné de succès. Donc, il a échoué. Egal vrai. Alors, ce que je peux faire en haut, c'est voir que si ce signe Désolé, alors laissez-moi revenir un peu. J' ai dit qu'il n'a pas été tombe par défaut, donc ça ne sera vrai que si le succès se sent juste. Alors je peux juste voir. Et en fait, je vais juste avec le magasin de mariage parce que j'ai fait quelque chose de très similaire là-bas . Où et puis ici, il est à nouveau. Je répète une alerte de danger pour que je puisse le transformer en un composant réutilisable à doses Lodeiro message. Bon, donc nous avons un message faible pour attendre et je peux juste le transformer en un composant. Pour une raison quelconque, cela va parfois à lire. Je ne suis pas tout à fait sûr, mais au moment où je construis, ça devrait se réparer. Bon, donc, donc, jusqu'à présent, on a tout. Allons de l'avant et testons que j'ai un bouton supplémentaire ici. Laissez-moi simplement supprimer cela parce que je déplace le bouton à côté des changements de sujet. Donc, j'ai soudainement des changements sur. Alors j'ai l'autre pour revenir à ça. Droit ? Alors testons ça. Bon, donc on est de retour à notre liste. Je vais essayer de modifier un cas lorsque je clique sur. Modifier. Elle est là. D' accord. Donc, ses détails sont venus joliment et rapidement sur puis elle est sur l'auteur génial. Tout de suite, puis on va soumettre des modifications afin que nous puissions revenir à la liste. Et cette justice d'abord. Ok, cool. Ça marche. Laissez-moi juste re taper sur. Ensuite, je vais soumettre des changements. Et puis voyons. Bon, donc non, donc non, quelque chose s'est mal passé. Donc, vous voyez, j'ai juste copié et collé cette époque Dave sans changement dans la technologie pour que nous puissions faire tout ce composant utilisable. Mais quelque chose s'est mal passé. Et voyons si nous pouvons être au sujet de ce qui a mal tourné. Donc, en revenant à mon tribunal de dépôt basé et la méthode des mises à jour sur je suis juste en train de vérifier que tout est entier. Nous avons dit qu'il devrait être donc nous avons le mettre nous avons l'URL sur. Je pense que nous ne nous sommes pas formés ou je ne sais pas si je change cela par la suite, mais je soupçonne que l'U. R L est mal formé parce qu'il devrait aussi avoir l'idée touchée. Si je ne me trompe pas, laisse-moi revenir à ma documentation pour mon Onda. C' est bien cela. Il devrait être slash auteurs slash i d et j'ai enlevé le i d pour une raison quelconque. Donc je vais juste sortir du bateau plus avant d'aller plus loin. Bon, donc je vais remettre 1/3 Parmenter pour l' I.D I.D Je vais aussi préparer les orteils. Huit sur la ficelle. Donc, nous avons l'URL comme une chaîne sur et laissez-moi juste m'assurer que mes points de terminaison ont que recherche de barre oblique de fin devrait être une barre oblique d'auteur p i et ensuite nous sommes concaténation la valeur i d i d juste là. Mais alors hors cours. Si je change le référentiel de base, je dois changer mes contrats. Donc, je ne suis pas sûr. Je pense que j'ai peut-être changé quand vous ne cherchiez pas pour une raison quelconque, mais laissez-moi revenir. Donc, si vous êtes votre contrat devrait ressembler à ceci pour la mise à jour avec le I. D. Sur votre dépôt basé devrait avoir les trois paramètres sur Beacon coordonnant l' idée sur la chaîne. Ok, alors essayons encore. J' ai eu une erreur car j'ai besoin de mettre à jour mon appel de méthode. Droit ? Donc, je passe dans l'importance, le modèle, et puis j'ai juste un modèle points, je d. Ok, Alors essayons ça à nouveau. Bon, donc nous sommes sur le point de la page d'édition déjà fait mes ajustements où j'ai dit qu'elle est sur l'auteur génial . Je soumets des changements et quelque chose s'est encore mal passé. Donc je crois savoir ce que c'est cette fois. Ce n'est pas que nous ayons malformé le comte. Je pense que c'est juste parce qu'on n'agit pas. Donc, je vais définir un point de rupture dans mon histoire de rapports de base juste à l'appel de mise à jour après avoir reçu la réponse. Et puis regardons à nouveau. Donc, je suis allé soumettre des changements, il envoie la demande sur. Alors il est dit, interdit. Bon, donc ça veut dire que notre validation sur nos trucs d'autorisation fonctionne, au moins au niveau A P I. Nous devons faire en sorte qu'aucun non-administrateur ne puisse accéder à la page pour commencer. Droit ? Donc ici, dans ce scénario, nous avons une porte sur cette librairie dot com qui est juste un client sur. Il est capable d'aller aux auteurs sur ce, en fait cliquer dessus il auteur. Donc, nous voulons lui faire ne pas être en mesure de voir ce lien un, et même s'il navigue là-bas, ne pas être autorisé à aller même à la page. D' accord, mais alors, sur le A P, j'ai dit, nous pouvons être confiants que c'est au moins validant que la personne qui essaie de faire l' opération a le pouvoir de le faire. Alors laissez-moi aimer Boat comme l'utilisateur sur l'amour retour en tant qu'administrateur. Très bien, donc nulle part à ce discours, nous utilisons notre administrateur pour essayer à nouveau et voyons ce qui se passe. Donc, quand je soumets des changements et qu'il frappe ou point de rupture. Je ne vois pas qu'on ne récupère aucun contenu. Donc, non, nous savons que c'est un succès. Ou au moins la déduction est qu'il a été réussi afin que nous puissions supprimer le point de rupture f 5 . Laissez-le continuer. Ça remonte au début. Et puis si je regarde les détails le jour, j'ai encore un point de pause. Libérez ça. Lorsque j'affiche les détails, nous voyons qu'il a été modifié avec succès. On y va. Donc, nous obtenons l'édition. On l'a fait travailler sur DWI. Voyez où les yeux de l'AP rejettent activement, euh, vous savez à la Tamise pour l'appeler si la personne n'est pas une personne authentifiée ou autorisée à effectuer certaines choses. C' est donc ce que l'École de Réponse Interdite, qui est pour les trois et croit qu'un 41 est offert à quatre trois. Interdit. Andi. C' est ce que nous avons eu quand nous avons réalisé que nous utilisions un utilisateur inférieur. Donc, les utilisateurs de la librairie sont la règle du client peut voir afin qu'ils puissent venir à la location et je peux cliquer sur les détails et voir les livres et tout. Mais ce qu'ils ne peuvent pas faire est en fait d'éditer et de supprimer. Bon, donc nous devons modifier les interférences et nous le ferons plus tard. Mais nous allons modifier l'interférence de sorte que lorsqu'un client se connecte, il ne verra pas du tout l'éditeur et le bouton de suppression. Et même s'ils essaient de naviguer directement, vous savez que quelqu'un qui est intelligent sur mon dur a compris le modèle qui pourrait essayer. Auteurs slash view r slash idiot slash le i D. Nous ne voulons toujours pas qu'ils soient en mesure d'effectuer quoi que ce soit sur cette page, donc c'est l'une des choses que nous ferons plus tard. Mais pour l'instant, nous voyons ça dessus. Ça marche bien, Andi. Encore une fois, si cela ne fonctionne pas, assurez-vous simplement que vous n'avez pas d'erreurs d'orthographe en cours de route. Donc, j'ai eu quelques erreurs d'orthographe et résoudre ces erreurs étaient vraiment parce que je n'ai pas orthographié choses correctement dans le projet sur son vous savez, sorte que cela peut vous faire dérailler et vous faire penser que vous avez une grande ère quand il est vraiment juste un fille mineure. Assurez-vous donc que les dépenses sont cohérentes. Assurez-vous que vous nommez les conventions sont cohérentes lorsque nous revenons. Nous allons examiner la finalisation de la section par une valeur d'ID inférieure utilisateurs toe 47. Configuration Supprimer l'auteur: Bon, donc on est de retour, compris ? Nous voulons nous attaquer à la suppression. Donc nous vous avons. Nous avons mis à jour et nous devons parler du leader que nous avons déjà établi que seuls les admet peuvent faire l'édition et la suppression sur. Nous allons maintenir une séance avec notre amiral. Je vais juste à Lagos pour commencer la fête. Donc, revenant à notre page d'index, nous allons simplement copier ce lien parce que la suppression va ressembler exactement aux deux autres sur au lieu de désactiver chaque fois que vous allez dire suppressions. Maintenant, après avoir fait cela, je vais créer un composant parce que ce que je veux, c'est que lorsque vous supprimez de la table , il va à la pointe. Es-tu pris la tête de la liste va apporter le remorquage. Ah, Page. Ça va vous montrer les détails. Ce que vous êtes sur le point de le faire et de demander si votre court train particulier Donc j'ai un nouveau composant . Ça s'appelle les pistes. Ensuite, je vais presque copier et coller beaucoup de choses hors cour à partir des modifications. Parce que beaucoup de la cour, comme où l'établi semble assez similaire. Donc, la page cette fois-ci est effacée. D' accord. J' ai déjà mon repo sur mon gestionnaire de navigation, Andre. Quoi ? Je peux changer le titre plus tard. Alors quoi d'autre ai-je besoin de la page d'édition ? Je vais tout prendre ici. Le paramètre, le modèle, l'ISS a échoué à peu près toute la section écrit, La seule différence sera ce que j'ai réellement mis sur l'événement trick. Droit ? Alors, au lieu de ça. Et il aussi, nous allons avoir supprimer l'auteur et laissez-moi juste Eh bien, tout le reste peut rester. Je semble juste signaler le point de terminaison des mises à jour à vraiment le supprimer le point de terminaison de suppression prend la chaîne. Vous êtes sur le I.D . Je n'ai pas besoin des objets de modèle là-bas. Bon, donc c'est tout pour la mise en page de l'affaire. Eh bien, le cordon Eh bien, c'est un début pour la section du cordon du fichier de suppression, de la vue. Mais alors je vais emprunter la cour de l'affichage des orteils section, Qu'est-ce qui est sur le point d'être supprimé, non ? Donc, en fait, je peux juste prendre tout sur ce discours du chargement. Si les déclarations orteil impriment les détails sur, alors je prends tout cela même pas à la bataille est. D' accord. Je veux tout prendre sur ce terrain. D' accord, mais je vais inclure une réservation supplémentaire sur cette pièce. Alors laissez-moi juste passer par ce qui se passe ici en cas de perte. Donc, notre suppression est à peu près en train de naviguer avec le même paramètre i d que nous avons utilisé dans la vue sur l'édition quand il arrive ici et il est chargé. Quand les seigneurs de la page étaient censés récupérer cet enregistrement de notre A p I et il y aura l'utilisation de ces données pour l'afficher. Donc, je dis que l'affichage ici va juste comme il aurait été modifié sur la vue, Pidge. Mais au sommet, je vais voir notre Vous êtes sûr que vous voulez. Désolé. Vous voulez que toe supprime cet enregistrement. Donc c'est comme une page de confirmation, non ? Dis, pourrait conduire va venir ici demander. Êtes-vous sûr de vouloir supprimer cet enregistrement ? Parce que vous donnez à la personne une chance de revoir et de voir Oh, c'est le mauvais dossier. Je suis désolé. Laissez-moi revenir à la liste. D' accord. Mais alors s'ils ont moins de mois qu'il y a lieu direct et ils sont sur le point de supprimer. Donc, je vais juste dupliquer cette bataille ce bouton et puis je vais dire, Supprimer l'auteur droit sur. Ensuite, je vais mettre l'icône de filé pour être ou I Andi. Je pense qu'il a comme, eh bien, juste réutiliser supprimer. Alors j'ai brisé la piste. Ou est-il juste supprimer jouet déjà éviter les cendres. Ceci est un national attirer donc et puis la classe ici sera BT et Dash Danger. Donc c'est un bouton rouge disant que Hey, vous êtes sur le point de supprimer afin que vous puissiez procéder à la suppression de l'auteur ou vous pouvez revenir en arrière Donc le cliquez ici ne sera pas de retour à la liste pour le clic sera. Supprime l'auteur. Très bien, donc sur clic, nous appelons l'auteur principal, qui provoque ensuite plus supprime la meth impair passant dans le modèle avec les modèles I d. appelant les auteurs et le point, et si c'est réussi, nous revenons à la liste. Si ce n'est pas réussi, alors nous disons que c'est le sentiment est vrai alors que c'est des supports. Orteil. Donnez-nous une petite section sur l'époque, alors concentrons-nous sur cette section aérienne. Donc, de retour dans l'édition, nous avons cette section de l'époque. Donc, je vais transformer ça en un composant. La même chose. Nous avons retourné le message de chargement interphone tirer à droite. Donc je vais juste couper les orteils qui vont à partager impair sur. Ensuite, je vais ajouter un nouveau composant que j'appelle message d'erreur. Allez-y. Et puis à l'intérieur de ça, je vais juste mettre les mêmes alertes, puis faire en sorte que ça devienne un danger. Alors, je suis contraignant. Ça aussi. Une variable appelée message, qui est notre représentation à partir d'un paramètre. C' est qu'on va appeler un message, non ? Donc, nous ne pouvons pas de messages d'erreur possibles ou personnalisés sur. Ils seront affichés sur les changements de mucus d'un Pete à peut-être un H trois fois. Donc, il est plus prononcé sur, puis à l'intérieur hors de n'importe où que nous l'aurions chargé manuellement afin que je puisse revenir à ma raison de l' éditeur sur son champ volonté. Maintenant, je vais voir le message d'erreur. C' est mes composants allumés. Le message sera égal à un sermon par barre. Celle de l'auteur, la page de registre Sergent. Tu vois, quelque chose s'est mal passé avec l'opération à un peu plus générique. D' accord , alors. Je peux réutiliser. Ceci a échoué sur ma section de suppression. Droit ? J' ai donc juste copié et collé entre deux composants. Andi a fait un tout nouveau composant avec une cour très minimale parce qu'une fois de plus, nous savons dans quoi nous nous embarquons. Donc c'est facile de naviguer, n' est-ce pas ? Donc, non, nous pouvons tester celui-ci sur, assurez-vous que notre suppression fonctionne. Donc je vais juste aller aux pieds, allez-y et allez consacrer plus. D' accord, donc où ils ont libéré les auteurs étaient déjà à moi, et je vais cliquer. Supprime. D' accord. Donc, je ne veux pas supprimer l'anarchie. C' est la mauvaise personne. Alors j'ai cliqué. Supprimer, et je vois que je ne suis pas les mauvais enregistrements. Seulement revenir à la liste sur qui je veux supprimer est vraiment juste un bantam. Parce que j'ai deux dossiers. Je vais en supprimer un de la droite Andi. D' accord, Jyoti. Biographie du nom de famille. Rien. Pas de livres. C' est bon. Laissez-moi cliquer sur l'auteur principal sur Boom. Nous sommes de retour au discours d'index avec un de moins juste une courbure sur l'enregistrement. Donc ou supprimer des œuvres comme ça, nous avons terminé nos opérations de route et je dis route et pas foule parce que, eh bien, je n'ai aucun moyen de créer un nouvel auteur. Donc c'est une autre chose que nous devons mettre en œuvre, non ? Donc généralement de l'expédient ont l'abondance est créer. Également sur. On y travaillera dans notre prochaine vidéo. 48. Configurer un auteur: vous les gars, bienvenue dans cette vidéo, nous allons aborder la fonctionnalité de création pour les auteurs. Donc, pour commencer cette opération, la première chose que je juge nécessaire serait un bouton qui me permet orteil naviguer leur droite. Donc nous avons fait les boutons pour tous les autres dans la section I. Donc, si le modèle est égal à savoir, alors rien ne se passe. Droit ? Mais après, quand quelque chose se passe, Seigneur, je voulais charger avec le bouton, quelqu'un pour voir Angkor. Ensuite, il riff. Et puis ce voyage va être un peu plus simple que les autres. Où il slash auteurs auteurs slash Donc auteurs slash Crète. Droit ? Donc je n'ai pas besoin de nous appartement parce que je vais créer quelque chose de nouveau. Ensuite, nous donnons tout sur les factures et les sifflets que bootstrap nous donne un bt nbt et un tiret. Le jour, je rencontrerais celui-ci primaire. Très bien, alors, le Texas va être créer un nouvel auteur et puis je vais lui donner une petite icône sur l' icône de choix est un signe plus. Droit ? On a donc un bouton en haut. Ça va dire créer. Tu sais aussi pendant que je suis là. Une autre chose qui me arrive est que cela s'affiche alors que ce n'est pas si elles si l'auteur, eh bien, ce n'est pas pendant que le a P j'appelle est fait. Non, après que le FBI ait appelé, alors le modèle ne sait plus qu'il l'est, mais il pourrait avoir un compte désactivé. Zéro. Alors que se passe-t-il quand c'est la première fois que l'application se charge correctement ? Les bases de données du FBI vidant la table des auteurs sur DSO ? Cette page essaie de charger la liste, mais alors il ne sait pas, mais le zéro actuel. Donc, nous avons vu quelque chose qui est dans la vue où nous avons vérifié pour non ou les êtres de maïs étant moins d'un droit. Donc, dans cette situation, nous avons dit, Eh bien, si ce n'est pas, ils peuvent afficher que pour le courant plus facile que vous affichez ce qui était d'éviter l'arabe. Mais la réalité est que les cônes sont revenus un zéro ou moins d'un. Et c'est pourquoi nous voyons cela de façon cohérente avec l'océan. Un Arabe. Non, le point de ce monologue était quand le modèle n'est plus connu. Mais le compte est inférieur à zéro. Voulons-nous vraiment afficher cette table sans rien ? Droit. Donc nous allons juste afficher une table avec les en-têtes et ensuite nous connaîtrons corps. Donc, ce que je vais faire ici est de mettre une autre déclaration if à l'intérieur. Donc, je ne mets pas le créer nouvel auteur dans la déclaration parce que si il n'y a pas d'auteurs et je veux, mais invisible pour voir créer vous aussi. Mais ensuite, je veux le dire au monde. Alors je vais prendre ça. Il suffit de le couper. Je vais mettre une autre déclaration si ici. Je veux dire si le modèle pointe à droite, puis rappelez-vous, modèle est censé être une collection donc modélisée hors compte est inférieur à un. Droit ? Ensuite, on peut afficher autre chose, et ensuite je vais mettre ma table en sécurité. C' est plus grand que ou si ce n'est pas moins d'un, alors très bien, accord. Mais alors, si c'est moins d'un, alors je peux mettre peut-être un message de chargement. Bon, côté, côté, comme vous réutilisez mon composant sur Au lieu de cela, le message va dire qu'il n'y a pas d'auteurs dans les magasins de données, s'il vous plaît. Ou est-ce que le magasin s'il vous plaît créer l'auteur pour commencer à droite ? Donc je peux juste mettre ceci entre guillemets ou n'a pas été la compagnie n'a pas chanté. Essayez des guillemets simples pour que la personne ait l'idée qu'elle doit cliquer. Crée un nouvel auteur pour commencer. Droit ? Donc c'est juste un peu de médiation sur la manipulation Tenez que les interférences ont l'air droit. Donc, à ce stade, si c'est le premier Seigneur, si vous allez dans la base de données et supprimez tous les auteurs, euh, alors ce message devrait apparaître parce que l'auteur compte sur le maïs modèle pour être inférieur à un droit ? Donc ce n'est plus non, mais pas moins d'un. Donc c'est bio standard. C' est toujours non, mais je suis sûr que vous pouvez l'apprécier. Il ne traite pas différemment de quand il peut récupérer un cône et voir qu'un CoNed est inférieur à un. D' accord. Non. Commençons avec notre nouveau composant pour créer. Alors laissez-moi entrer dans les auteurs, clic droit. Ajouter un nouvel article venu nouveau, qui va être un nouveau soucis, un composant appelé crée sur. Alors je vais vraiment copier et coller la cour. Ah, beaucoup de choses ici encore pour que je puisse aller à mon montage sur Die peut probablement emprunter tout ça. Donc, tout sur la page d'édition. Je n'ai pas besoin du périmètre, alors copiez çapour commencer. Je n'ai pas besoin du périmètre, alors copiez ça Laisse-moi. J' ai aussi besoin de tous les énoncés d'utilisation que j'ai négligés sous moi Retournez, obtenez mon utilisation sur le chemin de la plage et tout. D' accord. Et puis le pH ici est créé sans paramètre. Tous les droits créent plus de paramètres. J' ai assez de manager pour Mary tirer. Et puis je suis allé voir créer un nouvel auteur comme le top de frappe. Tout droit, j'ai les yeux ratés. Donc je vais garder ce champ est à ce moment-là. J' ai un modèle, donc je n'ai pas besoin de vérifier si le modèle n'a pas de droits. Je ne le fais vraiment pas, parce que je charge un formulaire vierge quelqu'un pour supprimer cette déclaration entière. Ici. Andi, laisse-moi m'assurer que j'ai tué l'accolade, donc je veux vraiment me former sur l'Aargh. Aargh ! Cette section a échoué. Laisse-moi juste passer en revue cette ville. Donc vraiment, en fait, tout ce que j'avais besoin de l'édition, je n'avais pas besoin des instructions. J' ai juste besoin du formulaire d'édition qui va acheter dans un modèle sur celui-ci pour avoir toujours la soumission invalide. Et puis à la place, hors éditer auteur crée sans relâche auteur. Nous avons les mêmes sentiments parce qu'à la fin de la journée, la création va besoin de nous mettre en prénom, nom et biographie minimum, nous pouvons voir créer offense que tous soumettre des changements. Très bien, il était sur le point de faire la liste. C' est bien, alors. Je crois que le tribunal bloqué par des accidents est le tribunal des signes. Et puis nous commençons à écrire le code dont nous avons besoin. Donc la première chose que je vais déclarer est quelque chose pour le modèle. Droit ? J' ai donc mes objets privés hors modèle de type auteur, et puis toutes ces lignes rouges sur le modèle disparaîtront. Andi, j'ai un terrain aussi. Bon, donc c'est initialisé. orteil tombe initialement. Et puis nous devons nous assurer que nous avons les deux fonctions sous la forme de create author et battle ist sur Die. J' ai juste enlevé la liberté, en remettant dans la cour pour remonter les orteils. Auteur. Nous avons donc tout ce qu'il faut pour ce discours. Prenez Andi Donc des centaines d'erreurs d'orthographe stupides. Partout dans l'endroit. Donc la prochaine chose que nous devons savoir, c'est la poignée. Que se passe-t-il sur une soumission valide off ? Créer l'auteur, n'est-ce pas ? Donc, quand je descends pour créer aussi que dois-je arriver ? Je dois vérifier. Je vois que var est le succès. C' est égal à l'éloigner. Un appel à mon rapport à partir de points shun create alors, ce que nous créons nécessite les docks des points de terminaison. Auteurs en point virgule et objet auteur dans le formulaire hors modèle parce que réel, finalement ce qui se passe est que lorsque vous créez le formulaire, votre liaison, la valeur toe le champ dans le modèle. Donc, une fois que vous sentez cette vieille, vous cliquez sur soumet parce que le modèle aurait automatiquement les données Une fois qu'il arrive jusqu'ici, nous savons qu'il est validé par les normes de validation renforcées par notre validation, et c'est des annotations sur. Alors si ce succès est bon, , je viens de réaliser que je n'ai vraiment pas besoin d'avoir du succès sur East Field. Donc ce que je peux faire, c'est que je vais le faire. Non, parce que, tu sais, parfois tu fais quelque chose, et pourtant ça s'ouvre juste devant toi pour que son succès soit vrai au départ, non ? Onda haut. Je vais voir si ce n'est pas un succès. Donc, au lieu d'avoir deux variables qui font vraiment la même chose parce qu'ils tous les deux milliards sur leurs deux articulés sur si l'appel est réussi ou non, n' est-ce pas  ? Donc, je dis, si ce n'est pas le succès, alors montrez le message d'erreur, ce qui signifie que parce que c'est vrai lorsque la page charge ce message d'erreur ne montrera pas non . Alors je dirai que son succès est fondamentalement, euh, va être égal à l'eau à condition qu'il revienne de l'appel de repo. Bon, alors je peux voir si le succès signifie que ça reste Truell. Je me souviens que nous vérifions si cela signifie par notre Quand nous vérifions ça, la seule façon que ce ne serait pas vrai. Dieu commence par nous. Vrai alors il va rester vrai si cela a été réussi, alors nous pouvons rappeler à la liste. On n'a jamais redonné à la liste, ce qui va alors juste retirer tous les auteurs du FBI ou par le droit d'une p. Mais alors, si ça change bien, alors ça ne sera pas viré sur Dwell. Cela serait viré ou cet état ou changer. Ensuite, nous finissons avec ce message fléché. D' accord, alors, disons celui-là pour un tour. Alors, allons commencer. Bon, donc nous sommes de retour à notre vue et nous voyons votre bouton sur Dwell. On réparera les Little Kings à propos de l'espacement et ainsi de suite plus tard. Mais ce qui est important, c'est que lorsque nous cliquons sur notre bouton, nous naviguons vers notre nouvelle page et ensuite je vais aller de l'avant et mettre un nouvel auteur, accord ? Et puis je vais de l'avant et je clique sur le bouton. Ce qui me ramène à ma première page et je vois mes nouveaux ajouts. Donc la création fonctionne, accord, donc la seule façon ne fonctionnerait pas est si peut-être le a p que je ne courais pas ou il y avait un peu air de dépenser en cours de route ou un problème de permissions. N' oubliez pas que l'administrateur doit pouvoir cliquer sur ce lien et être en mesure de faire n'importe quoi. Donc, Makesem, nous allons nous concentrer sur quelques correctifs essentiels. Certains hors des charges. Hum, vous savez, rois ici et là vont aussi mettre des autorisations sur les liens pour s'assurer qu'ils ne montrent pas ou ne rejettent pas activement les personnes non autorisées d'y accéder . 49. Fixations et ajouts essentiels: Hé, les gars, bienvenue dans cette vidéo. Nous allons juste parcourir nos pages et faire quelque chose que je considère essentiel corrige une minute d'idées différentes de moi, et c'est bon. Mais je veux juste nettoyer un peu l'interface, et je vais commencer avec mes composants personnalisés. Donc, dans la bataille de chaleur avec probablement pris des décisions que, eh bien, eh bien, je veux dire certaines décisions que je suis sur le point de changer, commençant par mon composant de message de chargement. Non, je ne veux pas sur chaque trois tuck et je veux probablement un remorqueur H 5. Je veux que ce soit une info d'alerte et pas secondaire, non ? Donc, ce n'est pas aussi agressif dans sa présentation. C' est donc le message de seigneurie. Je vais répéter quelque chose. Répétez beaucoup de ça. Je veux que l'alerte soit aussi une ville pour alerte, hum, hum, pour les alertes d'époque, d'autres dangereux, instables une fois contre les cinq et pas un H trois. J' en ai fini avec ces deux modifications en cours à mes justaucorps principaux. Très bien, donc dans partagé, vous pouvez aller à moi et Leo sur ce que je vais faire dans ce fichier particulier est de mettre le contenu à l'intérieur d'une carte. D' accord, donc j'ai un peu d'ajustement pour remplacer toute la section à l'intérieur du Dave principal par la carte, euh, donnez des informations venant de Bootstrap. Je pense que j'ai un trop de profondeurs ici ou une fois en sewa. Bon, on y va. Donc ce que je fais ici, c'est que je vois à l'intérieur du contenu. C' est ça le problème. À l'intérieur de l'air contenu que nous avons rendu juste corps sous 60 millions de station. Je vais mettre un corps à l'intérieur d'une carte. Dips aurait fait la carte si vous vous inscrivez et connectez-vous. C' est pourquoi je les ai ouverts aussi. Donc ici je dis que je veux une voiture que je veux un corps de carte pour avoir le corps dedans. Bon, donc c'est ce que je fais là. Donc, pour vous inscrire où nous créions la carte, je ne vais plus utiliser la carte ici sur je ne donne plus cela. Eh bien, je peux laisser ça avec le titre de voiture, euh, la classe de titre de voiture. Donc, je ne mets plus la carte seulement dans le registre, mais aucune page ne le fera. Ecoute, on aura cette petite frontière. Comme ce que la connexion et le registre p avaient juste à savoir. C' est vrai ? Donc c'est le registre. Je vais faire la même chose pour Le Guin. Prends toute la carte, Diego qui donne. Et je suis juste pour que je mette juste en évidence et en utilisant le changement de vitesse et l'orteil de baignoire, tirez-le vers la gauche. D' accord. Et puis je peux standard comme mes messages d'erreur ici. Dis, tu vois, j'utilise ceux qu'on a écrit en premier que quelque chose s'est mal passé. Quelque chose a mal tourné. Au lieu de cela, je vais juste utiliser mes composants de message fléché pour que je puisse juste changer ici. Message fléché activé. qui est cool, que je veux changer. L' ouverture changera aussi les vêtements, et je peux juste enlever ça, alors je vais le faire. Oh, désolé. Et puis un message. Correct. Nous devons passer ça comme un message. Alors tu es si proche ? Bon, donc il y a un message sur n'a pas besoin de cette partie de clôture. C' est un appel de fermeture automatique. D' accord, ça a l'air mieux. Il y a un message ? Et puis nous passons le message que j'allais copier ceci pour ne pas avoir à massacrer celui en journalisant autant. Andi, je viens de voir avec la tentative de journalisation et puis supprime celui-ci. Très bien, donc c'est tout pour les charges principales sur le registre et la journalisation pour que je puisse fermer ces fenêtres. D' accord, donc je divulgue ce que je n'ai pas besoin et puis à l'intérieur de l'idiot auteur. Je vais juste ajouter la classe qui dit titre de la carte. Donc c'est nous savons à tous les points où nous sommes et il regarde vers le haut. C' est plus organique. Je pourrais tenir dans le droit juste à la chute actuelle dans la dépense des erreurs d'orthographe du message de chargement . Le message d'erreur. Je ne pense pas avoir besoin d'apporter d'autres changements esthétiques ici. Mais n'oubliez pas que nos modifications, supprimer et créer des pages sont réservées à notre, hum, hum, pour notre J'ai été dans les vêtements de rue droit, ce qui signifie que je ne veux pas qu'un client orteil navigue directement à tout hors de ceux-ci. Il y a donc deux choses. Un que je vais cacher dans le menu. C' est là que j'arrive à l'index. Je vais cacher ces boutons dans le menu, mais je veux aussi dire à la page que seule cette règle particulière est autorisée orteil même. Regarde le lit. Donc, même s'ils y naviguent manuellement en appuyant sur l'URL, cette vitesse devrait toujours les rejette leurs tentatives pour aller plus loin parce qu'ils n' appartiennent pas . Bon, donc ce que je vais écrire ici, c'est sur les attributs. C' est vrai, une autre page que nous voyons à San attributs sur. Ensuite, j'ajoute un attribut annulé la res. D' accord, alors rappelez-vous le même attribut d'autorisation que nous avons construit dans le P I. Il est applicable ici directement à l'intérieur de la composante hors réserve, non ? Donc, je peux dire que les règles sont égales. Et puis je peux dire ajouter visite du ministère. D' accord. Donc, même si le a p je rejette les tentatives comme nous l'avons vu avant orteil créer notre éditeur ou faire tout ce que les clients et censés faire, même si l'AP le rejette, nous pouvons construire nos clients toe également adhérer à ces règles . Donc ça nous épargne les AA j' appelle bien, parce que chaque fois que vous utilisez peut-être un service qu'il coûte pour appeler le FBI. Donc, vous voulez laisser le client minimiser ceux une paire parce que autant que possible, donc dans la suppression nous faisons la même chose sur je vais également mettre cet orteil ont la carte. Désolé. Carte classique Waas titre Dash. Très bien, donc supprimons je ne pense pas avoir besoin de changer quoi que ce soit d'autre ici Andan crée. Nous faisons la même chose lorsque nous ajoutons cet attribut pour les administrateurs uniquement. Laissez le que le titre ont le titre de tiret de carte. Et si vous sentez que vous savez, une petite fusée que vous pouvez probablement mettre sur chacun sont des règles horizontales en dessous de cela afin que vous obtenez , genre, une petite ligne à montrer. Bon, donc je vais mettre un remorqueur. Tu sais, je réfléchis beaucoup. Je ne sais pas à quoi ça va ressembler. Je fais juste ces choses. Ils peuvent me suivre si tu veux. Vous n'avez pas à le faire, mais je mets juste comme un espace entre le titre et puis aligner et dans un autre espace avant le prochain bit hors contenu. Tout n'a pas l'air aussi proche que nous l'avons vu. Et puis dans l'augmentation de l'index ou je vais faire la même chose dans ces lignes, mettre dans la classe, mais dans l'index, tout le monde devrait avoir accès. Je suis déjà en train d'autoriser l'accès au discours de l'index à travers les applications internes. Je n'ai pas besoin de faire un modèle spécial d'autorisation en plus de cela à nouveau. C' est vrai ? Donc, je vais juste d'une manière différente malade et vous autoriser à voir que nous avons la vue d'autorisation qui sont sur le point de regarder si bien, nous sommes en non-autorisation quand Index, non, sur ce que nous allons faire est mis en place que seulement l'administrateur peut voir ce bouton. Bon, donc si je veux que seuls les administrateurs voient ce bouton, on ne dit pas aux administrateurs seuls de voir. L' esprit voudra limiter la visibilité de ce bouton afin que je puisse dire autoriser la vue. Donc, nous allons voir un auteur comme vous d'un exemple précédent. Avec le menu, nous pouvons voir les règles est égal à ajouter ministère ter. Très bien, quel que soit le problème qu'Emily a mis à l'intérieur de cette vue autorisée, Todd n'apparaîtra que lorsque l'attribut des règles sera satisfait. Et donc nous pouvons le faire pour nos boutons aussi. Donc, nous avons le bouton de vue le bouton d'édition et ou supprimer des points. Je veux seulement que les administrateurs soient en mesure de voir ces boutons, comprendre le cuit sur, puis voir, autoriser les règles de carburant égale ajouter visite du ministère sur puis à l'intérieur de cette section de vue autorisée . Je vais juste dire que ce sont deux boutons. Bon, alors jetons un coup d'oeil à ce qu'on obtient quand on se connecte sous. Les deux utilisateurs différents le sont. Donc j'aime ici comme Delia sur aller sur les auteurs orteils. Et puis je vois ici si bien, je vois cette frontière. Je vois mon discours d'index un peu de lumière du jour. Eh bien, peut-être que je peux enlever ça d'abord, être notre parce que les chiens dans l'âge ont un peu de mal à mettre, donc c'est bon. Nous avons cette ligne et alors je ne vois que les options qui sont applicables à un client qui sont à voir. Et puis si je clique sur la vue, il va dans Ok, je reviens la liste, mais je ne peux rien faire d'autre parce que je ne suis qu'un client. Donc, nous pouvons faire appliquer les autorisations du côté U I. Donc... Ensuite, vous voyez ça en ajoutant la voiture à la disposition de moi. Toute autre pièce que je vais aller sur va aussi avoir cette sorte de carte regarder et sentir à elle. D' accord. Il y a une chose. Je vais modifier ici quand il s'agit de mes auteurs, et c'est du côté A P I. Donc Randall dit pas de livres pour cet auteur, mais je suis douloureux. Il y a au moins un livre. 50. Correction du livre d'auteur JSON: Hé, les gars, bienvenue dans cette vidéo. Nous allons résoudre le problème où les auteurs ne voient pas les livres. Quand on regarde l'auteur, on ne voit pas le livre. Donc la vraie raison est que nous avons besoin d'orteils. Ajoutez cette ligne hors orteil du court sur Repository. Où on voit inclure les livres, est-ce pas ? Donc, les auteurs d'un auteur ont une liste de livres, donc nous voyons quand vous récupérez les auteurs pour traiter la liste des livres attachés à eux sont inclus dans les données. C' est ce que cette ligne voit vraiment. Donc, nous ajoutons cela à la recherche tout sur. Puis à un réfracteur, la cour un peu plus devant par idée où j'ai ajouté la même ligne. Mais j'ai changé de trouver par notre trouver un A pense que je pense que c'était orteil d'abord notre chant par défaut, et ensuite nous utilisons une expression lambda pour comparer le i. D dans l'enregistrement de l'auteur à l'idée que nous recherchons. Donc c'est le même effet juste à la cour différente alors la prochaine chose que nous devons faire est inclure de vous obtenir une bibliothèque appelée SB net core dot NBC dot Newton doux Jason. Donc il y en a un ici. Personne ne me Jason sur. Je veux dire, ça marche, mais parce que nous avons été intronisés core 3.1, nous voulons celui qui est spécialement conçu pour le droit, donc nous allons obtenir ça. Ne le chargez pas dans notre projet. Alors notre prochaine action aura. Passons à notre début de cette série où nous allons ajouter les contrôleurs de la loi une option spéciale de courtoisie hors de la bibliothèque. On installe juste quelqu'un pour dire « Docked Odd nouveau tourne doux J fils. D' accord, on va s'ouvrir. Certaines options vont dire que Opie pour les graphiques sont abrégés. Andi, je vais juste rompre la ligne. Quelqu' un à dire, Opie, laisse-moi fermer l'accolade avant que j'oublie. Alors Opie ou options amarrées ? Je veux sérialiser ou m'asseoir des céréales. séances d'Isar ont amarré nos amis. Et puis, si vous regardez, vous voyez la gestion de la boucle de référence supprimée. Le livre le plus de référence. Donc, un livre de référence signifie que chaque entité se connaît l'une de l'autre. C' est un problème, non ? Donc la gestion de la boucle de référence est égale à Newtown Soft points J fils sur. Laissez-moi juste briser la ligne ici à nouveau pour ne pas aller trop loin de l'écran. Newton est hors de la gestion du groupe de référence de points Jason. Bon, donc nous disons au contrôleur O. R um qu'on veut que l'orteil laisse Newton s'occuper du référencement de la boucle, et je vais dire qu'Ignorer certains voir supplanter l'attention que tu porterais dans ton attention. Vous payez le problème sur cette poignée douce Newton et personne Soft ne va juste voir . Ignorez cette référence. Bon, alors essayons de commencer notre projet. Bon, alors allons-y encore. Donc à l'intérieur pour l'application, non ? Nous allions dire des auteurs, et ensuite nous faisons ressortir la liste des auteurs. Cela peut prendre un peu plus de temps parce que non, il y a une jambe supplémentaire, y compris les livres. Mais une fois que tu as vu cette liste, c'est bien, parce que je l'ai déjà fait. Je n'ajoute pas tout le truc de référence Jason, donc si vous venez de l'ajouter dans le repos terriblement dans le jus doux de Newton en ignorant la partie, alors cela ne bougerait jamais plus vite le message de chargement directement sur. Puis, quand je le regarde comme un Evans, je sais qu'elle a un livre, et on y va. C' est donc le titre du livre. Le livre n'a pas de prix, donc les données peuvent ne pas être un écran, mais le fait est que cela ne signifie plus qu'il n'y a pas de livres. Donc cet auteur, nous obtenons par l'auteur sur Nous sommes en train de voir les livres ici pour ledit auteur, Donc nous pouvons d'abord assurer que c'est bien. D' accord, , c'est tout pour cette activité. Ensuite, nous examinerons toutes les modifications apportées et vérifierons nos modifications. 51. Révision et ajouter des modifications à GitHub: Hé, les gars, bienvenue dans cette vidéo juste pour passer en revue certains des changements que nous avons faits dans cette section sur diff il y a d'autres magnitudes que nous avons besoin de nous faire examiner, puis vous venez de les rencontrer. Donc, je vais commencer par le mot que nous avons fait dans le référentiel basé ou le fait que nous avons créé le référentiel eye author pour hériter du référentiel basé une fois de plus. Le raisonnement en est le fait que les opérations actuelles passeront toujours à travers les bêtes. Et la plupart de ce que nous faisons avec les fonctions de l'auteur, du référentiel ou de l'auteur serait grossier. Donc juste l'avoir implémente l'affiche Baster que nous despotes dans la classe auteur sur. Ensuite, il prendra des mesures contre la classe auteur au point pertinent, comme nous l'avons spécifié, non  ? Donc, dans le dépôt basé, j'ai également modifié. Donc, c'est l'interface ou le contrat ont également été modifiés, um toe inclure le droit de stockage local, afin que nous puissions récupérer de l'histoire locale à supporter parler et inclus dans le frappeur d'autorisation pour chaque demande, parce que nous devons alors nous assurer que la personne est autorisée à transporter toutes les options. Vous voudrez peut-être les envelopper dans des prises de piste, n'est-ce pas ? Alors quoi ? Qu' est-ce qui pourrait arriver parfois que sur la base de la façon dont l'application, ceux qui l'ont vu de Seigneur et l'authentification l'accès hors du stockage local peuvent essayer de se produire avant que d'autres choses ne soient en place afin que vous puissiez perturber ces complexe est de minimiser en quelque sorte l'écrasement qui pourrait se produire dans votre application. Donc, nous sommes allés de l'avant et l'avons fait avec toutes les demandes, juste obtenir le jeton porteur et l'inclure dans l'en-tête des clients. Nous sommes également allés de l'avant et avons modifié notre auteur. Eh bien, nous avons créé des pages d'auteur, donc nous avons créé une nouvelle photo sur nous avons mis dans les composants et nous avons examiné la différence entre chaque composant et ce que nous pouvons faire si les instructions nous aident à donner encore des problèmes visibles à les utilisateurs à ce qui se passe, comment nous pouvons créer des composants personnalisés. Donc je n'ai pas l'orteil de continuer à réécrire la même cour, mais vous savez, message d'erreur contre message de chargement sur ce genre de choses. Nous avons examiné toutes les limites de fin de semaine, personnes autorisées ou les personnes authentifiées en fonction de leurs autorisations. Donc, nous avons commencé avec notre menu sont, eh bien, pas bien, nous l'avons fait avec le menu déjà, mais nous l'avons fait plus dans le discours d'index où nous avons dit que seuls les administrateurs seront en mesure de voir la création sur. Seuls les administrateurs pourront modifier notre vue, les options d'édition et de suppression. Donc, nous avons également examiné tout le week-end en fait cette autorisation à la page en ajoutant ces attributs pour spécifier quelle règle peut faire quoi. Donc, nous avons fait un peu. Je sais qu'on va bien vérifier avant de passer à autre chose. Une chose très importante que nous avons fait était d'inclure dans la startup du FBI qu'il devrait ignorer les références circulaires, les références d'art ou de boucle sur DSO. Si vous faites un projet plus grand avec plus de relations qu'un simple auteur et un livre comme je le fais ici, alors cela sera utile lorsque vous essayez d'obtenir ces charges utiles avec l'auteur et la liste des livres sont ou l'un avec la liste hors de l'entité ou des entités associées. Donc, cela ira ah loin dans la résolution de beaucoup de problèmes dans les applications plus grandes. Alors allons de l'avant et vérifions tous nos changements. J' ai distrait la solution. Va t'engager, Andi. J' ai mis dans mon message, ajouté des opérations brutes de l'auteur et corrigé quelques problèmes A p I. Je vais de l'avant et engage tout Onda évier. 52. Configuration Créer un livre - Partie 1: Hé, les gars, bienvenue dans cette liste, nous allons mettre en place ou créer des fonctionnalités pour nos livres sur ce qui va à je faisais pas mal d'activités, donc juste rester autour et amusez-vous avec moi. Donc nous allons commencer par aller dans le dossier des livres qui va aux pieds. Ajouter sur. Creating Over Newer est un composant qui va être plus crée Et quand le composant est créé, nous avons tous équipé avec son chemin en haut l'attribut d'autorisation Et nous n'autorisons que les administrateurs sur nous injectons le dépôt de livres en tant que ainsi que l' auteur Repository a également fait un taxi de rue créer un livre Non ou créer ancien goingto avoir ah, nouveau Todd. Eh bien, ce n'est pas nouveau. Nous l'avons fait avant, mais le temps est éditer formulaire, qui est un blazer italien spécialisé sur. Nous allons lui faire savoir que le modèle qu'il devrait être attention orteil est modèle sur puis sur soumettre valide Nous voulions gérer l'opération de création. Très bien, donc évidemment, nous n'avons pas encore de modèle, donc je dois déclarer un objet modèle à l'intérieur du cordon, et je suis allé voir un modèle de livre privé est égal à nouveau livre. Bon, maintenant, maintenant, il y a un certain nombre de choses que nous devons accomplir. Et je fais de mon mieux pour ne pas, vous savez, être partout et le suivre de manière structurée. Je vais donc commencer à remplir les champs du formulaire. Très bien, donc les 2 premières choses que nous avons dans notre formulaire sont notre validateur d'annotations de données sur notre résumé de validation. Très bien, donc c'est juste pour que nous ayons aussi besoin d'ajouter des annotations à notre modèle de livre. Mais une fois de plus, il y a juste mal eux un par un. Donc, je veux sur la section d'entrée pour le titre du livre. Très bien, alors en utilisant Bootstrap Smith bizarre pour la forme, je vais juste dire laisser la classe sous forme de groupe néerlandais sur. Ensuite, j'ai l'étiquette pour l'idée ou pour n'importe quelle propriété. L' élément désolé a le titre i d sur. Ensuite, nous avons notre texte sur. Ensuite, les techs d'entrée étaient contraignants. Cette valeur pour modéliser le titre sombre sur le parcours pour lui donner le contrôle de formulaire sur le titre I D hors titre sont la prochaine impression que nous allons nous préparer est l'ISBN. Donc, c'est fondamentalement la même chose, sauf que nous changeons toute l'étiquette pour le texte sur la liaison. Donc c'est la section pour le I s bien. Nous voulons également faciliter l'entrée d'un prix afin que tout soit le même. Sauf que l'entrée n'est pas un numéro d'entrée. Très bien, donc le prix n'est pas une chaîne, c'est une valeur numérique. Donc, nous devons utiliser le numéro d'entrée parce que nous allons obtenir une forme hors de l'ère. En fait fait fait que cette erreur commence déjà juste pointer. Vous avez dit que quand il est numérique, vous avez le numéro d'entrée spécifiquement pour cette raison ? Non, le prochain que je voudrais entrer serait l'auteur. D' accord, donc je veux indiquer qui est l'auteur de ce livre sur eux. Pour moi, un contrôle approprié pour cela serait une liste déroulante. Maintenant, voici notre premier genre excitable, hors de l'opération normale. Donc, pour obtenir une liste déroulante dans Blazer bien, pour obtenir une liste déroulante des auteurs, cela signifie que nous allons devoir chercher la liste des auteurs de l'auteur N p r a p i n point. C' est pourquoi, au cas où vous vous demandiez pourquoi j'ai eu ça injecté. C' est pour ça que je l'ai injecté. Donc je vais avoir un orteil dans le cordon, appeler l'auteur. Donc ce que je vais faire au tribunal, vous le dites. J' ai déjà mis en place le groupe de formulaires et l'étiquette. Donc je vais laisser ça donc. Non, mais je vais sortir de la cour. Donc, je suis allé orteil ont protégé sur puis remplacer une tâche de lavabo sur initialisé le lavabo puis cette fonction sur. Nous savons tous que c'est ce que Lourdes Quand les Seigneurs des Composants, ça va se faire virer à l'intérieur de ça, nous devons remplir quelques barils. J' ai besoin d'une variable qui va avoir la liste hors. Auteur. Donc je vais juste dire privé. Ah, j'ai loué l'auteur type, auteur modèle bur droit ? Et puis le nom de ceci est des auteurs, est-ce pas ? Donc, cela ne va pas avoir de valeur au départ, Mais puis sur l'initialisation, off ou forme, je vais voir que je veux que les auteurs soient égaux orteils et ensuite nous attendons le résultat de notre rapport d' auteur qui les obtiennent à vous voir. Même si j'ai affaire à des livres. Je peux appeler n'importe quel dépôt que je veux au moment où j'en ai besoin. Récupérez les données. Alors. Une fois que j'ai des auteurs, je ne peux pas utiliser. Ce sont les filets, A liste déroulante auteurs. Bon, donc j'ai besoin de construire cette liste déroulante. Donc, si vous êtes juste une autre forme de NBC qui serait en fait juste à peu près contrôle ou une autre utilisation hors qui peut interroger Voir, ils auraient un contrôle. On n'a pas de contrôle, du moins peut-être pas encore. Alors, on va travailler avec quoi ? Nous avons quelqu'un pour simplement créer une liste de sélection. D' accord, on. Ensuite, je vais dire que je veux lier la valeur de cette liste de sélection orteil attribué auteur ancrée I Li. Donc, cela signifie que tout auteur qui est sélectionné dans cette liste déroulante, je suis en train de suivre cette valeur . Comment dans le premier soumis ? C' est la valeur que j'ai l'intention d'utiliser pour soumettre un peu de facilité. D' accord, Et puis d'autres attributs pour les insomnies seraient le fait que c'est un contrôle de formulaire sur l' idée est bureau A C ou copiez-le et collez-le pour moi. Donc étiqueter quatre Auteur sur les idées. Auteur. Il y avait des gens. D' accord ? Ça ne t'a probablement pas attrapé. Donc, c'est bien. Non, je veux avoir la première option étant le sélecteur générique ou les observations hors du signe at . Très bien, donc le 1er 1 va être l'option générique pour dire, Il suffit de sélectionner sur l'auteur Onda. Je suis tellement Oh, ça devrait être aveugle ou pas aveugle nous valeur. Je m'excuse. Donc, cela devrait être signé bind on, alors. Modèle point auteur I d droit. Donc, nous avons la première option étant un générique, Aucun auteur de sélection de valeur ne sont pas. Mais alors toutes les autres options que je veux dire si maintenant ces déclarations ont été vérifiées Si quelque chose est connu, comme nous pouvons le dire, j'espère que nous pouvons le dire, mais je sais qu'elles sont très importantes. Donc, cela devrait avoir le signe au si bien, nous vérifions si les auteurs n'est pas égal éternel, puis effectuer l'opération. Parce que si vous essayez d'effectuer l'opération alors qu'elle est nulle et que nous savons qu'il ne sera pas sur les pages initialisées sur un plan à l'AP et la réponse aussi longtemps que cela pourrait prendre, nous ne voulons pas que le composant se bloque. D' accord, donc où ils ont porté ce vieux quand il est plus connu. Donc, si Auteurs ne sait pas que pour chacun et je suis je viens d'écrire pour chacun et pressé deux fois et il a généré cela pour moi. Et je dirai auteur dans Auteurs que je veux sur les options vont en fait juste copier ceci. Donc, pour chaque auteur, je veux créer une option qui a la valeur off auteur sombre Heidi Revenant de la liste des auteurs allant de la base de données sur ce qui devrait être affiché sera le premier nom de famille Neil Onda de l'auteur . Très bien, donc ce que cela va faire est de générer une liste déroulante pour moi pour chaque auteur qui est dans la base de données lorsque cet AP que j'appelle est fait va les récupérer ici. Donc, je veux dire, si vous voulez avoir envie de mettre sur Auto Complete parce que peut-être cette liste, je veux dire, avec 100 auteurs que j'ai laissé tomber, ce n'est peut-être pas le plus pratique, mais pour non, nous allons juste travailler avec sa section suivante dans ma forme d'eau déjà créé. L' accord pour le groupe de formulaires serait pour notre téléchargement, donc j'ai juste une étiquette sur j'appelle ça la veille d'Andi. Je ne devrais pas être profilé. Désolé, j'ai été emporté. Ça devrait être une couverture de livre. Bon, donc réservez une photo, notre photo de couverture de livre, quel que soit l'endroit où vous voulez l'appeler, c'est notre étiquette. Ensuite, j'ai besoin d'une contribution spécialisée ici sur eux, que je dois passer à nouveau obtenir et obtenir un mensonge avant cela. Alors faisons-le ensemble. Donc je suis allé à de nouveaux rendez-vous et Justin vous donne pour obtenir. C' est aller à la solution, n'est-ce pas ? Cliquez sur le projet sur, puis allez à gérer pour obtenir des paquets sur. Nous cherchons le fichier d'entrée Blazer. Bon, donc le fichier d'entrée Blazer sur. Assurez-vous que vous avez l'inclusion pré vraiment coller parce que, bien, encore une fois, c'est la technologie de bord saignant, donc il y a un résultat là, mais on travaille sur. Donc, quand vous incluez la pré-version, vous obtenez celui-ci. C' est son fichier d'entrée blazer. Nous voulons juste ne pas le savoir dans notre projet. Et une fois que c'est fait, nous devons nous assurer que nous sommes coincés pour ce plat dans le projet Tore. Donc, notre première modification va être à nos hôtes côté fichier le score à l' explorateur de solution . Trouvez les hôtes sont là. Il est sur les pages du fichier hôte de partition sur, puis sous le blazer, pas de point de serveur gs. Je vais ajouter ce script où je fais référence sur le contenu de la partition slash Blazer fichier d'entrée slash point Js sur notre prochaine modification est dans nos importations, donc je trouve juste les importations rapidement. Sur là, nous allons ajouter une instruction using pour les droits de fichier d'entrée blazer. Alors sachez que nous avons ces installations ou entrées dans nos répertoires d'applications. Je divulgue tout ce dont je n'ai pas besoin. Non, je peux accéder à un composant spécialisé appelé fichier d'entrée. Donc, j'ai ouvert mon orteil et je dis le fichier d'entrée droit sur. Ensuite, je dois mettre quelque chose là-dedans pour dire inchangé sur. Ensuite, nous allons lui donner des fonctions. J' ai juste une sélection de fichiers de poignée, accord, et puis c'est un Tuck qui se ferme automatiquement. Puis à la fin. Eh bien, pour finir le formulaire, je suis juste d'ajouter un battement de bouton et primaire a une icône de crayon et cela dira, créer un livre sur. Alors j'en aurai un qui me dit de revenir à ça, qui est juste de revenir en arrière. Donc cette originalité a eu un cri impur, donc je veux dire, comme je l'ai dit, ça n'a pas vraiment d'importance. Alors, qu'est-ce que tu ferais ? Alot est défini toutes les fonctions de la, donc j'ai besoin de définir handle crée la sélection. Andi, retour à la liste. D' accord. Quelqu' un pour commencer avec le plus facile à accomplir. Et cette bataille est tellement en jeu. Orderto a utilisé une liste sauvegardée. Je vais avoir un orteil avec mon gestionnaire de navigation. Très bien, désolée. Ça devrait être ce signe. Injecter moniteur de navigation sur le score, gestionnaire de navigation. Et puis je vais m'attaquer au dysfonctionnement de la bataille d'abord. Donc, je suis juste en train de remorquer. Avoir privé éviter la liste des orteils arrière sur alors. Ça va juste appeler assez de manager Onda se qui navigue sur. Ensuite, le chemin vers lequel nous naviguons est la barre oblique des livres. Donc, il revient au discours d'index pour nos livres Semi deux-points, et c'est tout pour cette fonction. Passons maintenant à des questions plus sérieuses afin de camionner le fichier qui n'est pas soumis ou au moins sélectionné, Droit. Alors rappelez-vous, nous avons sur le déchaînement, donc nous allons en fait collecter ce fichier et le tenir temporairement. Eh bien, ce dont j'ai besoin, c'est une variable qui va réellement avoir ce fichier. Donc je vais avoir une ah privée, propriété de type I I liste de feu en entrée sur. Il va avoir le fichier de noms. D' accord , , alors. Évidemment, on va faire un P. que j'appelle. Donc je vais aussi faire mes lingots pour son succès. Mais je veux faire ça global parce que je vais l'utiliser d'une certaine manière que je ne pense pas avoir utilisé auparavant, donc nous allons juste être un peu créatif avec la cour, non ? Donc, non, je vais écrire mon téléphone montré orteil gérer les sélections de feu. Je ne suis toujours pas à l'endroit où je vais obtenir le dossier ou obtenir la soumission. Donc nous voulons gérer le feu sélectionné en premier, donc je vais avoir. Pardonnez mon orthographe atroce. Poignée de tâche de lavabo privé A. suffit de copier ceci, Ilsuffit de copier ceci, donc je pense que je vais le taper plus vite, gérer la sélection de fichier alors il va enlever le paramètre sont un périmètre hors fichier de type I dans la supercherie. Donc je copie ça, mais c'est vraiment un aria. Bon, donc ça veut dire, vous savez, si nous chargeons plusieurs ventilateurs pour être sélectionnés. Eh bien, c'est comme ça qu'ils se dépassent beaucoup. Mais puisque nous savons que nous ne voulons qu'un seul fichier même si plusieurs ou sélectionnés ou que nous facilitons plusieurs coins, nous savons que nous ne voulons qu'un seul fichier. Et donc nous allons supposer que le 1er 1 dans le potentiel Ari est le feu que nous voulons. Très bien, donc nous obtenons le premier notre défaut de la zone qui est arrivée sur. Nous stockons cela dans notre variable notre fichier de propriété que nous avons déclaré plus tôt. Ensuite, je vais dire si les fichiers ne sont pas égaux à savoir, que dois-je faire ? D' accord. Donc, si le fichier n'est pas égal à savoir et que c'est une couverture de livre, ce n'est pas Ah, livre Summer. Ce n'est pas un document. Donc je sais que je ne veux que des images, non ? Donc, je vais vouloir m'assurer que le nom du fichier est un certain Eh bien, c'est une certaine extension. Je veux juste sur Il y a plusieurs façons de vérifier les extensions, mais je vais rester simple. Une certaine distance. C' est une simple déclaration juste pour s'assurer que ce dossier notre Lisa enfin, hum oh. Conclame Jpeg PNG, Far Jeff sont et ceux-là sont bien, nous allons le limiter à Jim Pick. Donc, vous connaissez Jay Peak et B J P g ou J E P g en PNG. Ce sont les trois auxquels nous traitons. Donc je vais d'abord chercher le nom. D' accord. Tellement désolée. Ce sperme aurait dû être appelé fichiers. Remarquez juste la ligne rouge là-bas. D' accord. Oui, ça marche. Non. Donc, d'abord, je reçois le nom du jeûne soumis. Donc le nom de Vier est égal au fichier ce nom. Ensuite, je vais orteil avoir une simple instruction if pour vérifier si le point de nom contient les lettres J p g. Ou devrais-je dire la chaîne PNG ou la chaîne J. Paige. Bon, donc c'est essentiellement ce que nous vérifions là-bas. Je crois que j'ai laissé une brise. D' accord, donc une fois qu'on vérifie et si c'est le cas, alors ce que je veux faire est d'afficher cette image à l'écran, donc , non, je vais avoir une autre variable, non ? Donc, je vais avoir un autre verbal privé sur celui-ci ou propriété, et celui-ci va être des données d'image de chaîne. Vous êtes donc nous allons réellement analyser l'image en remorquage. Quoi, pour appeler dans notre flux de mémoire et l'afficher sur la fosse. Donc, c'est tout ou c'est une sorte de personnes entières accomplies affichant des aperçus des images téléchargées pour quelqu'un de déclarer, um, variable off type flux de mémoire survivent m s est l'égalité nouveau flux de membre et cela va orteil ont quelques exigences de bibliothèque. Donc, je peux mettre l'instruction using dans ce fichier ou ce composant. Donc j'ai besoin d'un système que j'ai tout pour ça. D' accord, donc je ne l'ai pas mis globalement dans toutes les importations. Tu peux, si tu veux. Comme je l'ai dit, c'est à vous de choisir. droite. Mais après avoir déclaré, rappelez-vous flux, je vais attendre le fichier que les données sur, puis les données dans le fichier. Je vais en copier deux. Donc il y a en fait une copie à un chant et nous copions les données des fichiers dans la rue de la mémoire . D' accord, donc c'est ce que fait cette ligne. Ensuite, nous avons notre ou l'autre et je veux sauver le fer il est égal à un nouveau lecteur de flux dans cette rue . Lecteurs lisant les données du fichier. Alors on va se mettre aux pieds. Donc, vous voyez qu'il y a quelques étapes pour faire cela, que j'ai besoin d'obtenir la chaîne incluse quelqu'un pour enregistrer notre image. Données de la baie 64. Bon, donc on va le convertir en base. 64 string est égal à convertir la chaîne Toe Bay 64 ancrée sur. Alors. Cela nécessite une zone de morsure, que nous avons juste, euh bien, nous avons besoin de remplir cette zone de morsure en utilisant ce qui est dans le flux de mémoire. Donc on va voir M s amarré. Ensuite, il a une fonction DesisTo ari, qui convertit cela en un tableau de morsure. D' accord , alors. Je pense que j'ai besoin d'être un peu plus bien. Oui. Je pensais que j'avais besoin d'être explicite avec la vire au lieu de six. Eh bien, voir la ficelle au lieu du feu. Mais il est encore rend une basse cordes. C' est bien sur. Alors je peux non. Donc, cela signifie que j'ai besoin d'une autre variable. J' ai donc déjà la variable. Vous avez manqué des données. Vous êtes d'autre. Je vais voir des données d'image. Vous Earl est égal à sur. Ensuite, je suis avec les chaînes spéciales de quatre mois A, le format de point de chaîne sur. Ensuite, on va passer le théâtre. Holan, image slash p et G Tout droit sur puis défini le cordon dans, qui est la base 64. Très bien, coma. Donc j'ai vraiment besoin de ficelle. Quatre mois. J' aurais pu utiliser la concaténation ou l'interpollution, mais c'est bon. Ce que je dis, c'est que je veux dépenser mon format correctement. Je construis une chaîne spéciale qui a des données cool sur l'image slash PNG, puis il voit cette base 64 alors il va fournir la valeur hors des bases avant, qui est ce que nous avons ici. Données basées sur l'image 64. Donc je pense que mettre une virgule, mettre là. D' accord. Et puis ce que tout cela va faire est temporairement Seigneur quelle que soit l'imagerie téléchargée en mémoire afin que nous puissions afficher en prévisualisation, non ? Tout cet effort pour obtenir un petit aperçu. Donc, je vais vouloir mettre la section d'aperçu quelque part près de la section de téléchargement de fichier. Donc juste là, je vais avoir sur si les déclarations qui vont vérifier si notre image plus tard, Earl, parce que c'est vide. Non, mais une fois qu'un fichier est entré, il est chargé dans des souvenirs. Quand deavoir des données quelqu'un à dire, si elle n'est pas vide, droit, Si ce n'est pas Knoller espace calme, alors je veux un remorqueur d'image qui va avoir les données de l'image. Vous êtes en tant que source. Et rappelez-vous que ce sont ces données d'image. Vous êtes juste là. D' accord, je vois que j'ai des accolades stree sont à propos de ça. Très bien, donc ce sera notre SRC sur qui rendra notre image de prévisualisation une fois le fichier téléchargé . D' accord, pour que vous puissiez ajuster le style. Je suis juste en train de l'éteindre. petite vignette de 100$. Pour que quand vous, vous savez, nous pouvons voir à ces vie Non. Une chose que je veux vérifier, cependant, est si le fichier est invité parce que je vois s'il contient ceci, alors très bien. Mais si quelqu'un télécharge un pdf, que dois-je faire exactement ? Eh bien, je veux leur donner au moins une invite bizarre de dire qu'un pdf n'est pas une charge sont Ce sont les types de fichiers invités. Je vais introduire une autre variable ici. Je vais juste le mettre sous le succès privé. Et puis j'ai Bull, son type de fichier invalide. Et je suis juste en train d'initialiser la farce parce qu'il n'y a pas de fichier à la, vous savez, quand les pages ont commencé, alors il n'y a pas d'invalidité sur le type de fichier, non ? Mais ensuite, je veux m'asseoir. Donc, ce que je veux savoir est de dire, si le fichier n'est pas égal à savoir sur, alors voyez s'il contient ceci, alors très bien. Mais alors je veux un autre ici, qui va dire autrement que le type est invalide est égal à vrai. Donc, si elle ne contient pas une de ces extensions ou n'importe quelle extension que vous jugez valide, alors c'est ce que sont les images. Mais c'est un peu mondial. Si elle ne contient pas l'image, le type bêta que vous jugez valide. Ensuite, vous allez dire que le type de valeur est vrai. Est n'est pas valide. Le type est vrai. l'autre côté, si j'ai téléchargé un type non valide sur les acclamations nocturnes du fichier, il va passer par cette vérification à nouveau parce que chaque fois il y a un changement droit sur le changement. Ça va se faire virer. Donc, si j'ouvre avec un valide cette fois, alors je veux changer. Il est invalide, donc orteil tombe à droite. Bien. Donc si j'en ai un valide, alors c'est faux. Donc, même si nous partons pour nous et avons téléchargé un valide, alors ça reste Wasif. Je télécharge une bataille en premier. Cela change le vrai et ils ont besoin du courant moi-même après. Alors, revenez à la quatrième. Et c'est vraiment ce qu'on veut. Eh bien, et j'ai dit qu'on voulait leur donner une indication visuelle comme orteil, um trou si le dossier est valide ou non. Alors je vais retourner au sixième fils. Je vais voir où c'est ? Je vais voir ici que si le volume quatre est invalide type est vrai ou si c'est le cas, alors j'affiche un message d'erreur pour dire, Veuillez supprimer le type de fichier non valide et sélectionner une nouvelle image au début de l'année. Noir. D' accord, donc on leur fait savoir et j'utilise mon composant de message fléché en passant mon message spécial là-bas. Donc, cela m'amène à faire un autre contrôle, et je pourrais continuer et encore et encore à ce sujet. Mais comprenez, pour vous assurer que tous nos chèques sont complets. Donc nous vérifions. Si le fichier n'est pas égal à savoir sur, alors nous vérifions l'état valide, non ? Et si la personne enlevait le feu ? Parce que j'ai dit que c'était invalide. Vous pouvez quitter le bloc de champ. Donc s'ils en avaient un non valide, alors ils vont voir ce message. Mais s'ils le suppriment complètement, je ne veux pas qu'ils voient le message. Donc, s'ils changent l'entrée et qu'il déclenche les événements de sélection de handle, alors je vais dire si on ne sait pas d'autre, non ? Donc, si c'est en effet non, alors eh bien, si ce n'est pas le cas, il peut être un type non valide. Donc, une fois que vous supprimez l'image tout à fait que cela change les chutes sur blazer étant si off , génial saura que ce changement sur supprimer cette invite de la section. D' accord, donc nous descendons gentiment et savons que le dernier que nous devons affronter est en cours de validité . Donc, non, j'ai besoin d'une fonction pour une soumission valide sur. Je vais mettre celui-là ici dans les sections de la cour ou privé une tâche de lavabo créer. Très bien, alors, alors, ce que nous allons faire en premier, sont ces Ce que je pense est un premier contrôle nécessaire. Il est toujours sûr que nous n'avons pas un type de fichier non valide qui fonctionne avec, parce que ce qui peut arriver, c'est que lorsque la personne sent tout le formulaire et qu'elle met sur le temps de fichier invalide , alors Eh bien, disons simplement que cela est affiché, mais ils peuvent toujours cliquer. Soumettre le. Cela ne l'arrêtera pas parce que nous n'avons pas de validation en cours contre celui-ci. Donc une fois cette soumission, si notre dossier que ce président va le télécharger, il va enregistrer ce fichier sur ce gars, et je ne veux pas ça. Donc, je vais commencer par vérifier. Si ce n'est pas le cas, est le fichier invalide cinq fois, à droite. Donc, si on n'a pas affaire à une grosse heure invitée, alors on peut continuer. Oh, je suis désolé. Cela a juste éclaté dans ma tête que si la personne avait un type de fichier valide sur, alors ils l'ont changé sur invité. Alors je ne veux pas de mes données d'image. Vous avez quelque chose. Donc, quand je suis assis, le type de fichier non valide est vrai. Je vais également définir ma chaîne enregistrée Toby égale à string dot vide. D' accord. Je ne veux rien avoir là-dedans, donc au départ, ça n'a rien sur. La seule fois où vous devriez obtenir quelque chose est quand une heure de fichier valide est téléchargée. Droit ? Oh, désolé. C' est pendant ça. Vide n'est pas une fonction. Mon dos. D' accord, donc ça a été déclenché dans ma tête. Sachez juste. Revenons donc à la tâche à accomplir, qui est l'enregistrement ou l'enregistrement. Andi par la suite télécharger ou fichier ? Non. Je vais commencer avec la partie la plus facile sur qui est de sauver le nécessaire. Donc, nous savons que pour sauver le record, nous avons besoin d'orteils obéissent à l'orteil de réussite. Tout ce qui revient de notre appel toe notre rapport qui crée notre passage dans les livres et point, créer le nouveau livre passant dans le modèle sur. Ensuite, nous allons avoir ah, votre déclaration pour dire que si nous réussissons dans notre soumission, alors nous faisons à propos de la liste. Bon, maintenant, maintenant, j'ai dit que j'allais utiliser le succès, hum, hum, pour afficher un message d'erreur. Donc, je vais au sommet dire, si ce n'est un succès. D' accord. Cela signifie donc que votre succès sera utilisé comme notre marqueur pour dire si quelque chose s'est bien passé pour voir si quelque chose a mal tourné avec l'opération. Très bien, exprimez juste un peu l'espacement. D' accord. Donc, son succès va rendre ou basé sur la valeur de son succès, nous rendons notre message. C' est pourquoi je l'ai dit à vrai initialement, parce que je ne veux pas que cela soit affiché lorsque la page se charge. Cependant, s'il change par la suite, il l'affichera. Sinon, si cela a réussi, si c'est vrai, alors nous rappelons simplement à la liste. Depuis environ deux, cela sert deux buts juste là parce que vous naviguez loin et il est également attaché orteil le bouton cliquez pour revenir à la liste. Maintenant, nous avons fait la partie facile. A mon avis, c'est la partie facile. Mais laissez-moi l'amener dans ce voyage. Donc en ce moment, même si nous avons ce fichier téléchargé et si vous l'exécutez en ce moment, vous voyez un aperçu d'image sur tout. Lorsque vous cliquez sur Soumettre. Cependant, nous ne faisons que l'envoi à la base de données pour le modèle, accord, pour un livre. Mais ensuite, nous ne servons aucune donnée pour le fichier téléchargé. Donc, vous verrez en fait sait uniformément téléchargé un fichier ici. Il y aurait des connaisseurs, en passant par le fil ici. Et c'est parce que, Oh, est-ce qu'on a besoin de faire, vous aurez un traitement pour obtenir, genre, le nom du fichier. Je vais renommer le fichier en passant. Ensuite, après tout cela, je vais d'abord télécharger le fichier, puis télécharger élimine le champ d'image dans le modèle de livre sur, puis l'envoyer à la base de données. Donc les différentes personnes orner le font dans des ordres différents. Mais c'est tout ce que je vais faire, accord ? Donc, je fais juste de l'espace pour mes opérations de fichiers, et ce que je vais faire d'abord est d'obtenir l'extension du fait que quelqu'un dise que txt viral est des points de chemin de halage égaux sur, alors, parce que notre système pas io j'ai X ont accès à ce chemin, cette extension, puis je peux passer les noms des fléchettes de fichier. Quand je vous ai dit qu'il y a plusieurs façons de vérifier les extensions, voici un moyen d'obtenir simplement l'extension afin que j'aurais pu le faire en comparant l' extension à ces valeurs. Je veux dire, celui qui travaille pour toi, c'est bon. D' accord , alors. Je vais sauver notre choix. I d est égal orteil sur. Je vais générer mes propres valeurs personnalisées. Donc je veux quelque chose d'unique qui ne se répète jamais. Donc je vais utiliser notre bien et je veux dire bien. C' est nouveau Bon, alors. Je voulais être une chaîne Andi aussi donc marchandises ont toujours des tirets. Je veux prendre tous les initiés de tiret veulent éviter qui a les caractères contigus Pas tirets entre cidres Faire une place de médecin sur Dr Place alos moi pour spécifier l'article que je veux er place ou le cartel sur à remplacer sur ce que je veux le remplacer par lequel dans ce cas est rien si littéralement va juste déposer tous les tirets et ne mettre aucune distinction er entre,à entre, droite. Alors, à la fin, hors de la journée, mes photos nouveau nom serait égal à Et j'ai juste utilisé mon signe de dolla guillemets pour aller conquérir pour rencontrer le I D ou choisir I d Votre autre Quoi ? D' accord. Donc c'est ce que c'est que c'était ton nom, non ? Alors, choisissez I D sur. Katyn peut sur l'extension ? D' accord. Alors quelle que soit l'extension, Ian, que les billets A, P et G je ne peux pas le changer en J cochon. Ça ne marche pas comme ça. Donc, quelle que soit l'extension , je vais la conserver, mais je vais le renommer pour choisir. Alors c'est ce que je vais orteils. Vous voulez télécharger des orteils comme l'image nomme un modèle. Ce droit d'image est égal nom de choix d'orteil. D' accord, donc j'ai fait un peu de travail, mais on n'est pas encore là. Nous avons toujours besoin de Toe gérer le téléchargement du fichier. Donc je vais le laisser ici pour Non, vous pouvez le tester. Owt. Hum, ce qui va arriver, c'est que vous serez en mesure de soumettre le formulaire sur. Vous verrez le nouveau Pickney, hum, allez voir hum, si vous sélectionnez un fichier pour le téléchargement, mais évidemment aucun téléchargement ne se produit. Donc, quand nous reviendrons, nous allons finir comment nous allons finir cette fonctionnalité de téléchargement 53. Configuration Créer un livre - Partie 2: Hé, les gars, bienvenue. La dernière fois que nous étions ici, nous étions assis ou créons une vue pour nos livres sur l'une des parties clés de l'extérieur. Ce fut les applaudissements de fichier d'activation pour un livre sur des images. Donc nous devons finir ça sur la première chose que nous allons faire est d'aller à notre solution. Qu' en est-il des contrats qui allaient créer une nouvelle interface ou un nouveau contrat pour un nouveau service sur celui-ci va être appelé dossier de Seigneur. Très bien, donc je fichier téléchargement, on va de l'avant et on ajoute ça. Rappelez-vous de changer l'interface sur cette interface va être la gestion de la graisse. Eh bien, il va avoir une fonction qui s'appelle Task Public Task Upload fichier, et il va avoir un paramètre dans le formulaire sur I file liste entrée quatre Fichier sur, eh bien, eh bien, un autre appartement ou pour les noms de choix. Rappelez-vous que nous avons généré le grand nom à l'intérieur sur le composant Blazer. Et donc quand on appelle un dysfonctionnement, on doit passer ce nom. Donc maintenant, nous devons implémenter cela donc nous allons aller de l'avant et créer le béton ou la classe d' implémentation sur en service, sire, sire, je clique sur la classe de téléchargement. J' ai dit applaudir, mais il aurait vraiment dû être à, mais la classe est le téléchargement de fichier sur. Ensuite, nous allons de l'avant et adopter sur le téléchargement de fichier va hériter de i téléchargement de fichier. À partir de là, nous allons introduire un nouveau type de propriété, et celui-ci s'appellera I Web host Environment. Donc, je vais juste souligner et pour court, malade et aller de l'avant et inclure cela et inclure tous les binaires manquants sur, alors c'est nos nouvelles dépendances. Bien sûr, nous devons au constructeur final sur initialisé en conséquence, après avoir fait ce week-end, aller de l'avant et implémenter la fonction. Eh bien, tu peux le faire. Je le fais. Je ne l'ai pas déjà fait. Si vous avez filé pour le faire, alors vous êtes bon de continuer ce que nous allons faire et j'aime corrompre des opérations complexes dans les prises commerciales. Et puis on écrira quelques lignes hors cour. En fait, quelques lignes hors cour, quelques lignes hors cour, nous avons l'air assez similaire orteil ce que nous avons dû faire quand nous voulions le télécharger dans le flux de mémoire . Donc c'est là qu'on commence. Donc, nos 2 premiers niveaux Lanza déclarant un objet de flux membre sur Ben, euh, copiant cet orteil, la copie, les données déposées dans le flux de mémoire. Et je dois rencontrer ça un évier. Bon, donc les 2 premières lignes, on les voit avant même que je réutilise la même variable. Donc ça ne semble pas si farfelu que je vais construire mon chemin. Donc, le chemin où je veux que ce fichier soit enregistré comme je l'ai dit, nous allons utiliser à l'intérieur de notre dossier racine www. Les téléchargements sont donc que c'est le chemin que je cible. Vous avez des gens qui ont des opinions divergentes, mais une fois de plus, nous gardons simplement cela simple. J' ai donc mon interprétation, mon signe de dollar et mes guillemets. Ensuite, je suis allé déployer à la fin du score, qui est ma dépendance pour l'environnement hôte Web sur j'utilise le chemin racine Web, n'est-ce pas ? Et puis je vais cibler le dossier des téléchargements. Donc, cela va dire où que la solution est hébergée, où le site est hébergé à partir de ce qui est le chemin vers leur droite, puis il cherche le dossier de téléchargements sur, alors nous allons passer en nom épais. Donc, c'est le nom réel du fichier pour être des droits sûrs ou le nom réel désactivé. Quoi ? Nous voulons que ce fichier soit vu comme dans ce chemin entier sur. Ensuite, après cela, nous allons voir utiliser le flux de fichiers sur. Je viens juste d'avoir ça. FS est égal à un nouveau flux de fichiers. Terrible. C' est vrai. On va passer le chemin, Onda. Je vais voir ce feu amarré. Vous voyez, le point de tableau de fichiers crée en fait signifie que si le fichier est là déjà va l'écraser. Mais en fin de compte, il va créer un fichier. Et puisque nous utilisons des marchandises orteil générer le nom du père, les chances d'avoir une classe devraient être très minces. Alors je veux dire m s comme dans la rue de la mémoire et orteil droit ancré variable. Donc, non, nous allons dire tout ce qui était dans le flux de membres, je veux que vous sachiez orteil droit la rue de fichier sur l'objet de flux de feu comme nous venons de le voir, va gérer le mettre dans le bain et créer son et puis que C'est ça. Donc, si vous obtenez une exception, vous pouvez à travers nous pouvons écraser un programme. Ou cependant vous voulez gérer le congé exceptionnel à travers Parce que je voulais vraiment planter le programme dans le cas de téléchargement hors champ de fichier. Vous savez, ils sont probablement plus gracieux avec la poignée, mais pour aucun apathie que de retour dans notre composant create, j'ai besoin d'un appel. Donc, avant de pouvoir accéder au service, je dois l'ajouter au début à propos de CS. Droit ? Donc c'est une étape que je dois toujours admettre, j'oublie toujours. Donc c'est une bonne pratique orteil ont. Droit ? Nous venons donc d'ajouter un nouveau service. Donc, nous devons faire savoir à l'application entière que ce service est illisible pour, hum, injection. Et donc le téléchargement de fichiers. Donc, en revenant au créateur, il faut que les orteils le présentent. Donc ça, je suis sorti voir que je dépose. Qu' est-ce que je suis admissible ? Télécharger directement sur. Alors j'appellerai ce trait de soulignement. Déclenchez Lord Rights de ma dépendance pour le fichier Upload sur, puis ne pas Ici ou donc c'est créer un livre. C' est entre le livre. Il devrait être manipulé. Créer. Je me laisse cette carte, fils de non. D' accord. Se débarrasser des lignes de grille un par un. Très bien, alors cette ligne va dire des sombres de soulignement, téléchargement de fichier, points de téléchargement de fichier de soulignement. Un profil sur le fichier de téléchargement est en attente pour le fichier. droite. Donc, après que toute l'excitation ait eu le feu, le chargeant dans le flux de mémoire que nous avons déposé ici, est-ce pas ? Donc c'est tout ce que nous passons ainsi que le nom de la photo, sur laquelle nous venons de construire. Ça s'appelle le nom du pic. Laisse-moi juste sur C'est un synchrone que j'ai besoin de notre poids. D' accord. Alors peut-être que comment vous pourriez le faire un peu différemment est orteil si la fonction de téléchargement de fichier a échoué . qui veut dire que vous auriez pu le faire en tant que booléen, un taureau de la tâche. Et s'il a allumé ce feu, alors tout allait bien. Puis il est revenu. Vrai s'il a attrapé une chute exceptionnellement retourné et puis basé sur le oh, sortir que vous pouvez prendre une décision quant à quoi pour ? À propos de vous, vous donnez à votre utilisateur ou commencez un repère visuel donner à utiliser à ce stade. Bon, donc je pense qu'on a fait un peu de travail. Je vais juste aller de l'avant et construire et m'assurer que tout fonctionne toujours. Et nous avons du succès. Alors prenons ça pour un tour, accord ? Donc parce que vous avez déclenché les restrictions et que vous êtes allé après l'enregistrement comme une admission, et quand je vais aux livres, je vois tous les petits pains que tous les jours n'ont pas pu voir quelqu'un juste pour aller de l'avant et cliquer, créer un livre. Voici nos formulaires, donc je vais juste mettre quelques valeurs. Donc, ce livre que j'ai l'expérience se souvient que nous n'avons pas de validation en cours, donc nous devons revenir en arrière et mettre un peu de validation dans. Mais pour l'instant, allons travailler avec ce que nous avons. C' est un menu déroulant CR. Cela fonctionne pour nos auteurs obtenir l'auteur, puis je choisis un fichier, et je viens d'en sélectionner un sur mon bureau. On y va. Dites, voyez le petit aperçu qui s'affiche et laissez-nous voir ce qui se passe lorsque nous créons un livre. Il revient à la liste sur elle affiche ce livre. Ok, laisse-moi voir ce qui se passe à mon avis. Bon, donc on voit le livre, on voit le prix. Ok, Nous devons formater certaines choses ici et là sur Si je clique sur l'auteur, il passe sur les spectacles avec les détails de l'auteur et le fait que c'est son livre. Donc tout se rassemble bien. Bon, donc nous faisons créer nos livres. Et donc la dernière chose que je veux faire Non, juste à certaines validations, bien que Justin note que vous pouvez avoir quelques problèmes avec l'écriture de fichiers, selon l'endroit où vous écrivez orteil et la basé sur la permission que vous avez. D' accord. Donc, je l'ai essayé sur une machine que je n'étais pas administrateur ou n'avais pas d'accès droit de lecture orteil ou pas d'orteil d'accès droit . Donc, il créait des fichiers vides. Donc, si vous obtenez des incendies vierges, il peut s'agir de vos autorisations, mais vous pouvez toujours abandonner leur ligne si vous rencontrez des difficultés avec cela. Mais si vous êtes à ce stade, alors nous sommes prêts à continuer. Alors la dernière chose que nous devons savoir est de vérifier nos notations d'orbiteur de validation pour notre modèle. Très bien, donc dans le modèle de livre ajouté ces données politiciens et moi, le titre requis je veux dire, la glace étant requise. Je veux dire, le résumé doit être limité à un maximum de 10 50 mots sur, je veux dire, l'auteur que j'ai demandé. Donc, la raison pour laquelle j'ai fait l'auteur que j'ai demandé est que même si je l'ai fait, il ne sait pas. Mais en pure et simple, je voulais. Alors que le FBI dit qu'il n'a pas besoin d'un auteur, je vais forcer l'auteur parce que je ne veux pas de problèmes de mon côté. Alors rappelez-vous que nous comblons le fossé en tant que développeur pleurant par rapport à un développeur de paires. Donc, du côté client, nous pouvons établir nos propres règles pour appliquer nos propres qualités strictes avant même d'arriver aux règles du FBI sur leurs qualités. J' avais donc le point d'interrogation ici sur le dans ce crédule médian, ce qui signifie que je n'avais pas besoin de sélectionner un auteur. Eh bien, je viens de l'enlever, et je vois que vous choisissez le plus un auteur quand vous utilisez mon up. Bon, donc c'est tout pour les notes théâtrales sur le livre. J' ai également doublé à mon composant de création et assurez-vous d'ajouter une section pour l'été. Donc, tout est le même sauf nulle part en utilisant une zone de texte d'entrée. Donc nous savons que trois met même que vous connaissez le pour. Ils ont le numéro d'entrée. Avoir du texte d'entrée, qui est une zone de texte. Pas d'avoir dans le domaine politique, qui est la grande boîte. C' est presque un tour. Le problème. Ce serait notre résumé à ce moment-là. Nous avons les composants personnalisés entrée fichier toe gérer notre téléchargement de fichier. Non, on pensait que c'était parti. Ne le fais pas. Vous pouvez aller de l'avant et tester d'autres scénarios, vous savez, téléchargeant et en cour unquote invité fichier testant les différentes permutations que vous pouvez. Je sais que ce sont des lacunes dans la logique, non ? No eso Si vous pouvez détecter un peu libre de les partager avec moi et nous pouvons passer par eux ensemble. 54. Livre de mise à jour de configuration: Hé, les gars, bienvenue dans cette leçon. Nous allons parcourir les opérations de montage de nos livres. J' étais tellement excité que j'ai commencé sans toi. Deuxième pause et enlevez-le. Mais ce que j'ai déjà fait était de créer mon édition. Les histoires sont des composants concurrents à l'intérieur du dossier livres. D' accord, on. Puis je suis allé de l'avant et lui a donné son chemin, qui est slash livres slash edit slash slash. Sous I paramètre d, je mets dans l'autorisation pour uniquement les règles d'administrateur sur. Puis j'ai importé le dépôt de livres. Je propose le dépôt ou le téléchargement de fichiers hors référentiel sur le gestionnaire de navigation. Andi. J' ai mon livre d'édition de titre, et j'ai mis dans cette règle horizontale sur le point de rupture et je suis prêt à aller chercher. Et Paul enlève ça, et quand tu rattraperas, tu pourras continuer avec maintenant. Je veux construire les discours dans une combinaison hors cour à partir de notre page de vue sur notre terrain de création. Droit. Donc, j'ai ajouté, supprimer les auteurs qui le divulguent. Donc, nous avons éditer désolé, Web ou page d'édition pris à partir de la page Créer ainsi que la vue, Pete. Donc, je vais juste bout par morceau. Prends ce que je veux. La première chose que je veux serait ceci si les instructions se rappellent que dans la vue nous avons vérifié si la valeur hors du périmètre a été invitée et nous montrons un message. Bon, donc je veux ça. Donc, je vais en fait juste effondrement des orteils cet effondrement et je vais tout prendre entre la déclaration if à cette première étreinte ouverte. Copier. Apportez-le pour éditer Coller sur cela. Je vais juste fermer cette accolade bouclée. Fini sur mon excitation. Je pense que j'ai peut-être supprimé mes blocs de cour et on vient de mettre mon bloc de base ici. Bon, donc nous avons notre vérification pour le paramètre, et nous vérifions si le modèle est vide ailleurs. Si aucun d'entre eux n'est vrai, alors nous voulons rendre le formulaire sur. Ce formulaire va ressembler à peu près à Oh, il ressemblait à notre création, Pete. Donc, en fait, je vais juste y aller et vous pouvez voir que ça s'est déjà effondré. La forme de création, ajustement pour emprunter tout cet accord, amener, puis nous faisons quelques petits tweets, certains commençant par le haut et je descends systématiquement. Donc, certains changements que je veux faire seraient que je veux utiliser la mise à jour de la main ou non sur la création . Donc, manier le bit. Nous avons tous nos champs sont des auteurs qui sont osseux. Donc, ces lignes rouges signifient que nous devons mettre la représentation pour eux sur le formulaire. Droit ? Donc, en termes de notre image, nous avons une petite modification que nous avons besoin de moi ici. On y reviendra. Cela va être au lieu de créer un livre, il dira, soumettre les changements actuels et il a été réservé retour à la liste sur. Ensuite, nous passons à nos tribunaux où Cornel nous aidera à éclaircir certaines de ces lignes rouges sur la première chose que nous voulons dans notre code est au-dessus des paramètres, non ? Donc, tout comme nous l'avons fait dans la section de vue ou dans la page de vue que nous avons ou paramètre public chaîne I d, nous allons chaîne I d. Désolé, nous avons aussi le modèle, et nous l'avons sur initialisé poursuite quelqu'un à emprunter tous ceux de la page de vue sur Apportez-les à nos modifications. D' accord, on va faire quelque chose de plus à l'intérieur de l'ONU initialisée. On a le modèle, euh, le dossier du modèle. Mais nous avons aussi besoin de la liste des auteurs, que je n'ai pas créé, non ? Donc, dans l'initialisation, vous avez obtenu à l'auteur un peu de déportation. Donc, comme vous pouvez le dire, je ne suis pas dans l'humeur sont hors de re type appel que j'ai partout écrit déjà je parle juste le meilleur de partout et l'apporter Apportez en tant que j'avais besoin. Donc vous voyez, ici dans le bar, cette terre hors cour, nous n'avons pas d'auteurs et évidemment je dois être clair la variable. Mais si je retourne pour créer un regard à l'intérieur du bloc de la cour, alors je verrais que j'ai un tas de variables qui ressemblent à des variables dont j'ai vraiment besoin dans l'éditeur auto, Tous les auteurs, je toujours besoin de suivre mon fichier et besoin de suivre le succès, etcetera, etcetera. J' en ai un de plus que je vais mettre. Mais je les copie à partir de non. Et comme j'ai encore un livre, je vais aller de l'avant et énerver, alors. Les lignes proposées disparaîtront car aucune variable n'existe. Très bien, donc nous avons les mises à jour des poignées de fonction. Donc, je dois implémenter cela à portée de main, mais cela va sembler très similaire au genre de création. Vraiment ? Donc je vais juste revenir à mon créer ceci, donc je l'ai seulement effondré, donc je veux emprunter ça, et je vais le rythme et l'édition. Et puis je suis allé changer le nom de la poignée. Donc, un peu changer le temps fait à l'intérieur de la création sur. Par extension, l'édition serait sous la forme de cette instruction if. Donc, si vous essayez de télécharger le fichier basé sur le trimestre que vous avez eu, vous auriez probablement obtenu ou, eh bien, si vous essayez de soumettre j'enregistrement sans téléchargement, notre valeur aurait probablement été d'obtenir un peu exceptions. Et c'est parce que nous avons un tas d'opérations de fichiers ici que Randers cesse d'être exécuté sans qu'un fichier soit présent. Donc tu ne peux pas enlever le nom. Un père n'existe pas, donc je dois vérifier avant la soumission. Si le fichier n'est pas connu sur, alors nous allons de l'avant et séparons les détails, puis le télécharger, puis fait la modification sur le champ sur. Ensuite, nous poussons à la base de données. Et s'il n'y a pas de fichier, eh bien, nous poussons juste à la base de données. Nous n'avons pas besoin d'effectuer des opérations de fichiers, donc je veux dire ce changement à l'opération de création. Andi, quand je copierai ça à l'opération d'édition, d' accord. Donc, gérer la mise à jour va vérifier s'il y a un fichier sur acte en conséquence. Nous avons besoin d'un retour à la liste, donc je vais juste revenir à la liste. Aussi sur je vais avoir besoin d'extension de fichier de poignée parce que sont la sélection de feu, monsieur. Parce que je vous autorise à changer l'image du livre dans l'édition. Donc je vais devoir gérer ce qui semble comprendre. Enlevez les deux également sur place à l'intérieur du bloc de la cour dans la page d'édition. Maintenant, si je remonte jusqu'au sommet de la ferme, je verrai ça, accord ? n'y a pas de lignes rouges, Alors commençons par le haut à nouveau sur aller vers le bas une adresse. petits problèmes sont des nuances. Sachez que nous avons affaire à l'édition. Onda ni créé ni vue. Donc le premier problème que je saute sur moi. Et encore une fois, l'agriculteur veut dire la même chose que nous avons les mêmes champs pour les différents articles, non ? Donc, l'image tout le chemin ici sont nés fichier d'entrée. Et dans notre section où nous vérifions si c'est un type non valide à l'écran, un message d'erreur s'il est. Et puis nous disons s'il y a quelque chose dans les données que vous, Earl, ou rappelez-vous que l'euro Beetle a été formé parce que quel que soit le fichier a été sélectionné était Parson Tau Bay 64 puis mis en image Data Girl. Donc on a cette vignette. Donc, le problème ici dans l'édition est que cette cour ne montre qu'un fichier qui a été sélectionné . Si je suis quelque chose sur existant qui a déjà un fichier et que je ne change pas le fichier, accord ? Je n'ai rien fait pour déclencher la sélection du fichier de handle. Ensuite, les données d'image que vous êtes ne changeraient jamais de non, ce qui est initialement. Droit. Donc, ce que je veux faire est l'image affichée qui est déjà dans la base de données, qui est financée image point modèle. Donc je vais juste copier ceci si la déclaration Eh bien, je vais juste dire autre si c'est bon, laissez-moi aller dans la voie suivante, alors il va avoir une vérification similaire pour voir ça. Donc, je veux qu'une priorité soit sur le style qui est sélectionné récemment à droite. Mais alors, s'il n'y a pas de fichier nouvellement sélectionné, alors je veux vérifier s'il y a un fichier dans les rapports de base de données du modèle cette image. Donc, si vous voulez beaucoup d'images, pas de neige, sont des espaces blancs. Alors je veux le même genre de femmes de ménage. Mais cette fois, la valeur sera sur le chemin hors. Télécharge une barre oblique sur qui va être l'image de départ du modèle. Très bien, donc nous avons un modèle, pas une image affichée. S' il n'y a pas de nouvelle image, non, S'il y a une nouvelle image, nous avons besoin d'un orteil manié que sur. Ce que je veux faire, c'est le camion s'il y a eu un changement dans la sélection. Donc, quand j'ai dit changement dans cette élection, je ne veux pas nécessairement dire que vous avez choisi une nouvelle image cet hiver. Je suis moins préoccupé de savoir si vous sélectionnez une nouvelle image à partir de celle qui est déjà là ou quoi que ce soit d'autre. Mais même si vous êtes allé dans, vous cliquez sur le fichier sélectionné sur vous avez sélectionné la même image. En ce qui me concerne, c'était un changement dans l'image. Donc, le comportement doit changer où cela signifie que lorsque vous soumettez s'il y avait un changement, alors je dois orteil prendre tout celui qui était là avant et mettre dans le nouveau. Ou si vous avez fait ce changement où vous supprimez l'image pour obtenir tous ensemble, je dois m'assurer que j'ai retiré l'image de l'enregistrement sur aussi du système d'incendie. Donc je vais introduire un nouveau drapeau ici que je vais appeler le fichier est-il modifié ? Je vais initialiser cette chute de l'orteil. Donc, lorsque vous apportez une modification au fichier ou que vous déclenchez les événements qui disent la sélection du fichier de gestion , je veux envoyer la vérité car en ce qui me concerne, je change est arrivé. Donc, à l'intérieur de la sélection de poignée, je vais juste dire que le changement de fichier est égal à vrai. Bon, alors sachez que nous suivons l'état de la sélection, au moins si elle a changé, ne sont pas si elle arrive ici le jour, quelque chose arrive. J' ai encore une fois je ne me fiche pas si c'est Non, ne sont pas. Non, quelque chose a changé. Donc oui, quelque chose a changé. Donc au moment de l'arrêt de la gestion de la mise à jour Nous avons besoin d'orteil. Faites quelque chose de différent avec un. Si le fichier n'est pas égal à Nolan de la seule façon si je ne serais pas égal à la connaissance si un nouveau fichier était sélectionné. Droit. Donc, à ce stade, j'ai besoin de froid qui va supprimer et je vais juste mettre un commentaire ici. Retirez l'ancienne image Onda télécharger le nouveau écrit. Je vais également introduire une autre vérification pour voir si notre autre si ce fichier a changé est vrai. Donc vous changez le fichier. Un changement d'état du chasseur a fait quelque chose pour interagir avec les bateaux de sélection de fichiers. n'y a pas de fichier présent sur le feu est équivalent à savoir droit ? Donc ça veut dire que votre chaîne quelque chose, mais il n'y a pas de feu dans le système. Ensuite, je vais devoir enlever la vieille photo sur. Je vais aussi devoir définir l'image de point du modèle pour être égal orteil rien String qui vide parce que cela n'a pas de sens. Je fais référence à une image qui n'existe pas juste quelque part pour la mettre à jour, pour dire qu'il n'y a pas d'image pour référence. Si l'état du fichier a été modifié sur le feu est l'équivalence et non. Donc ces deux blocs ont la même chose en commun. On doit enlever les vieilles photos. Donc, nous allons aller dans notre téléchargement de fichiers, contrat et implémenter, et vous pouvez 3ème et j'appelle cette méthode publique vide. Supprimer le fichier. Je le fais en tant que conseil parce qu'on ne va pas faire quoi que ce soit est synchrone là-dedans. Donc je n'ai pas besoin d'être une tâche. Je vais juste supprimer le fichier et tout ce dont j'ai besoin est de chaîne, choisir le nom. Quel est le nom de l'image que je devrais supprimer ? Donc, dans la classe concrète, je vais juste aller de l'avant et implémenter l'interface, faire arrêter les nouvelles méthodes. Ce sera vraiment notre autre opération simple. Je vais construire une partie pour que vous vouliez peut-être chercher à obtenir un parc statique avec le FBI. On peut chercher à avoir un chemin statique pour plus de cinq Buehrle. De toute façon, nous construisons notre chemin où nous obtenons le même chemin où nous savons que tous les fichiers sont stockés. Très bien, et on a le nom de la sélection, Toe la Chon sur. Ensuite, je vais dire si le fichier ancré existe parce que je ne vais pas essayer de supprimer quelque chose qui n'existe pas. Donc, je ne suis intéressé que par s'il existe, alors je veux juste dire le fichier qui supprime de ce chemin. Bon, donc le fichier est là, puis supprimez-le. Donc, c'est tout supprimer le fichier va faire pour nous. Donc, dans notre édition, ce que je vais dire, ce sont les images de suppression de virus. Donc un dossier a été entré, et je ne suis pas encore une fois, je ne connais pas notre remède. Si c'est la même image qu'ils voulaient et re sélectionné, je reçois l'extension, générant un nouveau I d. les regarder ensemble pour un nom d'image sur que je vais voir sur le fichier de partition, télécharger des docks sur, alors il va dire supprimer le fichier sur. Je passe, Model amarré émet. Je supprime le fichier qui est déjà là qui ennuie stocké dans la base de données. Et puis après que j'ai réussi à supprimer cela, alors nous pouvons aller de l'avant et télécharger le nouveau sur. De même, si l'état du feu a été modifié et qu'il n'y a pas de fichier présent, alors je vais aller de l'avant et juste supprimer le fichier et met à jour la valeur à rien sur. Ensuite, allez de l'avant et ne pas créer, mais hors Biggs et puis bien que prend nos livres endpoints le modèle ainsi que les fléchettes modèle . Je suis d' accord. D' accord. Donc, petit steak, cette cour pour un spins, comprendre le démarrage de clic. Bon, donc dans notre liste de livres, je vais juste aller de l'avant et cliquer sur Modifier sur un de ces derniers sur. Nous voyons que nous avons notre livret a préchargé nos données avec succès. Je vais lui donner un prix sur par un résumé aussi livre. D' accord, et puis on voit ici, on a notre aperçu. Alors essayons de changer ces droits d'image, comprenez ? Pour aller de l'avant et choisir le fichier. D' accord, on. Je vais aussi changer le nom de ce livre. Quelqu' un à appeler, c'est peut-être s b f S B A p I, def. D' accord. Quelque chose qui est accrocheur. Bloquer la cour comme l'image sur. Je vais aller de l'avant et soumettre les changements. Donc, je vais aussi changer le aussi pour que nous puissions voir autant de changements que nous le devons. Et puis quelque chose change et nous voyons où nous revenons ou un nouveau livre avec notre titre change le nouveau prix. L' auteur a changé sur tous les merveilleux changements que nous avons apportés. Si je vois, on voit tout arriver. Maintenant, si vous avez suivi tout ce que j'ai fait sur ce point, il peut avoir rencontré une erreur parce que quand je suis arrivé à ce point et que je l'ai essayé au départ, j'ai eu une citation de l'orteil départ, appeler le FBI équipe sur. Faites-leur savoir que j'ai suivi toutes les règles qui ont soumis les données sur les données de l'auteur. N' a pas passé correctement sur le SB en effet, et ne pas trop correctement. Donc, en faisant semblant d'être l'équipe, au moins je suis allé sur I D board et regardé mon livre bto pour mon travail It on. Je me suis rendu compte que d'accord, mon I S b et Field était effectivement manquant ainsi que mon auteur se sentent idées d'auteur. Donc si vous n'avez pas mis ces deux-là, mettez-les dedans. Donc, le fait est que lorsque vous développez votre suivez les règles du côté client, même le FBI n'est pas à zéro. Vous devrez tendre la main pour soutenir. Ou si vous faites les deux côtés, alors vous savez que vous devez être attentif à ceux-ci, que les choses, les petites erreurs comme celle-ci, vous serez amenés à croire que votre client a le problème alors que c'est en fait la façon le FBI a été mis en place. Donc, je suis juste de pointer que tout, aussi, parce que c'est une expérience d'apprentissage pour nous tous et que je veux sortir de cette préparation pour toute petite situation. Nonobstant ces défis, nous constatons que notre opération de mise à jour a fonctionné comme prévu. Il a supprimé les anciens fichiers pour chaque téléchargement et mis dans le nouveau fichier sur Abated l' enregistrement de base de données sur Quand nous revenons, nous allons regarder faire Suppressions 55. Configuration Supprimer le livre: Hé, les gars, on est de retour. Et aujourd'hui, nous avons affaire à la suppression d'un enregistrement de livre. Donc je suis désolé d'avoir été si excitée que je ne sois pas allée voir les mecs. Mais je vais vous guider à travers tout parce que vous vous rendez compte que tout comme je l'ai fait pour certains des autres composants, tout ce que c'était vraiment copier et coller les meilleures pièces de l'or d'ailleurs et ensuite les pousser ensemble comme j'ai besoin ici. Donc, nous commençons par donner à la page un chemin. Les idées de barre oblique de suppression des barres obliques sont des paramètres ou de l'auteur comme attributs. Et puis on est à Jake. Nos services sont du rapport du livre. Le gestionnaire de navigation, Andy est le référentiel de téléchargement de fichiers. Parce que lorsque nous supprimons un enregistrement de la base de données, je veux également supprimer le fichier du serveur. Je ne veux pas supprimer l'enregistrement et garder le fichier bien. Seulement dans le pire obtient l'inertie qui n'a jamais eu lieu. Mais cela ne devrait pas être le fonctionnement normal. Donc, déménager le long de ma rue dit, Etes-vous sûr de vouloir supprimer ce disque ? Andi, j'ai que H r et B sont juste pour le style, mais quand on va aux correctifs essentiels. Nous nous assurons qu'il est normalisé chaque pièce avec ceux que j'ai mon contrôle de succès Est sur qui vient de Eh bien, il sur aussi créer. D' accord, alors. J' ai la vérification pour le paramètre les données du modèle. Andi, la vue. Donc je suis allé voir ce rasoir et j'ai pris tout ce bloc de base, accord. Ce bloc de cour entier est ce que j'ai utilisé à l'intérieur de cette page de suppression parce que nous partageons tous les détails hors de l'enregistrement que la personne est un boto supprimer sur. Nous attendons leur confirmation immédiatement. Puis à la fin de tout cela, j'ai deux boutons, un qui dit supprimer Eh bien, un qui a un déclipped qui dit Supprimer livre et le Texas le livre Lead, ainsi qu'un pour revenir à la liste dans le bloc de la cour. On a un contrôle du périmètre de guerre. Nous initialisons notre modèle sur Nous sommes nés un drapeau de succès sur, puis non initialisé. Nous obtenons la version indigente de la valeur du périmètre, puis nous l'analysons en remorquage. Le modèle qui remplit plus tard notre page comme nous savons que j'ai mon opérateur de livre de leet, qui à peu près juste ont causé le téléchargement de fichier de cycle de fichiers de suppression, supprimer le fichier passé dans le modèle point Image sur qui va supprimer l'image de la plus haute découverte a vu dans notre il sur. Ensuite, nous avons notre succès, qui va orteil attendre les résultats hors rapport qui croit que le point de terminaison des livres sur le I d off the record on. Alors si son succès, alors nous revenons à la liste. Et puis j'ai mon combat ist opérer sont fonction ici étant appelé par le bouton ainsi que ce bâton de succès. Je sais donc que celui-là est passé assez vite. Mais comme vous pouvez le voir, ce n'est pas beaucoup de travail parce que, eh bien, la majorité de celui-ci est l'interface sur tout cela vient de la vue, non ? Franchement, tout cela vient de ce que cela vient de créer ainsi que de modifier. Cela vient des composants View Onda. Eh bien, les boutons viennent de partout de toute façon, donc la seule différence entre cette page et d'autres pages que nous avons fait serait notre opération de suppression, où nous nous assurons que nous déplacons le fichier vérifier si c'est le succès sur, puis agir en conséquence. Alors disons celui-ci pour un tour. Bon, donc dans ta liste de livres, je vais aller de l'avant et les Leeds, SB ou SP réserver quelqu'un pour frapper la semaine principale. Nous montrons les détails. D' accord. J' ai vu comment ils se sont mis en place progressivement. Donc c'est la coupure qui attend l'un et l'orteil. Le fait que nous donnions un coup de pied ou faisons quelque chose de différent avec le modèle est vide. Parce que quand il n'y avait pas de données, nous voyons les écrans sans données et alors tout ce qui a déclenché veut dater là-dessus . Donc c'est vraiment cool. N' importe quel trou nous allons aller de l'avant et croire livre sur. Nous voyons que cela fonctionne. Excellent. En utilisant cela juste pour comprendre, pour aller dans l'explorateur de solutions et faire monter les racines W Onda les opéras pleins. Et nous voyons ici nous n'avons qu'une seule image. Nous avons donc deux livres avec deux images différentes. Nous le supprimons juste une fois et nous avons une image. Donc, cela veut dire que notre cour de renvoi fonctionne bien. Donc c'est tout pour notre opération de suppression. Si vous rencontrez des difficultés, comme toujours, comme toujours, se sentir orteil libre, faites-le moi savoir. Ensuite, nous allons passer par quelques correctifs essentiels et nous allons examiner la mise en œuvre d'un mécanisme de notification dans notre application au fur et à mesure de nos différentes opérations et tâches. 56. Fixations et ajouts essentiels: Hé, les gars, bienvenue dans ce réglage vidéo pour revoir notre interface, voir s'il y a des modifications que nous devons faire sur la révision des modifications que j' ai faites hors caméra ainsi que mettre en œuvre cette notification bibliothèque appelée toast. Bon, donc juste pour revenir aux livres, ce que j'ai fait, c'est de parcourir chaque vue et de m'assurer que je mets cette règle horizontale ainsi que cette rupture sur l'eau propre qu'un titre était là. J' ai également ajouté la colonne de prix à l'indice sur die indiquer le prix ici où j'ai formaté la chaîne pour ressembler plus à la monnaie écritures rappelez-vous que c'est une décimale, c'est pourquoi quand vous mettez en $50 obtenir quelqu'un à des points décimaux ou juste formaté il ressemble à 50 sur puis hors cours, cette ancienne chose s'étend jusqu'à la page de vue où nous obtenons les 50$ maintenant. La raison pour laquelle c'est si mal aligné, c'est ça ? Si je veux juste inspecter l'élément sur vous montrer à quoi cela ressemble quand vous verrez que le prix est en fait hors rue H. Remorquez-le est aligné au centre, mais alors l'alignement des images hors et peut-être en raison des dimensions de l'image et d' autres choses. Donc je veux dire ces choses, vous pouvez probablement travailler vieux. Je ne passe pas beaucoup de temps à essayer de réparer ça et de le faire aligner. Ce qui est en dessous vous montrant pourquoi ça a l'air légèrement mal aligné pour que si vous voulez, vous puissiez mettre vos efforts pour réparer ça maintenant à la cour, et je vous montre juste le discours de l'index. Voici où j'ai fait ce formatage de chaîne, non ? Donc, j'ai dit le format de point de chaîne sur. Ensuite, je mets sous la forme de ce que je veux que les variables de zéro soit un endroit bien avant la variable sur puis les quatre monnaies martinis, non ? Donc, une fois qu'il souffle atteignable pour les mois monnaie de bureau sur. C' est pourquoi nous voyons cela comme un affichage. Tellement je l'ai fait partout que le prix était imprimé à l'écran. J' ai utilisé pour le format de point de chaîne sur la monnaie assise. Maintenant, j'ai dit que nous allions installer un mécanisme de notification pour Blazer, alors passons quelque part pour aller voir mon gestionnaire de paquets sur. Je vais installer ce paquet appelé blazer dot toast. Donc, quand je serai là, je pourrai y aller et installer son toast Doc Blizzard. Ça vient des mêmes gars qui nous ont donné la bibliothèque pour notre stockage local. Donc ils ont des séquiturs de bibliothèque vraiment cool, tapant blazer. Tu vois ça ? Ils ont un modèle, ils ont un type de tête. Ils ont d'autres bibliothèques cool que vous pouvez explorer et implémenter. On y trouve une bibliothèque bien documentée. La prochaine étape après avoir reçu le paquet est de l'enregistrer dans notre démarrage que CS. Donc on descend juste pour commencer que Sears Onda l'attache. Et le blizzard. stockage local est juste à ce toast blazer. Et puis nous devons inclure une bibliothèque pour que cela soit reconnu. Et puis une fois que cela est fait, nous devons importer les bibliothèques en remorquage. Nos ventres sont levés, donc retourner dans l'expert en solution ira à l'importation sur. Ensuite, je vais juste ajouter une autre étude juste sous le fichier d'entrée blazer point Toast sur blizzard. C' est un toast qui sert. droite. Donc, après avoir importé ces tabourets , ils peuvent toujours faire une pause si je bouge, je bouge vite. Donc les spas ne savaient pas ce que tu devais prendre. Ensuite, fois que nous les avons importés sur, vous pouvez simplement continuer à fouiller au fur et à mesure que vous allez le long. Nous allons aller dans les mises en page principales puis dans les couches moyennes allaient orteil ajouter de nouveaux composants. Et je vais juste mettre ça en haut, même au-dessus du menu d'amour. Et je l'appelle Blaze. Des toasts erronés. Bon, donc c'est Ah, composant spécialisé qu'on vient d'importer pour être utilisé sur notre blazer. Bon, donc on a encore une chose à faire. Je veux dire, il y a pas mal de pas. Je m'assure juste de les détailler le saké et de voir comment ils se réunissent tous. Donc, dans le fichier hôte, je vais ajouter une feuille de style. Donc, la référence de la feuille de style sera sur le contenu de la partition slash blazer dot toast slash blazer, le tiret toast dot CSS et c'est un cachet il. D' accord. Donc, nous ajoutons simplement que je viens de mettre les menaces sur le booster parce qu'il hérite des choses du bootstrap sur commande ces questions maintenant, l'utilisation de ce service est relativement facile, donc je vais en faire ressortir un hors de la page. Est-ce que sur les opérations effectuées sur et essayons, créer. Quelqu' un crée. Mettez-le sur l'auteur de création. Tout droit sur. Ensuite, ici, je vais voir l'injection. Je toast service cause service. Ok, eh bien, laissez-moi garder ma convention cohérente. Et nous sous le service des toasts scorchers. Donc on s'injecte et on s'éteint. Quoi ? Vous n'avez pas besoin d'importer quoi que ce soit, car j'ai déjà fait les importations dans le fichier de démarrage de l'importation. Donc, une fois que nous aurons notre service de toast, nous pouvons le savoir. Appelez-le chaque fois que nous voulons envoyer une notification. Donc, je vais faire à l'intérieur de la partie de succès pour ou création d'auteur. Je vais dire que je veux des quais de service de toast, et ensuite je veux montrer du succès. Regardez ça pour que je puisse montrer le succès sur. Alors je vais lui donner un message. Donc, je suis allé voir auteur créé succès pleinement. Très bien, donc nous avons parlé de la configuration de nos composants personnalisés avec des messages d'erreur. Donc, si c'est que vous voulez afficher peut-être un outil car il éteint l'affichage de ce message d'erreur , sinon le succès, alors vous pourriez probablement mettre sur si sur cela et sinon et dire le service de toast que donc je suis sûr qu'ils ont quelque chose pour ça. Donc, vous avez du succès dans quatre avertissement d'erreur sur Dwell jeté. Je reçois les magasins est juste un Andi Well primaire pour serait comme bleu. Il peut donc offrir un parallèle entre les indices. Voici les noms sur les classes provenant de bootstrap, à droite. Quelqu' un à la routine de ce spectacle. Auteur réussi créé Andi. Je vais juste tester celui-là. Donc je vais en faire un sur la caméra. On va en faire un ensemble, puis je veux te défier. Orteil. Faites d'autres dans d'autres parties de votre cordon sur. Je vais mettre à jour d'autres parties du cordon aussi. Très bien, alors testons ce vieux de ma liste d'auteurs. Je vais créer l'auteur, et j'ai une nouvelle auteure, Claudine Williams et ses biographies qu'elle est très éloquente. Je vais de l'avant et créer l'auteur, puis nous voyons notre auteur de notification Success créé avec succès. Donc, il y avait sur. Voici une petite chose que j'ai peut-être raté ce que j'ai raté. J' ai besoin d'un point de rupture entre le bouton et la table. Donc je vais juste faire ça. Non, c'est à ça que sert cette vidéo de correction essentielle, n' est-ce pas ? Laisse-moi juste le faire rapidement. D' accord ? Alors j'ai juste mis ça dedans. J' ai juste mis le point de rupture sous le mais à la fin de l'expérience, c'est un homme de réflexion. Je ne vais pas passer du temps à faire ça. Mais quand l'accent sur cette tournée, sorte que ce message peut être défini. Mais alors, si je dis virgule, nous pouvons aussi lui donner un titre. Donc tu as vu ça ? Ça dit du succès, non ? Nous pouvons en fait lui donner un titre personnalisé si nous voulons que notre ensemble le vide. Donc, le mot successeurs et venir sur la notification elle-même viendra pour dire que cela a été fait avec succès. Donc, ce que je peux vous défier de faire à ce stade, il suffit de passer par les différentes opérations et de mettre dans les notifications appropriées en utilisant les couleurs d'invite appropriées. Rappelez-vous que plus complète suggèrent des choses différentes ou des succès. Un avertissement vert signifie que quelque chose a pu mal tourner. Ou cela pourrait être juste le jeu de couleurs avec lequel vous travaillez. Andi, vous pouvez vous amuser un peu avec ces notifications que je traverse et mettre à jour les miennes. D' accord. Donc, d'autres modifications que j'ai faites à l'intérieur de la section de vue comprendraient que je mets un bouton par puits pour environ dans quatre opérations différentes sur n'importe quel bouton de suppression important dans et vers le haut. Nous avons déjà le retour à ce bouton. Je change la classe hors de la ligne d'avertissement et le contour du danger, ainsi que quelques icônes le crayon et le cercle exportent la suppression sur le die également veillé à inclure les événements de clic où ils navigueront à la page respective avec le i d. En revenant de notre point de vue. Je l'ai fait dans les deux auteurs sur les livres. Andi les a mis en place pour que vous puissiez passer à travers, mettre en place n'importe quel toast les notifications que vous voulez. Vous pouvez, vous savez, épicéa de l'interface un peu sur. Bien que je vous ai donné une idée, je suis intéressé de voir ce que vous avez trouvé avec Onda à ce moment-là hors de la journée. J' espère que vous finirez avec une belle interface. Donc, dans la prochaine vidéo, nous allons juste passer en revue tout ce que nous avons fait dans cette section, puis vérifier nos modifications pour obtenir 57. Révision et ajouter des modifications à GitHub: vous les gars. Bienvenue de retour. Ceci est notre vidéo d'avis client sur dime juste en vous. Ne donnez pas un résumé de haut niveau sur ce que nous avons fait dans tout ce 61 pour les livres. Donc, vous avez affaire à des livres mais des détails remontant à l'auteur pour être avec certaines choses et même retour au FBI parce qu'il y avait des lacunes d'avant sur où les corriger. Donc, au FBI, nous avons dû mettre à jour notre livre GTO pour nous assurer que nous avions des sentiments pour soutenir la transmission travers le tuyau dans notre dos. Dans notre interface. Tu sais, pourquoi on a fait pas mal de choses ? Nous avons mis à jour notre modèle de livre orteil, avons quelques annotations de données pour nous assurer que le formulaire collectera les bonnes données. En conséquence, nous avons mis en place tous nos composants de foule pour nos livres. Andi, il faut toujours réparer certaines choses dans la section auteur. En outre, nous sommes également passés par, et nous avons créé de nouveaux services avec la forme du dépôt de livres ainsi qu'un fichier. Téléchargez sa posture. Donc, non, nous gérons les fichiers sur le système une fois de plus. Si vous rencontrez des difficultés avec cela, vous pourriez avoir un problème d'autorisation sur la machine que vous utilisez afin que vous puissiez rechercher le pied , faire rectifier cela ou, vous savez, me contacter si quelque chose. Mais nous avons fait un peu de travail dans cette section. Et non, nous voulons juste vérifier dans notre cour pour s'assurer que c'est agréable et sûr. Donc, comme d'habitude, nous avons juste un clic droit, aller à commettre. Ensuite, nous mettons dans notre message pour nous assurer que nous nous souvenons de tout ce que nous avons déjà utilisé. Avoir une idée. Allez-y et engagez tout et de voir sur ce est tout pour ce six sur. 58. Introduction Blazor WebAssembly: Hé, les gars, bienvenue. Nous allons donc poursuivre notre parcours de développement. Nous avons déjà examiné la façon dont nous créons notre site Web. AP I en utilisant dot net core 3.1. On a regardé comment on peut créer un blazer à l'époque. Non, nous allons chercher à créer un blazer avec assemblage. Donc, jusqu'à maintenant, nous avons utilisé Blazer Server sur Non, nous allons regarder Blazer avec assembly. Non, Justin note qu'il existe quelques différences entre le modèle d'assemblage Web sur le modèle de serveur Bill Blazer. Donc, au lieu d'essayer de convertir de l'un à l'autre, ce que je vais faire est de créer ah tout nouveau projet alors. On a déjà beaucoup écrit sur la cour. Beaucoup de cour est en fait très transférable entre les deux modèles, Mais alors nous allons encore jeter un oeil sur venir à apprécier certains hors des différences sur les nuances entre les deux. Donc, avec cela dit, commençons. Donc, je retourne en studio visuel, puis je vais aller de l'avant et créer un nouveau projet . J' ai donc déjà deux projets dans notre solution. Que ce soit le projet du FBI et nous avons notre librairie. Vous y projet, qui est notre serveur blazer vers le haut. Quelqu' un pour créer un assemblage Web blazer, et puis on verra tout le week-end. Vous transférez le noyau entre, donc je vais y aller. Enregistrez la solution. Cliquez sur Nouveau projet. Sélectionne le modèle de blazer vers le haut. Alors je vais vous donner le nom Librairie. Gardez-le cohérent. bord de la librairie. Vous je pointes w a s m si stupide A S M. C'est l'acronyme signifie assemblage Web ou c'est ah, vous savez, court. Eh bien voir l'assemblage Web sur, alors je vais aller de l'avant et créer No. Lorsque nous étions à ce stade plus tôt dans les leçons où l'Assemblée était en fait en avant-première. Donc non, c'est dans la version complète. Je veux le montrer dans ce cours. Donc, il a finalement été publié, et il n'est pas prêt pour la production, et ensuite nous allons l'utiliser pour notre application. Non, à ce stade, je veux prendre le temps orteil souligner quelques choses. Un quand nous choisissons Blazer, assemblage Web, nous obtenons quelques options différentes. Et ce que nous avions quand nous avons choisi le serveur Blazer. Donc, dans re cliquez qui ont l'assemblage. Nous savons qu'il y a deux options. Nous pouvons en faire une application Web progressive ainsi qu'une application de chevaux de noyau net sp dot  ? Non, la pertinence de ceci est que l'assemblage Web est en fait un morceau hors du bord qui s'exécute directement dans les arrondissements. Er donc lorsque vous construisez une application qui est basée sur l'assembly Web, le Broza va réellement charger tout le contenu Tout sur la ressource est nécessaire pour cela fonctionne, tout sera chargé dans le navigateur et cela fonctionnera à partir de Le frère. Euh, d'accord. Un serveur en place, cependant , doit être déployé sur un serveur comme Internet Information Services. Je s r tout autre serveur balayé compatible, tout comme tous les autres sites Web. Donc, une fois de plus, le blaze et l'assemblage Web s'exécuteront directement à partir du navigateur. Maintenant, si nous choisissons l'option hébergée sp dot net core, ce que nous obtiendrons est trois projets supplémentaires obtiendront un client, un projet, un projet de serveur ainsi qu'une bibliothèque partagée. Maintenant, la bibliothèque partagée servira comme un terrain d'entente entre le serveur et les revendications. Tu sais, dans les classes ou les classes de modèle. Ce serait, vous savez, commun entre les deux serait en quelque sorte aller dans le partagé. Ce qui se passe est que le client se connectera au serveur via un appel P I afin que le serveur soit capable de gérer la logique métier complexe sur Savez-vous, si vous voulez parler à la base de données directement, vous pouvez construire un courant complet de Baser que vous vouliez probablement aller avec le noyau de point net hébergé de sorte que le serveur ferait exactement ce que nous avons fait dans notre serveur à l'époque. Le client utilise juste une cause de paire pour parler au serveur vers le haut. Non, je sais que c'est difficile à visualiser. Il peut probablement expérimenter, et vous pouvez en créer un qui est hébergé sur un qui n'est pas pour fermer. Il va aller avec un qui n'est pas hébergé de base parce que nous avons déjà sur un p I. Donc je n'ai pas besoin d'orteil. Avoir un autre serveur jusqu'à Taconic au FBI pour le client après puis se connecter au serveur vers le haut à droite, Donc vous ne situationnel e. Vous pouvez choisir un, mais pas les autres. dans cette situation et ne voudra pas choisir une option hébergée de base. Non, l'application Web progressive une fois que vous pensez qu'elle inclura certaines bibliothèques qui vont cette application pour être en fait comme une application autonome. Donc autonome signifie que vous pouvez réellement ne pas connaître l'application sur votre appareil avec son apparence mobile ou Windows oralement, et il fonctionnera directement à partir de votre machine. Il va également soutenir sur notre vol plus maintenant, avec tout cela dit, Je vais choisir l'assemblage Web, choisir application Web progressive. Andi, je ne vais pas choisir l'authentification ou autre chose, mais je vais aller de l'avant et cliquer crée. Bon, alors sachez que nous avons créé cette application. Jetons un coup d'oeil à ce que nous avons ici, donc je vais juste étendre l'application serveur. Onda. Nous allons juste comparer les fichiers que nous avons dans les deux modèles. Bon, donc nous avons nos dossiers de route www en commun. Mais alors, si vous jetez un oeil, vous voyez que ce qui obtiendrait est une sorte de CSS différent en direct. Nous avons ajouté les téléchargements pour notre application et obtenir une icône de cinq. Je n'ai pas entendu que vous êtes venu dans des exemples de données parce que hors de l'échantillon, c'est un truc de modèle. Donc ce n'est vraiment pas nécessaire. Nous l'avons fait. RCs est plus complet. Ensuite, nous avons quelques ajouts qui ne sont pas présents ici comme le fichier d'index. Donc, ce fichier d'index remplace vraiment le fichier. D' accord, donc le serveur est livré avec le fichier hôte. Notre assemblage web est livré avec le fichier d'index. D' accord, alors, nous avons un manifeste que Jason, c'est comme un registre pour tous les détails sur le web. Montage vers le haut. Donc, le nom de l'application sur Connaissez-vous d'autres données statiques où les icônes sont etcetera ? Toutes ces choses vont à l'intérieur du manifeste. Démarrez Jason. Et puis nous avons le travailleur de service Js, qui est à peu près scolarisé pour soutenir cette option progressive de web up. D' accord, alors nous avons des pages, discours restent assez fougueux. La même chose. Sauf que nous n'avons pas encore ce fichier html point hôte CS. Ensuite, quand nous regardons dans partagé, nous voyons les mêmes choses sur les importations et jusqu'à ne pas augmenter leur Tous ceux restent à peu près les mêmes. Mais alors remarquez que nous avons un programme, pas CS dans le serveur sur. Ensuite, nous avons démarré pas CS qui vient par défaut et standard dans l'assembly Web. Il ne vient pas avec deux fichiers Maintenant. Cela étant dit, vous pouvez réellement étendre cet orteil, avoir la même structure que les docs du programme et commencé parce que le programme qui voit qu'il exécute réellement cette fonction, qui initialiser est le début de voir des personnes La Grande-Bretagne s'élève à deux. Sinon, lorsque vous enregistrez des services, vous devez dire que les services de point de constructeur, que sur le nouveau à votre école pauvre transitoire sur la syntaxe ne semble pas trop différent. Donc, en fait, toutes ces choses que nous avons dû faire référence à l'intérieur de notre blazer d' origine, nous devrons les détacher sur notre assemblage Web quand nous en avons besoin. Alors sachez que j'ai créé un projet. Jetons juste un coup d'oeil à sa compréhension pour le définir comme le début du projet sur, Puis exécutez. C' est bon, Donc quand il est opérationnel, vous voyez qu'il est littéralement la même mise en page. Donc on vient de passer par le serveur. Nous allons littéralement transférer ces connaissances au côté de l'assemblage Web . Nous avons la page d'échantillonnage du compteur Web d'accueil Tous les mots Juste de la même façon. Et, vous savez, changer de données. Donc ici vous verrez l'exemple de la A p que j'appelle, nous sommes dans Fetch data me. Dépêche-toi d'y aller. Nous verrons que la page. Il a l'air de la même façon. Sauf celui-là. Ils utilisent une bibliothèque client http différente de celle que nous avons utilisée. Donc nous allons être à nouveau factoring. Donc, la cour, parce que nous avons utilisé I. Http usine client. Ils ont une bibliothèque client http simple. Andi. Donc nous allons changer sur un peu de froid, mais c'est en plus le point maintenant. Um, lors de l'initialisation, il fait un A p. J'appelle pour qu'il ne soit pas appelé directement. Alors ça demande à quoi tu veux que j'analyse le Jason ? Donc c'est déguisant. Http. Obtenez du contenu Jason sur lequel vous êtes un bateau à récupérer. Analysez-le dans le remorquage. Honore, hors-type prévisions météo sur les prévisions SYRIZA nous a classés tenir le contrôle et Oh, désolé. C' est juste là. Mais d'accord, donc il y a beaucoup de travail. Donc c'est juste la classe. C' est tout ce que c'est. Andi. Donc, c'est un tableau d'objets hors type avec des travailleurs provenant de données échantillon slash point météo Jason. Donc, si vous vous souvenez dans le dossier Www Route juste là, nous avons une barre oblique policière si oui ou non Jason. C' est tout ce que je voulais dire. Ce n'était qu'à des fins d'échantillonnage, mais le principe reste le même. Donc quand nous sommes un bateau pour récupérer quelque chose de notre a p I ce que nous allons faire, vous voyez obtenir de Jason Issing, analyser ce que c'est avec ses auteurs. Est-ce que les livres sur Si c'est une liste coronaire sur mettre essentiellement dans le U. R L quatre le A p I, que nous avons déjà dans notre fichier de points, sont donc nous allons regarder comment nous pouvons convertir du cordon d'usine client I http en ce un. Il est à noter que nous arrêtons juste cela, que dans notre programme, pas CSU verrait que cela qu'ils ont ajouté la bibliothèque CTB orteil l'inversion du conteneur de contrôle. Droit. Donc, en d'autres termes, nous pouvons juste la dépendance l'injecter. Http, le client sur ce sera déjà le type de notre adresse de base, mais nous n'avons pas besoin de changer autant. Nous pouvons juste le dire, que vous êtes un orteil voulu et ainsi de suite. Mais c'est hautement configurable à ce niveau. Bon, alors maintenant que nous avons créé notre client et nous voyons que c'est vraiment très similaire à ce que nous avons fait pour savoir, la prochaine chose que nous allons faire est de commencer à configurer plus authentique que vous fils sur autorisation pour notre demande. 59. Port Blazor vers Blazor WebAssembly: vous les gars. Bienvenue de retour. Donc, j'ai sur l'écran mon studio visuel sur les deux projets la librairie que vous je projet serveur ainsi que la librairie vous I projet d'assemblage Web. Donc, ce que nous allons commencer à faire est de transférer certains de la cour pour certaines choses que nous allons devoir garder à l'esprit les bibliothèques manquantes entre les deux. Parce que, eh bien, nous avons un tas de paquets ici dans notre serveur, mais nous ne les avons pas encore dans l'assembly web. Donc, nous allons devoir nous assurer que nous obtenons ces espaces ainsi que les espaces de noms. Parce que je suis vraiment allé copier et coller beaucoup de ce que nous avons déjà. Je ne vais pas passer du temps à retaper des classes ou quoi que ce soit, mais nous allons devoir nous assurer de mettre à jour les espaces de noms pour que les références fonctionnent. Bon, alors commençons. Je vais chercher quoi ? Je vais juste commencer avec les mannequins, donc je vais juste prendre le mannequin, Andi. Eh bien, en fait, je vais juste faire ça comme une opération en vrac, donc je vais prendre le dossier des contrats parce que nous avons le référentiel d'authentification I dans le dossier des contrats sur lequel nous avons le dossier des modèles. On a quoi ? Nous avons des pages avec des utilisateurs. Je suis là pour marquer ce dont j'ai besoin. J' ai besoin d'un statique, non ? Non. Et j'ai besoin de service. Oh, et nous avons besoin de fournisseurs. D' accord, donc je vais littéralement copier toutes ces choses qui l'imagine probablement pour tout arrêter. Et puis nous passons juste un peu de temps à refactoriser ensemble. Laisse-moi juste faire ça. Donc, je comprends l'attente sur le contrôle sur les contrats de clic modèles pages fournisseur de service s statique sur. Eh bien, je suppose que nous pouvons prendre partagé parce que nous avons le message d'erreur et le message de chargement. Nous avons aussi le menu de Knave. Donc littéralement, toutes ces choses peuvent être directement mises dans l'assemblage web. D' accord ? Et nous venons de passer ah, peu de gens construisent toujours ces vieux. Donc on est vraiment familiers avec ce qu'il y a en eux, non ? Donc, je vais juste copier les orteils, suffit de contrôler et de cliquer sur chacun, puis de copier et ensuite de descendre au projet d'assemblage Web. droite. Cliquez sur Cliquer fragmenté. Et puis il va me demander si je suis sûr de vouloir remplacer quand dire oui. Parce que ce qui était dans les pages d'origine les utilisateurs, les auteurs de livres, toutes ces choses que je veux remplacer quelqu'un pour dire oui sur la vie à, disons, appliquer tous les éléments et dire oui. Non. Quand je fais une construction, je vais obtenir beaucoup d'erreurs une fois de plus parce que ces espaces de noms doivent être réduits. Nous n'avons pas beaucoup de références de feu ou de bibliothèques pour notre projet d'assemblage Web . Avant de faire quoi que ce soit, cependant, la première chose que je veux faire est de supprimer ce fichier hôte parce que ce fichier cheval donne réellement des problèmes, Comprendre ? Toe, allez-y et retirez-le du projet d'assemblage Web. Cliquez sur. Ok, Andi, quelques erreurs. On ne voit probablement pas l'hiver. Ensuite, le fichier d'importation. Eh bien, je voudrais bien, je peux laisser ça jusqu'à ce qu'il le fasse au cas par cas. Donc, non, je vais passer un peu de temps à nettoyer les références. Alors allons aux contrats et vous voyez la même librairie. Vous pourquoi ? Mais que j'ai besoin de mettre dans les pensées W A s m pas les contrats à droite. Donc, sur cette note, je peux probablement aller trouver où on est allés chercher tout. C' est sa librairie, n'est-ce pas ? Je n'ai qu'à droite. Ensuite, je vais le remplacer par des librairies. Toi ? Pourquoi ? Chême sombre. Asem. Donc, ce serait un bon moyen rapide de nettoyer ces références. Il suffit de retirer celui-ci. C' est ce que je viens de faire. Je voulais faire bloc. Ok, aan den. Pas une solution entière. Mais les projets actuels sont dans le projet étant le projet d'assemblage Web sur Do vous pouvez hors trouver sa place tout peut-être. Ou si vous voulez être plus prudent, Kandarr place la prochaine partie de l'endroit de l'histoire. Aw, cliquez. Oui. 37 occurrences remplacées le. Ensuite, faites une construction sur ma construction a donné 108 erreurs. Très bien, donc j'ai pas mal d'erreurs, mais beaucoup d'entre eux font vraiment référence comme des bibliothèques manquantes. Bon, donc tu vois ici que je n'ai pas les blazers. Claverie, le jade du thé et certaines bibliothèques sont tout simplement absentes. Bon, donc ne vous inquiétez pas. Ce que je vais faire est juste important ces bibliothèques, donc nous allons juste cliquer avec le bouton droit sur le projet que mon Nisshin obtient des paquets et ensuite je vais passer par et installer tout ce que je pense qu'il manque. Donc je sais que ce Jason me manque. De nouveaux mutants sur ce fils J pour ne pas le savoir. Je veux dire, tu peux suivre mon chef. Tu peux juste ouvrir. Vous obtenez du projet de serveur sur, alors vous savez, tout ce qui est déjà en commencé nous aller de l'avant et bro et l'installer aussi. Donc je sais qu'on a eu des toasts de blizzard, une certaine discipline pour l'avoir au stockage local de Blizzard. Alors, obtenez celui qui obtient le fichier d'entrée. Je reçois l'autorisation des composants de base réseau SB. Donc, cela prend en charge l'authentification et l'autorisation pour blazer up. Tu dois l'enlever, on ne peut pas oublier sur JWT Library. Donc juste que, en effet, capacité. Et nous obtenons le 1er 1, puis après avoir obtenu ces bibliothèques qu'ils construisent sur nos moins d'erreurs. Mais beaucoup d'offres de Francine sont toujours manquantes, donc je dois m'assurer que j'ai les importations de cartes. Donc je n'ai pas mentionné les importations tout à l'heure, et allons-y et mettons-les. Je vais prendre tous ces petits ici. Le fichier d'entrée un toast, Onda et, vous savez, les implémenter dans les projets, puis faire une autre construction sur. J' ai juste corrigé les zones ici à cause de mon ami et remplacé l'histoire du livre. Pourquoi la référence a doublé. J' ai donc changé tous ceux qui parlent ces références. Et puis quand je jette un coup d'oeil à certaines des autres erreurs, ils disent qu'ils ne peuvent pas trouver, comme, je l'auteur dépôt. Donc, cela signifie que j'ai besoin que toe ad fasse une référence globale au contrat, donc je vais juste dupliquer cette ligne sur DSI. Je veux, euh, nos amis des contrats construisent, et c'est encore moins d'erreurs. On y va. Ça va bien se passer. Non, il se plaint du drapeau d'autorisation. Donc, les attributs autorisés. Nous devons donc inclure une bibliothèque pour cela. Andi retourne au serveur importe la bibliothèque qui ou démarre les projets serveur. Importe le fichier complet. Désolé, la bibliothèque pour l'autorisation serait ceux-ci à une distance pour les copier Andi, retournez à mon nouveau fichier d'importation d'assembly Web sur. Je les ai juste mis au sommet de la même façon. Et puis quand je fais une autre construction, je ne fais même pas moins d'erreurs, bien qu'il se plaint qu'il ne sait pas ce qu'est l'auteur. Donc l'auteur serait dans les modèles. Donc, une fois de plus, nous sommes l'arrêt sur les références. Droit ? Donc, ici, nous avons un des modèles statiques partagés et des contrats. On veut juste s'assurer que nous faisons la même chose ici. Alors laissez-moi juste dupliquer ceci et obtenir les modèles. D' accord. Sur le kiosque, les erreurs de construction de Maduro disparaissent. Donc, vous voyez que ce ne sont pas des erreurs qui sont de l'avoine. Landy Shore. Vous savez, hors de l'ordinaire, vous ne pouvez pas trouver dans les points. Vous savez, points de terminaison sont dans les dossiers statiques de il va y avoir préférence, le statique. Et puis cette époque disparaîtra déjà. Certains d'entre eux l'ont fait. Mais d'accord. Oui. Tu vois où venir ? Pas gentiment. Maintenant, certaines époques ne vont pas disparaître. La raison en est que le modèle d'hébergement dicte certaines choses sur certaines choses. Oui, Canton arrive dans notre assemblée Web, comme ils se sont produits dans le service. Non, c' est ça. Non, je suis dans le service de téléchargement de fichiers. Andi, si vous vous souvenez, ce que nous devions faire était d'obtenir l'environnement d'hébergement, est-à-dire le serveur partout où il était hébergé. Mettez cet environnement sur, puis trouvez le chemin racine Web et recherchez une prose plus complète. Maintenant, l'assembly Web ne va pas être sur un serveur va être sur la machine du client , ce qui signifie qu'il va s'exécuter sur votre machine et mon dans la machine individuellement. Il n'y a pas de serveur pour discuter pour télécharger un fichier. Donc, nous allons devoir soit exclure la fonctionnalité de téléchargement de fichiers de l'assembly Web parce que ce n'est vraiment pas pratique. Ou je vais étendre le A P I que nous allons, vous savez,faire vous savez, semblant de rappeler que le A p. A A p. A a été développé par quelqu'un d'autre est 1/3 partie api I mais, vous savez, théoriquement parlant. Mais ensuite, nous allons l'étendre pour dire, OK, OK, les gars savent que vous pouvez télécharger votre rapide directement. Donc, c'est l'un des inconvénients sont quelques-uns de la boîte de dépôt avec des assemblys Web qu'il exécute sur la machine du client. Donc, certaines choses ne sont tout simplement pas possibles, comme gérer un téléchargement de fichier en l'enregistrant dans un espace globalement accessible. Très bien, donc ce que je vais faire maintenant, c'est juste commenter tout ce vote de classe pour qu'on n' ait aucune erreur. Les deux téléchargements de fichiers sont, vous savez, références manquantes ici sur. Je vais tuer cette référence pour enlever la flèche. Ensuite, je construirais sur. Ensuite, je suis fait à huit erreurs. J' espère que vous n'identifiez pas huit erreurs comme moi. Je sais ce que ces huit Arizona et ils ont à voir avec la bibliothèque des plans A C T. Très bien, donc cette bibliothèque n'est pas tout à fait Où sont tous ces assemblages Web a la bibliothèque cliente HDTV . Mais alors ça ne se calme pas. Avoir ou besoin de l'usine client i sgtp. J' aurais probablement pu le faire de cette façon dans le serveur à la fois. Hey, on ne voulait pas monter dans le serveur. On va le faire d'une autre façon sur le web, en assemblant. Donc avec ces huit erreurs que j'ai, n' est-ce pas ? Non. Est-ce que ces erreurs que j'ai une connaissance brillante du facteur client http quand les quitter  ? La dernière chose que je vais faire, cependant, est de transférer tout hors du score pour les références à tous les services. Droit ? Pour que notre puits, nous n'avons pas besoin de rasoir côté service. Certainement. Ne le faites pas, mais nous avons besoin d'un rangement de blazer et de tous les autres. Nous n'avons pas besoin du client http at sur DSO. Donc nous allons être un peu pointilleux avec ce que nous copions ici. J' ai besoin qu'ils soient Frances au service local de Blazer et qu'ils lui portent un toast avec une copie. Ceux du programme Relenza surprenant. Et puis je veux les convertir aux nouvelles discussions étudiantes. Donc, c'est constructeur amarré services avec une majuscule s sur Faire la même chose ici, Builder dot services avec une majuscule s Nous obtenons des lignes rouges parce que nous avons besoin ou en utilisant des déclarations de points de contrôle onder t La suggestion que nous obtenons inclure les références sur alors quoi d'autre ? faire dès le départ. J' ai besoin de tout ça, est vrai, parce que ce sont tous les services que nous avons. Eh bien, le fournisseur d'Etat du FBI, nous avons les authentifications. Ils fournissent conscient du gestionnaire de jetons JWT et de nos services internes que nous avons créé quelqu'un pour tout à fait hors de ceux-ci. Tout va bien. Je vais juste faire Ah, vite, trouver et remplacer. Puis-je me laisser juste utilisable ? Donc non, nous avons des services de point de constructeur. Je suis juste en train de remplacer partout où nous avions des services avec des services de pensée de constructeur sur, puis il suffit d'inclure toutes les références manquantes sur. Après avoir fait cela, le téléchargement de fichier donne une erreur parce qu'en fait tout a commenté dans cette classe. Donc, il ne pense pas que cela comprenne pour entrer dans cette ligne plus tard, nous pouvons traiter de ces balles en ce moment, les priorités pour réduire ces flèches et s'assurer que tout s'alignera ici. Bon, donc si je fais une autre construction, je ne devrais voir que les erreurs que je connais. On y va. Ensuite, avec ça, je vais tout laisser tel qu'il est. Et puis quand nous reviendrons, ce que nous allons faire est re facteur ou dépôt basé sur la façon dont il utilise les clients http. 60. Modifier le code pour Blazor WebAssembly: Hé, les gars, bienvenue. Donc nulle part est allé à être re factoring ensemble utilisé le client http. Mais avant que je ne fasse ça, ce que je veux manger est entier. Vous verrez probablement beaucoup d'exemples d'écriture d'accord avec le problème d'être des clients. Donc, si je retourne chercher des données, vous verrez un exemple en direct de ce dont je parle. Nous injectons des clients http, donnons un nom hors cours, alors vous pouvez réellement faire l'appel du FBI à partir d'ici à l'intérieur des composants. Droit ? Donc tu fais juste l'appel du FBI juste là dessus, tu reviendras que ce soit sur ton bon d'y aller pendant que nous l'avons fait. Cependant, même dans notre serveur était que nous n'avons pas fait la cause du FBI à l'intérieur du composant. Au lieu de cela, on l'a cassé le dépôt ouvert. Le motif est allumé. On a une affiche qui s'occupe de parler pour nous. Donc, nous avons été injecter le dépôt approprié sont servis. Donc, si je regarde l'index pour que les auteurs appellent les gens ici sur nous utilisons le rapport de l'auteur assez ou Theriot, obtenir l'opération. Non. Si je voulais appeler le point a p i n directement dans le composant. Ce que je ferais est quelque chose comme injecter, les clients http lui donnent un nom et vous savez, j'aime mettre le client carré sur. Ensuite, je pourrais facilement dire modèle est égal à attendre sur le score clients sombres sur, puis soulignement Klein me donne toutes ces options. Donc je pense que ce que nous utilisons est d'envoyer un évier en ce moment dans notre dépôt basé, chaque appel que nous faisons, nous ajoutons simplement l'ours qui parle. Ensuite, nous monterons un évier. Mais alors nous aurions représenté l'arrêt de la demande ici, mettre dans l'URL et tout. Alors regardons le téléphone, Sean, Sean, plus précisément. droite. Donc ici, dans le get, nous construisons une demande que vous savez que c'est que je reçois des demandes que cette fille , puis nous créons le client sur. Ensuite, nous ajoutons la bière qui parle, puis nous faisons l'envoi d'un évier, puis nous obtenons la réponse, et ensuite nous d sérialisons le contenu dans la liste de n'importe quel type que nous voulons. Donc vous voyez, tout cela est un peu condensé en un seul FBI appelé la seule chose qui n'arrive pas dans ce que je vais vous montrer, c'est l'ajout de la bière qui parle. D' accord, donc j'aurais pu dire aussi facilement que le client reçoit de Jason assouplissant. Alors dis-lui ce que j'attends exactement. Ce qui aurait été une liste hors cycle d'auteur a dit que je liste hors auteur type. Donc la droite va gérer la sérialisation du Jason pour moi. Ensuite, après avoir fait cela, je verrais juste l'URL, que nous savons être des points de terminaison, Author Europe. Donc, beaucoup de gens écrivent réellement la chaîne statique juste ici, comme ils écriraient réellement un ancien hôte local. C' est cinq ceux-là et slash le FBI, tu sais, je n'aime pas faire ça. Nous avons fait le fichier statique pour éviter cela. Et si on avait besoin de changer et qu'on pouvait le changer à un endroit et ça marche, non ? Donc, au lieu de cela, vous pouvez simplement dire les points de terminaison. auteur, au point sur ce que cela ferait réellement, c'est de faire littéralement toutes ces lignes hors cour dans un seul but, non ? Tout cela aurait été fait en un seul appel, puis il retournerait automatiquement No. Voici quelque chose qui s'est mal passé ? Non, bien sûr que tu dois essayer. Les prises sont seulement 10. Gérer ça, Tu sais, vivre un peu mieux. Cependant, parce que hors opérations supplémentaires, comme l'ajout de la bière parler avant l'appel et ainsi de suite. Nous vous savons, il était préférable d'extraire les orteils du composant. Mettez-le dans sa propre classe. Je l'appellerais comme on en a besoin. D' accord. Donc je vais juste quitter ce pays de cool loué pour qu'ils puissent voir ce qui était possible. D' accord, mais nous n'avons pas vraiment besoin de ça parce que nous avons ou fiduciaire hors du dépôt. Ni l'auteur Repository, comme vous le savez, implémente une classe qui appelle vraiment des fonctions du dépôt bête. Le référentiel basé a ces erreurs en ce moment. Donc, nous allons corriger ces erreurs et ensuite re facturer ce tribunal pour ressembler plus à la cause de la cause du client plutôt qu'à ces facteurs cause ou nous construisons notre client manuellement. Donc je veux changer cet orteil. Http. Le client tout droit sur eux est monté. Est-ce que celui-là aussi ? Bon, alors vous allez voir un tas d'autres erreurs surgir parce que non Nous n'avons pas besoin de le faire. Créer un client car il s'agit d'un créé en essayant ceci. Nous venons d'injecter notre client qui existe. D' accord, donc je vais juste aller au sommet. Il s'agit de la création sur. Nous allons réécrire tout ça et probablement le condenser orteil peut-être trois ou quatre lignes . Donc ce que nous allons avoir, c'est bien, la première chose que je voudrais probablement faire est de m'assurer que le jeton du porteur est présent, non ? Quelqu' un orteil prendre ça et le mettre en haut sur Donnez le soleil sur le score. Donc, il sait que le client qui vient d'être injecté s'il vous plaît ajouter le bureau par défaut mieux off alors nous avons toujours la fonction pour obtenir le jeton porteur. D' accord. Et puis c'est une fonction de création. Donc, je sais que je suis censé faire opposé Say soulignent clients. Des points posés. E le pense ? Bien sûr après comment il poster un évier sur. Ensuite, cela va prendre le U R I. Donc, nous avons des points de fin. Désolé. Non aurait été un point. Alors, vous êtes d'autre. Désolé, tu es sur moi. Ensuite, on prend du thé. C' est notre objet ou B J mon mais d'accord, donc nous avons O B J o b j étant ce qui a été passé dans Andi donc VJ est ce que nous avons passé. Aussi, laissez-moi relire, donc il n'est pas posé un évier. Si nous posons un évier et nous regardons les surcharges, nous devrons convertir l'ancien Bijan en un contenu http droit. Donc contexte tôt, nous pouvons dire post comme Jason E couler sur. Alors nous disons le type T, monsieur, rappelez-vous, thés sont génériques parce que nous ne savons pas si c'est censé être l'auteur ou si ça va être un livre ou même un utilisateur, nous ne savons pas, Donc les thés sont des objets abstraits. Donc, nous disons que lorsque vous envoyez les messages et l'équivalent Jason de n'importe quel objet est ici sur ce haut, tout BJ cet objet littéral a le batteur. Donc, cela devrait être que j'aurais dû dire classe, Alors envoyez l'équivalent Jason de n'importe quelle classe est t à l'utilisateur auteur du livre de temps, etcetera sur d o B J a le batteur réel emballé qui devrait être envoyé à travers le droit emballé. Non, cela renvoie et message de réponse http qui est la même chose que nous avons déclaré ne pas ici . Donc, je vais dire que la réponse http est égale à attendre cet appel. Ensuite, je peux supprimer tout cela. Et puis ce que nous n'avons pas est notre vérification que nous avons avant où nous voyons si le code de réponse est qui est alors retourner vrai, sinon retourner pour. Donc vous voyez, nous avons juste condensé quelques lignes hors cour en remorquage, peut-être deux lignes sur la même déclaration qu'avant. Bon, donc on va juste le faire pour tous. Je suis quelqu'un pour faire la même chose pour supprimer. Laisse-moi juste choisir un bon point. Donc, oui, je veux garder ça, mais alors je n'ai pas besoin de cette partie. Donc je vais voir comment ça me laisse d'abord ajouter la bière qui parle. Donc nous voulons toujours faire ça d'abord au jeton de bière. D' accord , alors. Tu vois ? Les clients. Fléchettes. Onda. Y a-t-il une suppression ? La pensée est là sur les eaux. Supprimer le besoin face en tant que, euh, paramètres. Donc, il veut vous demander. Je suis si littéralement ? Quoi que nous ayons ici, vous pouvez juste dire que mettre ici, puis cela renvoie notre réponse. Ratez ça. Donc, nous voulons voir le message de réponse http est égal à attendre cette voiture parce que c'est une chose. Donc, nous devons nous assurer d'avoir du poids sur. Ensuite, je supprime toutes ces extrémités de la cour et soulève ou si des déclarations. D' accord, alors assurons-nous qu'on se souvient de mettre la bière en train de parler avant qu'elle ne passe l'appel. D' accord, donc la prochaine, on veut avoir un dossier spécifique donc la prochaine, on veut avoir un dossier spécifique. Donc, ce que nous allons avoir ici, c'est d'abord, nous allons impliquer le Nous parlons à son client ou à son client. Et puis je suis allé voir, rappelle-toi que non. Ici. Nous aurions obtenu une réponse. Évalué le cordon sur, a obtenu le contenu à retourner. Droit ? Donc, essentiellement, quand nous changeons la seule pour le client, pas obtenir si elle obtient un taux de participation financière. Donc, nous venons de retourner le contenu, Donc si elle n'a pas obtenu le contenu va revenir. Non. Bon, donc je vais voir Vier. La réponse est égale à on. Puis les clients s'amarrent, montez. Je peux voir. Viens de Jason e évier. Peu importe. Type de classe à l'époque, alors cela va s'attendre à l'U R I pour cela. Donc, le vous êtes un ou U R l Désolé serait u R l plus i ds Et ils sont juste que là-dedans , alors je peux retourner la réponse. Donc, toutes les écoles sont que nous avons eu je viens de répondre Rx Donc il y a trois lignes obtenir cette ligne rouge parce que j'ai besoin d'attendre. Bon, alors on y va. Ensuite, nous avons le retrait de la liste, donc c'est à peu près la même chose. Je vais juste copier ça. Andi a mis ça à l'intérieur de l'essai. Sauf cette fois, nous avons seulement l'URL, pas l'Europe, plus je d. Donc c'est juste l'URL sur cette fois-ci. C' est une liste de type t. Donc vous voyez ici sans liste de T. Donc, ce sera la même chose là-bas. Ensuite, nous avons retourné la réponse pour que tout cela disparaisse littéralement. D' accord, donc je veux dire, il y a un bon avantage, Vous savez, vous pouvez probablement revenir en arrière et voir si vous pouvez re facteur notre dépôt basé d'origine à cela , mais je veux laisser l'original sur la façon dont il est sur. Vous avez donc deux exemples. Vous avez la cour d'origine, et vous avez cette méthode. Mais ceci encore une fois, est dans le projet d'assemblage Web Blazer pour le dépôt bête. D' accord, , alors, pour les marionnettes ou optimistes. Je suis allé de l'avant et je l'ai fait. Une fois de plus, j' ai laissé le chèque initial. J' ai inclus le jeton porteur de la réponse pour mettre comme Jason un lavabo un type t avec l' URL sur la porte d'eau un paquet sur que je prends si le code de réponse est bon ou pas au retour. D' accord. Donc, c'est à quoi ressemble notre référentiel basé no quand je fais une construction. Je reçois ces erreurs dans les autres parce que, eh bien, ils regardent toujours la bibliothèque client http. C' est donc ce qui a été prévu. Usine. Donc je vais juste passer par le dépôt Auteur sur les mères de bébés. Donc, ce n'est plus I TTP usine genre. Il l'est. Non. La classe client http sur le fichier dwell a circulé, a été exclue ou est exclue pour no. Vous devez vous assurer que nous le faisons pour le référentiel d'authentification sur. Ensuite, nous allons avoir un accord de réfracteur orteil dans cela aussi, parce que rappelez-vous que cela utilise l'usine actuelle. Donc, sachez à quoi cela ressemblerait est un poste est opposé comme Jason. Quelque chose, pas vrai ? Donc, je vais commencer par dire que la réponse au bar est égale orteil mes clients commencent à poser comme il est allumé. C' est notre Jason. Tu coules et tu t'éloignes du cours après, tu vois, attends. Donc pauvre dit Jason est penser que le pistolet appelait des points, pas Logan Endpoint sur. Nous transmettons l'utilisateur en tant que données. Bon, donc c'est notre post sur. Alors je vais enlever tout ça parce que cette ligne a une fois de plus remplacé tout ça. On va vérifier si c'était un succès. Starter a marqué nos noeuds. On n'a pas besoin d'orteils. Prenez tout le reste de cela parce que nous voulons le contenu de la réponse. On va tirer, s'asseoir et prendre le jeton. Nous allons toujours définir le stockage par défaut en parlant de changer l'état hors du haut alors bien, nous pouvons routiner cette ligne hors cored, mais je ne pense pas que cela soit nécessaire parce que nous l'ajoutons vraiment à l'appel à chaque fois toute façon. Mais je vais juste le laisser là comme un peu hors de la cour de l'héritage. D' accord. Dis, voyez cette ligne. Juste il pense à un certain nombre. Très bien, Nous quittons le bateau d'amour, comme c'est à l'époque. Juste la même chose pour le registre où je mets que nous avons. Désolé. Laisse-moi juste normaliser. Donc, nous avons la réponse étant égale à un appel post au point de terminaison du registre, et nous transmettons l'objet utilisateur juste pour sembler que nous sur D. C ce 19 Bien sûr. Encore une fois, juste enlevé peut-être six lignes de la cour. Bon, donc je peux enlever tout ce cordon hérité sur les deux lignes. Nous aurions enregistré une personne ou des noeuds, non ? C' est donc notre nouveau dépôt de look sur. Alors je vais faire une construction sur Dhere. Je prends l'air dans mon rasoir. Il se plaint d'un programme de bateau. Laisse-moi vérifier mon programme. Financier. Tout va bien quand je vérifie. Je vois ici qui ont le Dr Watson deux fois. Droit ? Il y a donc un espace de nom simple. Quand je retourne là-bas, le codage des couleurs n'est pas ce qu'il devrait être. Laisse-moi construire à nouveau. D' accord, il est construit sur. Je ne pense pas que nous ayons pris le contenu de la mise à jour. Un rasoir. Non, on ne l'a pas fait. Donc, l'Abdolreza se souvient que Nous aurions consacré avec la vue autorisée sur la cascade sur certaines choses, donc je vais réellement le faire. Ok, laisse-moi juste copier ça, mais je vais me faire quelques changements. Les modifications d'utilisation d'Andi affecteront l'expérience de l'utilisateur. Donc, ce qui se passe en ce moment, c'est que si quelqu'un ne se connecte pas et qu'il essayait d'accéder à une page, il aurait probablement juste au Pete. Ce que je veux faire est probablement les rediriger orteil longtemps dans p peur ou le journal empêche. Donc, je vais modifier la vue de route des yeux de l'auteur. Donc je vais transformer cette ville en une personne ouverte et proche pour prendre ce discours. Ensuite, mettez un discours de clôture pour cela manuellement. On y va. Le jour à l'intérieur, hors de cette vue de route autorisée, je vais mettre ah flood qui n'est pas autorisé. Et puis à l'intérieur ici, vous pouvez essentiellement mettre un composant, sont mis en place quelque chose à voir. C' est ce qui devrait arriver quand quelqu'un n'est pas autorisé. Donc, ce que je vais faire est de configurer un composant sur lequel je vais appeler la redirection pour me connecter . Donc c'est rouge parce qu'il n'existe pas encore. Bateaux. C' est facile pour nous à réparer. Donc, nous allons juste faire un composant de costume et qui met l'intérieur de partagé afin qu'il soit globalement accessible à peu près nos composants Reza. On va l'appeler rediriger pour se connecter à Andi à peu près. Tout ce qu'il va faire est juste de naviguer orteil le désir p dreck. Donc, une fois qu'il est redirigé ici, il va juste s'initialiser, juste navigato s'agrippant il va juste s'initialiser, . Ok, alors nous allons juste une autre construction sur. Nous voyons que nous avons un bâtiment réussi. Je vais m'arrêter ici. Donc quand nous reviendrons, nous allons tester les fruits de notre travail ou affacturage nous allons faire des intérêts inter avec l'authentification Onda, la gestion du livre Désolé, la direction de l'auteur, puisque la gestion du livre nécessite de fermer, ce qui n'est pas tout à fait prêt, mais continuons à tester certains d'entre eux 61. Fixations et ajouts essentiels: Bon, alors on est là. J' ai eu un problème de qualité des données. Donc effet indirect ceux sur. Nous pouvons voir que nous avons cette apparence authentifiée de l'état. Si je vais au discours de l'auteur, alors nous reviendrons. Tous pour les auteurs. Dana ne l'est pas, je veux dire, donc elle n'a que les options de vue. Si je clique sur la vue et qu'on voit où tu l'auras ? Retour ? Un. Donc tu vois ici, je reviens. Thèse sur le côté, c'est le toast. Donc je pense que je dois faire un peu de ménage, mais ce n'est pas un problème. Nous voulons juste vérifier que nous allons revenir ou dissuader. Si je regarde les livres, houles, les nouveaux projets ou non, hors de ces couvertures de livres montreront, Donc c'est bien. C' est compréhensible, mais nous devons avoir une poignée sur ces modifications de poste. D' accord, donc au moins nous avons vu que nous avons réussi à faire une opération a amené notre serveur à l'assemblage Web, et la plupart des choses comme un gant. Différences mineures. Allons donc juste de l'avant et nettoyons notre application. D' accord, alors laissez-moi commencer par le toast, pour que les toasts manquent un fichier CSS, qui aurait un bean dans plus de pages et l'hôte Andi. Il y a cette référence de fichier CSS. Comprendre ? Pour copier cela et le placer au-dessus de l'index, démarrez Eastern of file de ce côté. Tout de suite, alors. Je vais juste passer par et m'assurer que la notification de toast arrive au bon moment. Donc sur ce, sur notre création ou nous avons été nous avons dit que si c'est une création réussie, alors, vous savez, montrer le toast tout en naviguant loin. C' est bien. Nous faisons cela pour les suppressions de la même manière pour l'erreur, juste cet index où il n'y a pas de toast sur l'index. Mais alors, pour une raison quelconque, j'ai mis le toast pour la page de vue en haut, compris ? Attrapé cela, mettez-le en dessous de l'initialisation du modèle. Donc, une fois qu'un modèle obtient ses données, alors nous montrons notre toast, voyant tous vos pas de visionnement pour toujours. Donc, cela devrait résoudre cette préoccupation. Alors je suis allé de l'avant et j'ai regardé le fichier de vue pour les livres et j'ai vu que je l'avais au même endroit et dans les sommets. Je viens de répliquer ce gène sur les pensées. Bon, donc notre application est en cours d'exécution. Non, ce qu'on doit faire, c'est comprendre ce qu'on fait à propos du livre. Couvre-toi. Les routes sont ouvertes. C' est en général. Alors laissez-moi juste passer en revue ce que tout sur les téléchargements de l'application serveur. L' attente aurait été que cette application, l'application serveur Blazers, aurait été stockée ou hébergée sur une machine serveur, une machine centrale où les gens qui grandissent à l'Earl Andi exécutent le haut sur quand ils télécharger. C' est ce serveur. L' assembly Web fonctionne un peu différemment car il est en fait chargé directement sur la machine cliente. Nos gars. Donc, ce que j'ai fait ici, c'est l'exécution orteil, la fois l'assemblage Web sur le serveur côte à côte. Très bien, donc tout ce que ça allait au studio visuel va à la solution. Les propriétés et la sélection démarrent sur les trois projets sur le FBI en cours d'exécution d'une manière différente . Pas de puces, les deux applications clientes ironie côte à côte sur l'inspection des éléments en regardant le Seigneur réseau pour l'une ou l'autre application. Vous pouvez le voir bien, l'assembly où charge quelques choses de plus que le serveur. En plus de cela, vous basé sur le navigateur que vous utilisez ou parfois vous pouvez réellement voir. La DLL est en cours de chargement. Donc, les offres sur tout le contenu nécessaire pour les sites Web ou pour l'application sont effectivement chargés directement dans le navigateur à la fois. Donc, il n'y a pas où Central pour un téléchargement de fichier, en fait lieu de fichier. Donc, pour cette raison, ce que nous allons faire est de s'étendre sur un PNG juste à côté. Ceux-ci vont étendre notre A P I pour la création sur n'importe quel livre orteil inclure un espace pour nos téléchargements de fichiers. Donc nous allons télécharger des fichiers au FBI et le FBI les stockera sur ce que les Urgences de réserve ont dit, EPA est hébergée sur. D' accord, donc c'est sur ça qu'on va travailler quand on reviendra. 62. Téléchargez Blazor WebAssembly et fichier API API (Créer et vue): vous êtes les bienvenus. Donc, non, nous allons modifier nos opérations de livres pour répondre à nos téléchargements d'images. Lorsque l'écoute précédente, j'aurais mentionné que les applications d'assemblage Web ne seront pas en mesure de gérer les téléchargements de fichiers comme nous l'aurions vu avec les serveurs. Onda plus spécifiquement sur le serveur blazer dans la librairie Vous I il vous aurait permis télécharger le fichier et stocké sur le serveur que le serveur est hébergé sur le web. L' assemblage, cependant, n'a pas un tel mécanisme puisqu'il n'y a théoriquement pas de serveur derrière lui. Donc, ce que nous allons faire est de modifier sur FBI afin que nous puissions traiter ah, téléchargement de fichiers ou transfert de fichiers entre l'application cliente Web assembly application sur le serveur sur lequel le FBI est hébergé. Très bien, donc dans l'ensemble du scénario, hors des scores et toutes les tâches que nous avons effectuées un peu pour voir que les fournisseurs tiers du FBI n'ont pas étendu la possibilité pour nous d'envoyer les fichiers à la place d' avoir les trous les fichiers nous-mêmes. D' accord. Donc, je vais commencer par modifier le modèle de livre dans le a p I. Donc nous avons le DT a DT Oh, désolé. Réservez DT Oh, dossier dans notre librairie FBI sur. Je vais modifier les trois classes que quelqu'un orteil ajouter une nouvelle propriété sur je vais juste un détracteur sur le prix sur celui-ci va voir un fichier de chaîne. Non, ce fichier de force va être différent de la propriété image du flux car l' image va être stockée dans la base de données. Cette valeur est destinée à la base de données. Au-dessus de celui-ci est juste un peu de neige Certains beaters sur le fichier qui est originaire du client afin que nous puissions l'avoir dans le côté serveur pour le bien. Mais comme nous allons le long, vous voyez, Donc je vais juste ajouter cette propriété pour réserver GTO sur tout autre détail que vous pourriez avoir bien, à savoir livre mis à jour sur livre créer parce que nous allons également utiliser cette propriété toe obtenez les détails du fichier pour une mise à jour, ainsi que des détails pour créer sur. Ensuite, chaque fois que nous chargeons nos données à l'aide de la BTO normale du livre, nous devons également charger les détails du fichier par image. Je vais également modifier un peu la structure A complète, et je vais inclure un téléchargement plus complet. Donc, juste à droite, cliquez sur les projets. Allez ajouter Select New Fuller sur Je vais l'appeler charges. Très bien, Donc, bien que les téléchargements vont aller ici donc nous n'avons pas le doublet un peu de la route pour que nous avons fait dans le, eh bien, l'assemblage Web ou le serveur. On n'a pas ça ici, donc je ne vais pas trop bernie. Nous venons de créer et de télécharger le dossier sur. Nous allons juste noter un point vers le contenu avec à la place hors route de l'environnement. Passons maintenant au modèle de livre pour nos projets d'assemblage. Donc nous avions le livre, pas CS allumé. Je vais ajouter ce fichier. Je me sens là aussi, sorte qu'il y a un mappage direct entre les détails sur le modèle UPS d'assemblage Web. Maintenant, passons à nos composants de création et modifions un peu. Donc, je vais prendre toute cette référence de service de téléchargement de fichiers parce que je ne vais pas compter à nouveau sur le mécanisme de téléchargement de fichiers régulier, donc je n'ai pas besoin d'une référence à ce service. Et bien sûr, si je supprime ça, nous allons avoir quelques erreurs ci-dessous. Mais c'est très bien. Donc, cela, je peux juste le supprimer et je vais le commenter je viens de le supprimer sur. Ensuite, modifions ce cordon orteil aiment. Maintenant, le concept derrière ce que nous sommes sur le point de faire est vraiment basé sur ce que nous avons fait ici en explorant le téléchargement du fichier lui-même. D' accord, donc quand on a fait la sélection du fichier, ce qu'on a fait c'est qu'on a obtenu le fichier qui a été sélectionné. On a fait une validation sur. En fait, j'ai examiné cette cour, et je pense qu'il serait préférable d'obtenir la prolongation. Donc, au lieu de regarder le nom du fichier pour voir s'il contient, je vais obtenir l'extension, juste. Donc j'ai juste fait ce changement comme nous sommes depuis qu'on est là en ce moment, et ensuite je le prendrai. L' extension contient ces mots clés pour la validation sont parce que la chose est que lorsque vous faites nom de fichier, vous pourriez avoir quelque chose un fichier txt avec le nom J p. G. Donc il pourrait être jpg, doc. Txt. Bon, donc c'était une mauvaise décision de ma part. Si vous l'avez attrapé et que vous l'avez déjà réparé, alors vous félicitez. Pas de problème. Tout le mieux. Alors avançons. Donc, après que nous avons validé ou fichier, cela vient d'être sélectionné. Ce que nous faisons est téléchargé dans un flux de mémoire sur. Ensuite, nous faisons un peu de conversion orteil obéir 64 chaîne de données et puis nous utilisons ce soit 64 date astri toe, créer un sur la représentation immédiate ou prévisualiser le fichier. Non, ce que nous allons faire c'est compter sur cette base de données 64, en fait transporté à travers le tuyau entre le FBI et les clients. Donc, c'est en fait juste une chaîne sur. Si vous le regardez, c' est comme un énorme silence qui représente juste les données afin que vous puissiez les convertir à partir des données. Ce flux de mémoire représente la date à droite ? Donc, le lecteur représente les données réelles, ou au moins la spirale M représente les données réelles chargées dans la mémoire, et c'est comme où d la sérialiser en une chaîne statique. Et puis vous pouvez prendre cette chaîne sur l'ingénierie re dans une image qui est à peu près ce que nous avons fait ici. Bon, Bon, donc ce que nous allons faire, c'est compter sur cette ligne hors cour pour nous donner les données de base 64 que nous allons ensuite balayer dans notre propriété de fichier pour le livre. Bon, alors faisons-le ensemble. Donc, créez quand nous rassemblons tous les détails de l'image et quoi que ce soit d'autre, puis nous avons dit le nom de l'image. Laisse-moi bouger un peu. Ce que je vais faire est aussi dire que le fichier de points de modèle est égal au fichier M s, qui est le flux de mémoire. bon, ça a toutes les données. Il y a ce flux de mémoire. Donc, je dirais jamais à cette cour un peu où au lieu d'avoir plusieurs flux mémoire ont un flux de mémoire, donc si vous ne l'avez pas fait, vous pouvez juste le regarder. Nous avons un flux de mémoire qui est global sur toute la page. Alors ce que nous faisons sur la sélection des poignées est que nous sentons ce flux de mémoire avec les données, Donc cela signifie que pour tout le cycle de vie hors du discours, ce flux membre aura les données qui représentent l'image qui vient d'être sélectionnée. Donc tout ce que je vais faire à ce stade, c'est convertir. C' est essentiellement faire ça, non ? Donc, cette image Bay 64 données où nous convertissons ne pas être un flux 64 va juste copier cela puisque je suis déjà là, c'est ce qui va être la valeur pour le fichier. Donc, la chaîne qui va être générée à la base 64 qui va être incluse dans le fichier sur, puis envoyée à le fichier sur, travers le fil avec le modèle et bien sûr, notre livre, BTO, a le fichier propriété, donc il va le recevoir sur puis savoir ce que nous devons faire est de le traiter, puis de le ré-ingénieur dans le fichier physique à afficher doivent être sauvegardés plutôt dans notre ordre de téléchargement. Mais tout le reste reste le même parce que nous obtenons toujours le nom de l'image comme d'habitude hors cours. Nous allons devoir changer certaines choses du chemin à mesure que nous avançons. Mais c'est pour ça que nous sommes là. Bon, alors sachez que nous avons fait ça. Ce que nous allons faire est juste de modifier l'action de création de notre livre. Fais ça en même temps. Donc, nous avons créé le jour, nous allons devoir modifier ce qui se passe à l'intérieur de cela. Je vais vérifier après avoir fait toutes ces opérations. Et je vais le faire après que je sache que c'était une création hors enregistrement réussie parce que je veux télécharger le fichier sur. Ensuite, la création d'enregistrement se sent donc que nous pouvons juste faire cette opération après ou vérifier si elle a réussi quelqu'un pour voir si pas bon point de chaîne est non sont vides. La signification est leurs données à l'intérieur de cette chaîne et la chaîne que je vais inter obtenir est dans notre livre BTO fichier ancré. D' accord, alors rappelez-vous, nous trouve une chaîne, donc je vérifie. Ai-je eu quelque chose à l'intérieur de cela et tout le chemin que je devrais obtenir quelque chose à l'intérieur du fichier est s'il y avait un fichier sur DWI. J' ai obtenu l'image ainsi que le fichier physique. La chaîne doit être 64 chaîne. droite. Donc, s'il y a dans les données à l'intérieur de ce fichier se sentir désolé, alors ce que je veux faire est d'obtenir le puits crée un chemin d'image. Donc, notre chemin d'image pour sauver notre passe I am G est égal à on. Nous avons besoin de nos environnements. Quelqu' un pour y retourner. Je devrais inclure certaines des choses que nous avons incluses dans l'original. Laisse-moi revenir en arrière. Donc je suis juste en parallèle pour que, tu vois que la plupart de ces trucs qu'on a déjà fait avec ce genre de transfert de connaissances, non ? Donc, dans notre téléchargement de fichiers, nous aurions dans l'environnement hôte Web injecté I. Et c'est ce qui nous donne accès aux quatre entiers. Structure de l'application serveur. Encore une fois, l'application d'assemblage Web n'a pas d'environnement hôte Web, mais notre FBI le fait. Donc, cette bibliothèque ne fonctionnerait pas à l'intérieur de notre assemblage avec. C' est pourquoi nous avons commenté tout ce cordon de téléchargement de fichiers initialement pour se débarrasser de l' Eros. Mais il est très présent dans nos A ks. Je vais juste emprunter cette ligne sur le contrôleur des livres Dinar. Je vais l'injecter bien. Et bien sûr, tout en l'injectant, nous avions orteil inclure la référence manquante. Donc, une fois que vous avez fait ça, alors vous pouvez continuer. Donc, quand nous allons créer sur le chemin de l'image, je vais devoir voir quelque chose comme quoi ? J' utilise juste mon interpolation sur construire tout le chemin donc dois d'abord obtenir notre environnement. Soulignez donc les points d'envie sur. Ensuite, dans la précédente, nous avons utilisé, laissez-moi voir ce que nous avons utilisé dans le téléchargement de fichiers. Nous utilisons le chemin Webroot maintenant. n'y a pas de chemin Webroot parce que la route Www est ce que Route pot. Il n'y a nulle part Rupa dans notre acre, nous n'avons pas de racines www. Donc, à la place, je dois utiliser le chemin de route de contenu, qui est où nos applaudissements pour cela est, qui est le pot racine pour tout notre rapide de toute façon, non ? Donc, je vais dire, Où étais-je dans le contrôleur Envy Dots Content route Path on. Ensuite, je vais juste construire toute la partie ici barre oblique uploads barre oblique Rappelez-vous, nous devons faire la double barre oblique en raison du caractère d'échappement sur. Ensuite, je vais voir le livre GTO image point. Bon, donc le détail du livre pas l'image, parce que je sais que c'est ce que je veux voir. Vitter a raison. Je veux le voir dans les téléchargements. Folo sur le nom de l'image ou la famille et je suis tombé sur la pipe dans le détail. L' objet se trouve dans la propriété image. C' est donc la conclusion que j'ai l'intention d'utiliser. D' accord, alors je vais convertir sur Bay 64 string. C' était dans le dossier. Propriété en remorquage. Ah, mordez, dépêchez-vous. Bon, donc on va créer la morsure, Ari. Je veux dire, cela aurait pu facilement être tiré à la barre, mais j'utilise le temps de données explicite juste pour que vous puissiez voir exactement ce qui se passe. Donc on voit une morsure, Ari. Les piqûres d'image sont égales à convertir à partir de la chaîne Bay 64. droite. Et si vous regardez juste la surcharge ou ce qu'il faut, ça revient sur mon atari, et ça prend une rue. On a les deux. Donc nous avons la zone de morsure pour la recevoir, et nous convertissons la chaîne. C' est la chaîne de base 64 qui se trouve dans le fichier. D' accord , alors. Une fois que nous avons fait tout cela, nous avons simplement déposé tout de suite. Donc, nous voyons fondamentalement le fichier, ce qui est contradictoire parce que, ok, je ne veux pas de cette fonction de fichier. La fonction sont que je veux sont la classe. Je veux despond dans le système que je dois ce fichier pour que vous ayez ce conflit. Si vous avez ce conflit, il suffit de le qualifier. Le système que je ne produirai pas est égal à annuler. Désolé. Système que je ne voudrais pas déposer point droit, Tous mord sur. Ensuite, nous avons la partie image, sur laquelle nous venons de construire. Ensuite, l'image mord. D' accord, d'accord. Donc j'ai bien l'esprit de prendre ça pour un tour, donc je vais juste commencer notre projet. D' accord ? Donc, je suis connecté en tant qu'administrateur, et je suis aux livres sexuels inimiques à la page de création à droite sur le Mais je reçois une erreur. Laisse-moi vérifier la console et voir ce qui se passe. Je reçois une erreur pour laquelle nous ne pouvons pas trouver l'entrée blazer. Donc ça veut dire qu'il me manque une référence. Quelque part sur cette référence est un fichier JavaScript. Donc, dans les hôtes ou le fichier hôte du projet serveur, nous aurions inclus ses bateaux. Je suppose qu'il oublie cette inclusion quand on a cherché. Donc, je vais juste au-dessus du projet d'assemblage Web dans le fichier d'index inclus de la même manière. Et puis réessayons ça. D' accord. Et on est de retour. Il n'y a pas d'erreur cette fois, alors continuons. Je vais aller de l'avant et créer un livre. Donc celui-là, je vais l'appeler Auto Bio. Je vais le donner sur Spn, lui donner une valeur raisonnable. Un prix sélectionnant l'auteur. Mon livre sur les moments alors ont été en attente pour choisir un loin quelque part pour choisir mon headshot sur. Ensuite, cliquez sur Créer un livre sur, puis ont été redirigés. Et nous obtenons notre succès, Mme Je suppose que quelque chose s'est passé dans notre studio visuel. Dans l'Explorateur de solution. Nous voyons que nous avons effectivement eu ce dossier à travers le brochet. Bon, donc nous voyons qu'une chaîne 64 a été convertie. Ne pas à la batterie et écrit au bon endroit sur ce est notre espoir. Fermer le dossier. Juste ici. Donc, cela fonctionne bien sur DNO. Nous pouvons continuer avec notre preuve de concept sur les autres pages. Donc c'était pour le ruisseau. Donc, je peux fermer créer ce composant est fait. Ce que je vais devoir faire Non, pour notre point de vue, index et Raisel, c'est de m'assurer que notre image est réellement envoyée dans l'autre sens, ce qui signifie que nous envoyons depuis le p R du serveur. Alors les clients, comment vais-je faire ça ? Eh bien, j'ai mentionné maintenant que c'est ce que nous avons notre nouveau dossier d'appel de propriété pour droit. Donc, nous avons besoin toe converti du fichier physique en A par sa chaîne 64 sur la chaîne de base 64. Désolé sur. Ensuite, mettez-le dans le fichier dans l'objet sur, puis envoyez-le à travers le fil. Alors commençons ce processus avec notre point de vue. Compléter le composant de vue de puits d'abord, mais la vue Ah, action. Où on est donc où tu as des livres ? C' est obtenir un livre. Bon maintenant, dans le livre. Ce que je vais vouloir faire, c'est retirer le chemin de l'image qui est à l'intérieur de l'enregistrement. Donc, quand nous obtenons l'enregistrement, s'il y a une valeur d'image, parce qu'il peut y avoir très bien pas une image attachée aux livres requis, donc nous devons vouloir seulement l'obtenir. S' il y a effectivement une image, assurez-vous que le fichier existe, puis convertit parce que si nous ne parvenons pas à faire tout cela, alors il attrapera certainement une exception. Et juste à travers un 500 0 chaque fois que nous essayons de naviguer Donc je vais d'abord avoir orteil, faire quelque chose comme après avoir obtenu le record sur puis nous avons marché dans le DT Oh, Je vais vérifier sur DSI si notre propriété d'image ne sait pas Lar droit vide. Donc, si les écrous de chaîne ne sont pas tous vides, pas la chaîne n'est pas vide sur la menace d'image de stock de réponse Donc, nous nous assurons qu'il y a effectivement une valeur. Ensuite, nous avons besoin du chemin de l'image. Non, j'ai déjà écrit froid comme ça dans la création où je faisais le bon chemin. Et puis je suis allé après ça. Un peu similaire hors cour connaît ma philosophie et une bonne règle est que si vous devez écrire la même chose plus d' une fois dans plus d'une espèce, écrivez-la un endroit où tout le monde peut l'appeler. Donc, en d'autres termes, je suis juste dans la fonction créative qui va retourner Ah, chemin complet pour n'importe quel besoin d'image donné, droit, donc en haut. Et il n'y a pas de raison particulière d'aller sur les meilleurs bateaux, vous savez, vous pouvez écrire une fonction n'importe où à l'intérieur d'une manette. Je veux dire, une fois dans la classe. Mais je vais juste mettre celui-ci en haut ici, et je vais juste créer une fonction de chaîne privée rapide qui va voir obtient le chemin d'image. Tout va bien. Ensuite, ça va prendre un paramètre, et c'est privé. Il va prendre la chaîne de paramètres imaginant. Voyons voir. Eh bien, enfin, chaîne enfin maintenant, truc cool. Ah, bateau c pointu vers le haut est que nous pouvons faire tout cela d'une extrémité. Mais je vais vous montrer quelque chose d'abord, où ce que je vais faire est de revenir, et ensuite je vais juste faire la même chaîne interpolée. Mais cette fois, je vais le trouver parce qu'on passe et on l'a viré. J' ai donc les règles de contenu de l'environnement. Le dossier rapproché sur n'importe quel nom de feu est passé de cette façon. Chaque fois qu'on a besoin d'interroger ce plus complet, on peut juste obtenir la partie complète de cette fonction. Très bien, sur, alors, si c'est que nous avons, vous savez, nous avons eu pour cela dans d'autres classes ou d'autres paramètres qui ne sont pas seulement dans ce contrôleur que nous pouvons le faire un peu plus accessible, mais pour non, c'est le seul endroit où nous en avons besoin Maintenant, Voir, pointu. Il nous permet d'écrire tout cela sans les accolades. Donc, nous pouvons presque droite, comme l'expression Lambda où je vais voir le littéralement le pointeur lambda sur, puis ouvrir et fermer la brise sur. Alors quoi que ce soit tu veux revenir. Donc, chaque fois que vous avez ces fils, où il n'a pas besoin d'un calcul rapide et de retour, vous pouvez l'écrire comme ça, en fait. Très bien, donc juste vous montrer une autre façon de fonctionner ici. Donc, ici, cela va juste retourner le chemin complet pour n'importe quel nom d'image qui est donné. Bon, alors je peux aller de l'avant et remplacer dans la création la partie où nous avons dit que la partie image feu est égale orteil, et nous avons écrit tout ça. Je vais remplacer toute cette chaîne statique. Et je n'aime pas être des chaînes statiques qui après la reconstruction, ce n'est jamais bon. Ils appellent que des cordes magiques sur ce qui se passe, c'est que , vous savez, vous pouvez faire une simple erreur et ça jette tout. Très bien, il est donc plus facile de construire à la fois et de préparer tout le reste. Donc ici, je dis juste, Donnez-moi le pot d'image pour les deux images GTO. Donc je le remplace par un ancien coulé. Bon, donc je vais faire la même chose à l'intérieur. Off, fini. Où était-Nous cherchons la vue, non ? Donc ici, je vais commencer par obtenir le chemin d'image. Andi, c'est juste que les orteils ont rendu cette ficelle, donc j'ai eu des peluches les nôtres. C' est terrible que nous l'avons fait. Notre chemin MG est égal pour obtenir l'image. Cinq. Image du livre, non ? C' est donc la voie que nous voulons. Alors, par autre précaution, je veux vérifier s'il existe, non ? Donc, s'il existe, alors je veux effectuer les opérations, compris ? Pour dire que si le système que je fichier o point existe ce chemin d'image sur, alors nous allons construire ou mordre Ari quelque part pour dire par elle. Ari sur. Je vais juste l'appeler Je suis G morsures est égal à, et ensuite nous avons notre système que je dois, pas de dossier sur. Ensuite, nous allons voir, lire toutes les bouchées, puis le chemin I am G ou la partie aux limites. Donc on voit lire toutes les morsures. C' est donc je suis GPA. Très bien, alors lisez toutes les piqûres que ce dossier a sur. Alors on va se convertir. Je suis G mordre d'avoir 64 ans. Ensuite, commencez en réponse ou allez voir une réponse. Le fichier DOC est égal à convertir des points en 64 chaîne basée sur. Ensuite, on passe dans mes morsures d'AMG. Donc nous sommes en train de déconstruire l'image en remorquage. Cette chaîne qui va juste contenir des données. Donc, si vous jetez un oeil à la charge utile, peut-être que vous pouvez la tester. facteur est ainsi de suite. Mais tout ce que vous voyez à l'intérieur de ceci est juste une longue chaîne avec un tas de caractères apparemment aléatoires . Non, à l'intérieur du composant où nous avons l'intention de voir l'image lors de la révision du livre. S' il y a une personne de l'image que nous avons besoin de voir la bonne image, ce qu'elle fait, Rando est qu'il a un tribunal du serveur, donc je veux dire, nous pouvons être contrariés, mais c'est juste en regardant les téléchargements pour cette image, il n'y a pas de dossier fermé dans notre projet d'assemblage Web sur. En outre, ce nom d'image pire n'aide pas. Mais nous avons juste inclus les données pour l'image en revenant à l'exemple off. Le créateur ne devrait pas. Bien sûr, il vient de revenir à l'exemple de la création. Nous avons construit ce que nous appelons une donnée d'image. Vous êtes l droits utilisaient les bases avant qui a été utilisé comme source pour l' aperçu de l'image. Donc, depuis que nous revenons, obéissez à 64 cordes. Ce que je vais faire est que je viens de supprimer cette section ici sur une copie, notre froid qui va utiliser pour construire la base 64. Donc je vais juste copier ce morceau. D' accord, , alors, à l'intérieur de toi, c'est ce que je vais mettre en forme pour que ce signe soit allumé, tout ça. Mais il n'y a pas d'Image Bay 64. Mais nous avons notre modèle arrimé classé, ce qui est une chaîne 64 hors cours ? Si rien ne revient, est-ce que la chaîne est non ? Ensuite, cette image nous savons à quoi ressemblera déjà. Droit ? D' accord. Alors prenons celui-ci pour un tour une fois de plus ce que nous venons de faire était de chasser, caresser notre fichier image pour la vue, accord ? Et nous allons savoir cliquer sur la vue et voir ce qui revient. Bon, donc on est de retour à notre liste des livres sur. Alors. Si je regarde un de ces livres, je suis sûr que je vais obtenir une forme hors erreur ou bien, nous obtenons image cassée. Il n'y a rien là-bas. Pas de problème. Mais alors, si je regarde auto Bio, qui est à propos de ce que nous venons de créer où nous avons le fichier téléchargé, alors je verrai mon image. D' accord, donc celui-ci était la cause sérialisée du fichier existait un. Donc, il a été converti en la chaîne de base 64 envoyée à travers le tuyau comme une chaîne statique alors juste, vous savez, affiché à ce point d'aperçu. Très bien, donc avec ces deux faits, les prochains que nous devons modifier serait de s'assurer que l'image apparaisse dans la liste. Si elle est présente, Andi toe ont la toute page fonctionne correctement. Donc, vous voyez, je clique sur Modifier, et ça n'a même pas commencé à déranger Seigneur parce qu'il y a juste une erreur instantanée. Quand j'ai essayé de le charger, nous devons réparer ça. Donc, quand nous reviendrons, nous corrigerons la liste de l'index ainsi que la page Modifier. 63. Téléchargez Blazor WebAssembly et l'API: vous êtes les bienvenus. La dernière fois que nous étions ici, nous sommes assis ou créons sur des pages de vue, travail des pieds avec le nouveau paradigme de l'envoi et de la réception des données d'image du singe encore ? Non. Nous allons commencer à travailler avec l'édition. Andi, je suis allé de l'avant et j'ai beaucoup écrit sur le cordon. ne l'ai pas encore testé, mais je vais vous accompagner à travers chaque ligne que j'ai écrit sur ce qu'il fait, et puis nous allons le tester ensemble et re facteur ensemble. Commençons donc par le fait que j'ai introduit une nouvelle fonction dans le dépôt de livres sur Die. Appelle-le. Obtenir le classement d'images. Très bien, donc le but de cette fonction sera orteil, juste récupérer le nom de l'image qui est sur l'enregistrement quand un opiacé est en cours d'exécution. Maintenant, l'arrière-plan à cela sera que lorsque vous modifiez un livre et que vous téléchargez un nouveau fichier, ce soit le même fichier ou non, ce que je veux faire est de comparer le nom de fichier qui traverse le fil, directement avec le bon nom qui figure au compte rendu. Maintenant, si vous n'avez pas changé le trouvé, ce dossier sera le même. , si vous avez modifié le fichier Toutefois, si vous avez modifié le fichier , les résultats seront différents. Et puis nous aurons besoin de supprimer l'ancien fichier sur le nouveau fichier, comme nous l'avons fait avec le service de téléchargement de fichiers où nous avons dû supprimer l'ancien et mettre le nouveau. C' est un concept similaire, mais vous savez où sont nos mains. Un peu fatigué ? Non, parce que tout ce que nous pouvons compter, c'est du texte. Donc, une fois que les données envoyées par les clients non, nous devons interroger pour voir est le nouveau nom de fichier vraiment un nouveau sens finalement après que vous avez édité l'enregistrement ? Ai-je obtenu un nouveau nom de fichier ou est-il le même ? Trouvez-le si c'est pareil que je ne fais rien. Si c'est nouveau, que je vais devoir faire quelque chose. Donc, je viens de l'introduire pour récupérer le nom de fichier pour n'importe quel livre donné sur Idee. Droit ? Et je l'ai mis dans le dépôt de livres sur DSO dans le dépôt de livres classe Concrete. Bien sûr, après l'interface d'implémentation, qui me donnerait alors cette nouvelle fonction. Donc, je l'ai fait un synchrone sur. Ce qu'il va faire, c'est juste obtenir les livres. Non. Quand j'ai écrit cette cour, j'ai rencontré des bateaux d'une époque, multiples idées étaient piégées. C' est probablement parce que lorsque vous l'exécutez Ah, Basil le portant dans le contrôleur, il essaie de trouver la mer et de réserver deux fois et de transiter l'opération Carrollton sur une instance alors que l'autre est active. Donc, quand vous dites comme aucun suivi de sa vente dans un mot différent que oui, j'ai regardé, les livres sont recherchés un livre, mais je ne suis pas le suivi de sa propre piste, il ne l'utilise pas comme aucune référence point off pour toute opération. Très bien, donc vous pouvez essayer avec et sans cette fonction et vous voyez l'exception venir, vous pouvez simplement mettre sur le point de rupture sur la ligne de capture dans l'action pour la mise à jour sur. Ensuite, je suis presque sûr qu'il va frapper cette capture avec cette erreur. Si ce n'est pas le cas, alors s'il vous plaît. Vous savez, cependant, que si jamais à l'esprit Donc tout ce que je fais est d'obtenir le livre comme aucun suivi où le premier ou par défaut a que je d numéro sur. Ensuite, je vais obtenir l'image donc tout ce que je veux de cela est la chaîne enfin Ok  ? Non, dans le contrôleur, ce que j'ai fait et vous pouvez voir que j'étais ici brillant. Et on vient de l'enlever. Ce que j'ai fait, c'est après que nous avons fait les quatre poussins, j'ai mis dans l'appel au nom de fichier get image enfin en fonction juste ici, juste avant que nous fassions la balayage et l'orbit. Donc, je récupère le nom du fichier à l'époque. La raison de récupérer la famille avant la mise à jour est que bien nommé à ce stade, le vieux trouve lui est là. Donc, la famille et a changé, alors nous ne savons plus ce que tout beau nom était André. Ensuite, nous ne savons pas quoi supprimer ou télécharger le dossier. Très bien, donc je dis que tout le nom du fichier sur lequel il est actuellement ancienne image. Ensuite, nous faisons l'opiacé, puis sommes allés faire un contrôle. Je vais dire si la valeur de l'image qui traverse l'objet de transfert de données est égale à l' ancienne image. Alors, bien sûr, il peut juste faire une pause et ensuite, vous savez, reproduire le cordon. Mais je voulais juste expliquer Est-ce que le nom de l'image vient à travers le a p. J'appelle la même chose que l'ancienne image si elles ne sont pas égales que je veux orteil trouver les vieux émet. Je reçois le chemin vers l'ancienne image, et je veux supprimer l'ancienne image afin que ce soit similaire à ce que nous avons fait dans notre service de téléchargement de fichiers I A , non ? Accepté probablement plus court parce qu'il n'avait pas le système que je ferais. Mais c'est très bien. Donc même chose. Donc, nous vérifions juste s'il existe et le supprimons. Si c'est le cas, c'est s'ils ne sont pas égaux. Donc, même dans le cas où peut-être il a supprimé le fichier complètement que cela signifie que ce ne serait pas ou serait juste une chaîne vide. Donc, si c'est une chaîne vide, ce qui signifie que la personne ne veut plus cette couverture de livre sur ce livre, mais qu'elle préfère connaître l'image, alors nous devons supprimer l'image existante soit une semaine. D' accord, alors nous passons à vérifier si la propriété du fichier n'était pas grand vide ne sont pas si. Vous voyez bientôt où j'ai dit la propriété du feu, mais il va essentiellement être mis au même endroit qu'il était pour le droit de créer ? Rappelez-vous la création semble très similaire, mais nous verrons cela dans un instant. Donc, si le fichier désolé si la propriété de fichier dans l'objet de transfert de données du livre n'est pas null sont vides, alors je vais vouloir le convertir en une morsure. Ari fait de la même façon que nous l'avons fait dans la création créée dans la convertie en une batterie. Désolé, alors, à droite. Toutes les morsures d'orteil ou nouveau chemin avec notre nouvelle image Nom de démarrage GTO point Image sur. Ensuite, nous avons une nouvelle image sur notre serveur. Non. Encore une fois, si un montage est effectué sur liaison, rien n'a changé avec l'image. Ensuite, cela ne se produira pas sur la façon dont nous définissons le composant. La seule façon dont le fichier sera défini avec une valeur est si le nom de l'image a changé de toute façon. Ce sera donc comme ça que nous réaliserons. Non. Dans le composant edit, j'ai commencé par prendre des notes. Les références au service de téléchargement de fichiers i. Je les ai enlevés. J' ai modifié l'aperçu pour regarder, vous savez, avoir le SRC comme oh, nous l'avions dans la création. Ils peuvent juste aller plus pour créer et copier ce morceau hors cour et le coller là dessus puis à l'intérieur de notre poignée jusqu'à ce que tout ce que j'ai fait a été supprimé les références, le coût de la fonction du téléchargement du fichier une fois de plus. Mais ajoutez le fait que je mets dans un fichier si juste. Non, je viens de vérifier. Il semble que mettre dans les mauvais facteurs s'arrêtent et rythment un peu d'espace médiatique. Le chariot où je suis en train de convertir orteil obéir 64 chaîne le flux de mémoire, Ari. Bon, donc c'est la même chose. Donc, tout cela ressemble à ce qu'il ressemblait dans les créations. D' accord , , alors. N' entendez pas si quelque chose a changé, nous vidons juste l'image. À ce stade, encore une fois, si la propriété de l'image change où elle obtient une nouvelle valeur ou s'il s'agit d'une valeur vide, une fois qu'elle vient ici, va faire la comparaison entre ce qui existait sur ce qu'elle est. Non, alors, supprimer. D' accord, supprimez l'ancien sur, alors. S' il y a du contenu dans le fichier et qu'il recréera le nouveau sur au moment où il arrive ici, la référence au nouveau fichier, s'il y en avait un aurait déjà été définie dans la mise à jour. D' accord, donc tout serait juste décalé dans ce modèle logique. Non, je vais juste le prendre pour un tour, d' accord, accord, alors allons-y et essayons de modifier le disque que nous avons créé. Depuis qu'on a modifié ces choses, je reçois encore cette erreur, et je pense que c'est lié aux brutes. Sont des entrées. Très bien, s'il vous plaît entrer le fichier. Donc, j'ai cette époque. Mais en général, quand je rafraîchis, il disparaît un défunt au moment de cet enregistrement, je pense que c'est une flèche avec cette bibliothèque et cet assemblage Web, donc je suis sûr que nous allons bientôt être triés. Mais continuons d'avancer. Donc je vais changer cette image. Je sourit. Je n'aime pas le fait que je souriais, certains mettent mon article le plus sérieux. Je vais dire mon livre pour les âges, non ? Juste aux changements. Soumettre des modifications sur alors quoi ? J' ai eu un point de rupture là-bas. Permettez-moi de mettre un point de rupture qu'ils attrapent pour voir s'il va attraper des exceptions. Prenons des notes sur le nom de fichier qui est là. C' est un D quelque chose, et c'est le dossier. Quelque part pour aller de l'avant et appuyer sur F cinq, il ne frappe pas l'exception alors. Si je regarde, je vois ma nouvelle image. Si je retourne à la solution Explorer, je verrai que c'est là que ses applaudissements Il y a un nouveau fichier. Il y en a. Alors on y va. On peut remplacer les fichiers sur. Ensuite, je vais essayer de modifier ce livre à nouveau. Mais je ne vais pas changer l'image. Je vais juste aller aux pieds. Voici le résumé que j'ai écrit. Donc apporter des modifications sur les changements ont été soumis. Si je regarde à nouveau, l'image est toujours là. Onda. Nous avons le changement qui a été soumis étant représenté. Bon, donc c'est bon pour le montage, la dernière chose et probablement la plus importante. Et vous vous demandez, OK, quand allons-nous la faire passer, c'est de réparer les images ici dans la liste. Bon, alors passons à celle-ci maintenant pour modifier les données qui sont envoyées dans la liste d'index , nous allons devoir changer ce qui se passe quand nous recevrons les livres. Donc le simple fait que nous devons savoir concert cette corde de base 64 va marcher va changer comment nous sommes allés construire un bateau vieux notre objet de réponse. Notre objet de réponse est sur le type d'objet ou une liste hors type de ce livre des objets de transfert de données. Ce que je vais devoir faire, c'est Luke à travers chacun d'eux. Ensuite, pour chacun avec un nom de fichier sur le fichier existe, alors j'enverrai la chaîne Bay 64 correspondante avec elle. Bon, alors faisons-le ensemble. Donc, pour chaque fois sur le double temps, juste généralement source de celui-ci, et je le laisse dans l'élément en réponse. Présentateur. Bon pour chaque article. En réponse, ce que je vais faire est de voir si la chaîne contenant le nom de l'image n'est pas nulle est vide, n'est-ce  ? Donc je ne vais le faire qu'avec ceux qui ont des valeurs. Si tu ne viens pas, tu ne parles pas de toi. Dis que tu n'as pas de livre. Tu n'as pas ce traitement spécial, non ? Donc, si elles champ d'image n'est pas vide, ne signifie pas que quelque chose est là, alors je vais dire si le système sombre fichier ioo dot n'existe pas. Andi, vérifie le chemin pour qu'ils obtiennent le chemin d'image qui passe. Élément cette image. Très bien, donc c'est juste que Double un autre chèque juste pour vous assurer que vous savez que le fichier existe. Parce qu'une fois de plus, nous allons frapper une exception. Si nous essayons de ne rien convertir en remorquage, Obey 64 Street. Alors cette conversion ressemblerait avec le livre get où nous avons juste besoin de notre morsure. Dépêche-toi. Et ils allaient convertir son seul juste faire cela rapidement donc ce ne serait pas une réponse loin Réponses La partie de liste serait itim dot fichier droit. Donc une fois de plus pour chaque élément à l'intérieur de la réponse, nous allons vérifier s'il y a un Imagine s'il y a une image, est-ce qu'un fichier existe réellement, non ? Parce que rappelez-vous que si j'utilise la même base de données, um, ou le même p I que nous utilisons pour le serveur Web. Ces enregistrements vont orteils ont des images, mais en fonction du nouveau chemin, ils ne veulent pas exister. Donc nous devons vérifier s'ils existent, et ensuite s'ils existent, alors nous allons lire les pieds. Laisse-moi faire quelque chose ici au lieu d'appeler un dysfonctionnement deux fois parce que j'en ai besoin. Ne pas ici aussi, je vais juste enregistrer notre chemin I am G est égal à l'appel de fonction. D' accord, , puis je suis allé vérifier. S' il existe sur s'il existe, alors il sera utilisé là-dessus. Bon, alors modifions la liste. Très bien, Donc, les parties où nous affichons l'image, qui est apparu image SRC Une fois de plus, je vais juste changer cet orteil. Le type de cours que nous avions pour la vue, comprenez ? Copiez ça. L' index avancé basé dans la section SRC sur ce ne serait pas un modèle de boule de feu. Maintenant, c'est un livre sur le dossier. D' accord, sur DSO Pour chaque enregistrement qui a qui a sur l'image, il devrait montrer autrement que ce ne sera pas une terre. Nous allons voir les mêmes images brisées que nous voyons. Non. De toute façon, vous voudriez probablement mettre comme, une image par défaut. Ou vous pouvez, vous savez, vérifier si elle est non et mettre aucun affichage de texte ne sont pas affichage d'image ou quelque chose, mais nous allons juste le tester tel qu'il est. D' accord ? Donc, lorsque le chargement de la page verra que notre image est affichée avec succès, d' accord, ils peuvent probablement passer par l'un des autres. Et encore une fois, j'ai cette époque. Je vais juste être frais et ensuite procéder. Choisissez hors fichier. Laisse-moi en choisir un autre. Aan den, Soumettre les modifications. Tout va bien. Voyons-nous qu'il est maintenant affiché correctement ? Très bien, donc c'est à peu près tout pour gérer le téléchargement de fichiers. Encore une fois, nous avons dû faire tout cela parce que l'assembly Web ne prend pas nécessairement en charge l'hébergement des fichiers sur une machine cliente. Bon, donc on a dû compter sur le serveur pour ça. Donc, si nous sommes allés avec le modèle hébergé sp dot net core, alors le serveur comme nous avons le serveur ici que nous aurions déjà créé. Donc, le serveur en place aurait agi comme la bête sur le magasin d'orteils serveur, les téléchargements. Droit ? Donc, si nous allions avec l'hôte et le waddle, cela nous aurait donné l'assemblage web ainsi que le serveur déjà connecté. Nous aurions pu facilement tirer parti de la structure de téléchargement sur les avantages de téléchargement d'avoir les fichiers statiques ici. D' accord. Mais ensuite, nous sommes allés avec le client autonome sur DSO. Nous explorons seulement toutes les options car c'est vraiment, c' est le serveur orteil par rapport au genre. Ensuite, nous allons examiner les applications Web progressives que je pense que nous avons été un bon travail jusqu'à présent. Off portage ou serveur blazer jusqu'à un blazer qui a l'assemblage jusqu'à nulle part veulent regarder les avantages de l'assemblage Web, à savoir, le fait qu'il peut être installé nativement ou presque nativement sur presque n'importe quel appareil. 64. Application Web progressive: vous les gars, bienvenue. Donc, dans cette leçon, nous allons examiner l'ensemble des applications Web progressives fonctionnent maintenant. Une application Web progressive en général est généralement une seule application de plage qui utilise Broza MP, et c'est généralement un navigateur moderne. Andi. Je verrais généralement Google Cruel est gentil au sommet de la portée Andi. La plupart des autres navigateurs sont basés sur le moteur chrome, mais encore, Crume a certaines choses que les autres frères ne peuvent pas faire. Quoi qu'il en soit, il utilise ces yeux AP modernes. C' est ces roses ont l'orteil de personne ont des capacités comme une application de bureau. Donc, en d'autres termes, vous pouvez nous construire une application Web d'une seule page qui peut alors agir comme un côté client. Ils arrêtent ou orteil d'application native quel que soit le système Donc, si votre frère est sur votre téléphone, vous pouvez le télécharger comme s'il était allumé. Il peut lui envoyer des notifications. Il a une humeur hors ligne, sorte qu'il, vous savez, chaque fois qu'il obtient la connexion, il s'évite lui-même. Toutes ces merveilleuses possibilités existent avec des applications Web progressives. Maintenant, la première chose que je vais faire est de changer mon Roeser de débogage. Donc je ne vais pas utiliser le bal de promo quand le changer pour Crume. Donc, si vous n'avez pas le bord chromatique est également capable. Mais assurez-vous juste que vous utilisez un de ceux sur. Puis je suis allé lancer notre application. Très bien, Donc, après l'avoir lancé en chrome, vous pouvez voir un signe plus orteil cet arrêt coin droit ici, et si vous cliquez dessus, alors il vous invitera à installer. Donc le fait est que lorsque nous créons sur celui qui a envoyé le projet, nous nous sommes assurés de prendre le web progressif parce que nous l'avons fait. On a quelques dossiers. Ce genre de juste lui faire savoir que c'est censé être un web progressif. Le navigateur détecte ces rapides et donc il dit, Oh, Oh, je fais face à un web progressif vers le haut. Eh bien, alors vous avez la possibilité de m'installer. Donc, je vais cliquer sur installer, Et puis ce qui s'est passé est qu'il a effectivement installé cette application juste ici sur mon coffre-fort de bureau . Tu quoi ? Tu ne peux pas voir ma barre d'état. Mais si vous regardez mon menu de démarrage, voir que le haut est là sur si je ferme tout droit, ça va me faire sortir d bateau amarré. Mais alors si je retourne dans les gens plus, avec seulement la façon dont nous apparaissons, quelque chose pour le changer à juste la façon dont un p i me vient de dire ceci. Un début de projets. Tout va bien. Non. Avec seulement le Web AP je cours sur mon bureau, je peux aller de l'avant ou dans Deeble More plutôt, je peux aller de l'avant et exécuter cette application directement à partir de mon bureau. Donc, il fonctionne nativement sur mon bureau. Non, ce n'est plus un frère en tête. Ce que nous avions dans notre projet était le fichier manifeste. Donc je pense que je donne une courte orientation images école et trouver manifeste que Jason. Donc, avec cela, nous pouvons réellement modifier l'apparence et la sensation hors de la fenêtre lorsque nous avons le haut installé. Très bien, donc en utilisant le manifeste, pas Jason peut enfin représenter, comme la couleur mais cultivée, la couleur de la fenêtre, genre de choses, tout ça. C' est possible à partir de ce fichier, accord, donc je peux aller de l'avant et me connecter. Donc, cela signifierait dans les librairies. Allez, mon mot de passe par défaut, et puis il le fera à nouveau. Et puis vous voyez le journal de jambon étant tellement En fait, c'est presque comme un petit bac à sable du navigateur parce que, vous voyez, il est toujours un peu de se comporter comme Oak Room se comporterait, demandant si je veux voir le mot de passe. Oui, je peux cliquer. Enregistrer Oui, je veux activer la synchronisation et n'importe quoi, donc c'est comme un bac à sable Broza. Mais la réalité est qu'il n'est pas presque en cours d'exécution comme une application de bureau. Donc blazer est comme une façon cool. Non à reconstruire. Même vos formulaires Windows ne sont pas ce genre de choses. Les applications sont les applications qui doivent s'exécuter presque nativement sur un appareil, Mais vous ne voulez pas vraiment aller et construire un natif vers le haut. Vous pouvez simplement utiliser blazer toe construire une application Web progressive qui peut installer presque n'importe où sur faire les choses régulières sur. Rappelez-vous qu'il ne s'agit pas de parler directement à l'A P I. Il ne s'appuie pas sur un serveur entre les deux. Il ne repose pas sur ma machine vraiment sur moi. Il est littéralement juste de passer sur Internet au FBI, vous savez, théoriquement parlant, passant par le réseau au FBI pour tout faire en temps réel. Mais c'est une application de bureau. Si nous jetons un coup d'oeil à inspecter les éléments, il peut directement aller à l'inspection. Je reçois l'élément d'inspection juste de la même façon que je vois tous les journaux se produire. Je peux voir toute la source sur laquelle je peux regarder le réseau. Ensuite, j'ai fait le réseau et j'ai juste fait référence à la page juste pour voir toute la ressource est de retour sur papa. À un moment donné, j'essayais de faire allusion au chargement des allèles D. Donc, pendant que c'est bien plus, bien sûr, ce n'est pas de prêter les concessionnaires. Il les charge dans la machine. Tout le temps d'exécution du document et tout hors, l'indépendance de la bibliothèque est là. Il y a l'affaire est les paquets. Il y a blazer, outils, fichier d'entrée, tri local. Tous ceux que nous aurions inclus sur l'utilisation dans notre projet. Il y a Get chargé sur installé avec le paquet réel qui est cette application. , Cela étant dit, vous voulez être très prudent et particulier à propos de vos modèles d'hébergement. J' ai fait allusion aux orteils, vous savez, chacun ayant son but dans des situations spécifiques. Dans une telle situation, vous ne voulez probablement pas aller à beaucoup de choses. Donc, en faisant l'application hébergée sur le serveur, vous avez la possibilité de sorte d'abstrait. Beaucoup de ces dépendances ou d'autres dépendances plus graves sont sur. Amenez-les sur le serveur plutôt que de les charger sur la machine cliente où vous effectuez un assemblage direct. Ensuite, vous n'avez pas d'autre choix que de charger tout sur la machine cliente comme vous le voyez ici, sorte que vous savez qu'il peut choisir et refuser. Mais à ce stade, vous avez créé vos premiers ceux-ci. Je pense que c'est votre première, mais votre première application Web progressive Blazer. 65. Révision et ajouter des modifications à GitHub: Bienvenue, les gars. Où sont les points où nous allons juste faire un examen rapide de toutes les choses récupérées dans ce modèle sur, puis vérifier dans notre cour pour se lever. Maintenant, la première chose que nous avons fait était d'explorer les options de l'assemblage Web Blazer sur. Nous sommes allés avec l'assemblage Web, pas le noyau hébergé sur les options d'application Web progressives. Nous n'avons pas non plus choisi l'authentification. Non, une fois que nous avons fait ça, nous avons eu un projet qui était très similaire à nos croyances. Un projet de serveur activé. Je suis juste en train de tout effondrer pour que vous puissiez voir la structure telle qu'elle est. Donc on a des pages. Nous avons un programme, pas voir un début de neige sur CS andi juste effondrer tout dans nous étendre. Ces deux, sorte que nous pouvons comparer alors que nous devions faire vraiment était apporter sur la plupart de nos cored nommé les contrats, les modèles, les pages et continuerait. Les composants sont déjà construits. Le statut du FBI sur les trucs des fournisseurs d'Etat, nos services, les fichiers partagés, le statique si littéralement. Tout ce que j'essaie de dire, c'est que la plupart hors de notre cour de l'application serveur était réutilisable dans les clients ou les versions d'assemblage Web donc au cœur, le corps gémit. Le serveur et les modèles d'assemblage Web sont très, très similaires en termes hors cour nécessaires pour ouvrir certaines différences. Bien que l'assembly Web utilise un client tp problème, cela est beaucoup plus facile pour moi sur mon besoin de vérifier si c'est réellement disponible dans la version du serveur. Mais les clients CTP ici la plupart des exemples, je pense qu'un souligné montrerait en utilisant les clients du PIB directement de la vue. Je passe juste tes appels. Mais nous avons construit nos référentiels pour les surappels afin que nous n'ayons pas besoin, vous savez, faire tourner un client à chaque fois. On l'a fait une fois. Nous avons mis cela à l'intérieur de quatre dépôt Biest sur ce que nous avons fait était facteur de re ou être supposé qu'elle utilise les clients http à la place de l'usine client http que nous avions dans la personne du serveur sur ce que nous avons fait était de juste mettre dans notre jeton de bière sur puis faire ou des appels. Donc, cette bibliothèque a posé comme Jason conduit un chant get de Jason sur dso à droite, Donc cela gère la sérialisation et la sérialisation hors de la boîte. Nous n'avons pas eu à faire beaucoup plus que simplement appeler cette fonction sur Obtenir la réponse. D' accord. Autre affacturage inclus sur la procédure de téléchargement Nous devons donc modifier plus 80 I projet où nous avons inclus la capacité de téléchargement du côté A P I afin que nous puissions faciliter le fait que cette version d'assemblage web de notre projet n'a pas de serveur sur lequel stocker les graisses. On vient de transformer cette ville en serveur pour stocker des fichiers. Bon, alors maintenant on va juste aller de l'avant et faire un clic droit et du poulet. Donc, vous allez obtenir de l'expérience du FBI, de l'expérience blazer serveur ainsi que de l'assemblage Web, un blazer avec de l'expérience simplement, non ? Et on va juste de l'avant sur les commits, accord ? Et j'ai mis dans mon message que j'ai ajouté Blazer, assemblage Web sur le fichier upload toe 80 contrôleur ibooks. Et puis je vais tout engager et sombrer sur une fois que cela aura réussi. Eh bien, vous pouvez toujours venir à mon dépôt et faire référence. Donc tout ce qui a été fait 66. Migrer le projet vers . NET 5: Hé les gars, dans cette vidéo, nous allons discuter de la façon de mettre à niveau et l'obtenir cinq ou même installer si vous n'avez jamais installé un framework dominant du tout. So.net five est tout englobant et il est en fait rétrocompatible avec beaucoup de choses que vous auriez dans votre ASP.Net ou votre application 3.1 de base de détonation. Cependant, si vous voulez mon accord sur .net cinq, alors cette vidéo est pour vous. Donc, notre voyage commence avec une simple recherche Google pour .net cinq, nous pouvons suivre le premier lien et ensuite cela nous mènera à une ère où nous pourrions soit télécharger le SDK, soit le runtime ou la puce. y a vraiment aucune limite sur laquelle vous devriez. Donc, vous installeriez le SDK de sorte que Visual Studio vous donne tous les outils dont vous avez besoin pour pouvoir créer une application cinq dominante, tandis que le runtime est plus définit les bibliothèques de sorte que vous pouvez héberger l'application sur comme sur iOS. Donc, vous pouvez vérifier sur mon autre vidéo sur l'hébergement dominent applications de base. Et les étapes que vous devez suivre pour installer le moteur d'exécution, préparer les yeux et publier votre application. Donc, pour le SDK, nous voulons télécharger la version appropriée et dire que si vous êtes sur Mac, Linux, Windows, ils ont un package d'installation pour vous. Ainsi, vous pouvez aller de l'avant et cliquer sur le bon. Je vais y aller avec le x 64. Et une fois ce téléchargement terminé, vous obtiendrez ce programme d'installation, qui vous permet d'aller de l'avant et de cliquer sur Installer. Vous passez par tous les points de contrôle de sécurité F2. Et c'est un processus assez rapide et simple, donc il vous le fera savoir et il a été couronné de succès. Si ça n'a pas réussi, vous voudrez probablement vérifier la mort. Vous avez obtenu la version de mCharg et vous pouvez accéder au support technique de Microsoft. Quoi qu'il en soit, si vous avez la sérigraphie, alors vous êtes un pas de plus. Encore une fois, continuez et cliquez sur Fermer. Et puis, si vous allez créer notre tout nouveau projet, vous pouvez lancer Visual Studio. Cliquez sur Créer des modèles de projet 2-0 et passons avec une application Web de base. Cliquez sur Suivant, donnez-lui un nom. Donc, ce n'est qu'un échantillon, donc je ne serai pas trop formel avec quoi que ce soit humide et cliquez sur Créer. Et puis sur cet écran, vous seriez en mesure de sélectionner dot nec core 5 dans la liste. Si vous avez l'intention de migrer l'API principale dominante ou le projet blazer vers .net cinq, alors nous allons le faire avec ce projet. J' ai donc ici un projet existant. Il a la librairie quand il est appelé API de librairie tout à fait, qu'est-ce qu'il a une API de librairie, TAS, librairie wi, qui est le serveur blazer. Et nous avons aussi un projet blazer Web Assembly ici. Donc j'ai fait beaucoup de travail. Ce que je vais faire est d'afficher la version 3.1 dominante existante du code. Et le code pertinent change afin que vous puissiez voir exactement où vos modifications doivent être effectuées. Commençons donc par notre API. Donc, je vais juste écrire des tickets, descendre dans mon onglet de contrôle de la source et comparer avec la version précédente avant de faire toutes les modifications. Et je vous guiderai à travers toutes les parties les plus importantes. En fait, il n'y a qu'une partie très, très importante dans ce fichier, et c'est le framework cible. Donc, si vous utilisez dominate core 3.1, c'est ce que vous verrez, ce que c'est, ce que vous devez voir. Donc, à gauche est l'existant et à droite est le nouveau. Bon, donc nous devons changer ça en filet 5. Donc, vous pouvez juste dire que ne pas juste aller de l'avant et économiser. Et puis après avoir fait cet ajustement, vous devez mettre à jour tout votre projet ou Aldi de France ou bibliothèque par exemple. C' est pourquoi vous voyez certains d'entre eux en rouge parce que j'aurais déjà fait cette mise à jour. Certains d'entre eux, je n'ai pas fait la mise à jour, donc je vais vous expliquer ça un par un. Donc, vous Candace, cliquez avec le bouton droit, allez à nouveau get package manager. Et ce qui m'est arrivé, c'est que lorsque j'ai sélectionné tous les paquets et ensuite envoyer des mises à jour, j'ai obtenu une forme d'arable et non l'objet d'exception, référence du centre ne sont pas tout à fait sûr pourquoi je reçois ce livre. Le consensus semble être que lorsque parfois, lorsque vous essayez de le faire en vrac, vous pouvez obtenir l'erreur. C' est mon expérience que je partage avec vous au cas où vous auriez cette lutte. Mais ce qui a fonctionné pour moi, c'est si je sélectionne juste comme trois à la fois, puis cliquez sur mise à jour, alors le gestionnaire de paquets va juste prendre le relais et le faire à ces erreurs, bien sûr, je dois accepter une ou deux fois ces erreurs que vous pouvez les ignorer. Ce ne sont que des erreurs de construction associées à l'ensemble de l'exercice. Mais mon point est que vous vouliez juste vous assurer que tous leurs paquets ne sont pas mis à jour à 5. Donc, vous pouvez simplement aller de l'avant et les faire individuellement si vous devez, si le si la mise à jour globale fonctionne, sorte que vous alors c'est parfait. Donc non, je les ai tous terminés. Si je retourne en arrière et regarde les mises à jour encore plus diffusées, n'est-ce pas ? Donc, tout ce qui était un voir 3.1 est pas voir cinq n'importe quelle version précédente n'est pas C dans la dernière version. C' est donc ce que vous voulez faire pour mettre à niveau votre projet API. Il n'y a rien de plus que ça. Alors sachez que nous en avons fini. Passons à nos retards, nos projets, non, les projets blazer ont beaucoup en commun. Encore une fois, celui-ci est un serveur, celui-ci est un assemblage Web. Ils ont beaucoup en commun en ce qui concerne ce que les changements sont si bizarres, il y a des points communs. Je vais leur montrer côte à côte. Donc, vous pouvez voir que vous le faites dans les deux sont le flou correspondant et les deux. Et il y a certaines choses que nous ne le ferons que pour l'assemblage web. Notre premier changement concerne donc le fichier hôte dans le serveur par rapport au fichier d'index dans le Web Assembly. Et je vais juste, juste pour nos amis, dans le projet de serveur, vous aurez deux pages, puis vous verrez le fichier CSS point hôte dans le projet Web Assembly pour aller à la racine www et vous voyez votre fichier index.html. Donc, dans le fichier hôte, les principaux changements que vous allez ajouter, ce morceau de code, cette ligne de guillemets ici, en ajoutant une nouvelle feuille de style. D' accord, et ce que vous voyez, c'est le mème de l'assemblée. Donc, cela devrait en fait être un trait de soulignement parce que c'est mon nom d'assembly. Donc ça commence par tiret, quel trait de soulignement. Laisse-moi juste à ça. Et vous voyez que c'est une bonne chose de passer ça ensemble. Donc, ce soulignement et sauver. D' accord, donc c'est à ça que cette ligne ressemble et la rendre un peu plus grande. Donc, nous ajoutons lien, HRF, interface utilisateur de librairie, interface utilisateur soulignement de librairie ou tout ce que vos assemblys nim est un bon liquide agacé Assembly Name est juste de regarder le drapeau d'espace de noms ici. Et puis vous verrez quel est le nom de la solution acceptée appropriée. Et puis nous disons un point styles.css, puis nous ajoutons la ligne égale feuille de style. Donc nous allons ajouter ça à l'intérieur de notre section de tête pour nos hôtes. D' accord ? Et puis nous allons faire quelque chose de similaire pour notre index. Permettez-moi donc d'évoquer l'index individuellement. Nous allons donc ajouter cette ligne de code ici. Et c'est le même principe. Je vais changer ça pour souligner. Donc, c'est la librairie sur un point de score Watson ou quel que soit le nom de votre projet, pas styles.css. Pendant qu'ils sont ici, vous pouvez ce moi, ce changement aussi. Donc laissez-moi juste aller boîtes il exactement ce que nous changeons, où il change ceci de jusqu'à la div avec ID up. Très bien, donc au lieu de voir une balise nommée, nous disons div avec un ID, puis le contenu reste le même. Donc, vous pouvez simplement aller de l'avant et répondre à ce changement dans votre fichier d'index. Le prochain changement majeur vient dans nos importations fossiles nôtres, serveurs spectifs et les projets d'assemblage web ont des zones de points d'importation ou de fichier, et l'inclusion est la même. Donc, vous pourriez avoir une erreur dans le sang du serveur, alors vous devez être un des composants de la déchirure afin de vous en débarrasser. Mais nous voulons avoir en utilisant Microsoft dot ASP.NET Core.com dot Web virtualisation et essayé de le placer dans une position similaire à l'endroit où je l'ai, qui est en dessous où, mais avant le HTTP, où quelqu'un point HTTP, accord, et ce serait pour notre Web Assembly, pour le serveur, il va au même endroit. Ou du moins sous Web, car vous n'auriez probablement pas la bibliothèque HTTP de l'assemblage Web. Donc, vous l'avez juste sous le sombre jour Web et ajoutez simplement la virtualisation par points. Vient ensuite nos Leodes principales, la composante Réserve. Ce changement s'applique donc aux deux. Donc je ne vais pas vous montrer tous les deux. C' est un changement CMNH dans le serveur et l'assemblage web où nous voulons juste inclure un nouveau div. Et nous allons lui donner que la classe est égale à la vitesse. Et puis tout le contenu qui était là avant. Donc c'est l'origine ici. On va juste prendre tout ça et le mettre à l'intérieur d'une division étrangère. Donc ça va ressembler à quelque chose de plus comme ça à droite. Et laissez-moi voir si je peux réduire la gauche. Là, ça va. C' est donc ce que votre nouvelle signification, LEO, qui va ressembler, que ce soit Web Assembly ou serveur. Maintenant, une autre tâche importante est que nous allons ajouter un fichier CSS à ce composant même que nous venons de modifier, n'est-ce pas ? Et il y a une page de classe que nous venons d'introduire, le contenu de ce fichier CSS. Vous le trouverez dans les ressources. Ou vous pouvez simplement aller sur le dépôt et regarder le contenu du fichier que nous pouvons copier et coller. ai fait aucune modification en dehors de la valeur par défaut qui aurait été fournie avec .net 5B est un projet, mais c'est à quoi ressemble le fichier. Donc, au lieu d'essayer de vous montrer le saké et de le taper, vous pouvez juste aller à la ressource et entrer dans vous-même. Mais la partie principale est que nous allons l'ajouter à la chemise. Vous allez donc aller à partagé, le bouton droit, cliquez sur Ajouter. Et cela vaut pour le serveur et un assembly web. Nous ajoutons un nouvel élément. Et puis le nom que vous donnez à ces nouveaux objets est le même nom qu'un composant signifie Leodes, Dr Razor. Donc, c'est principalement le vieux point de rasoir css. Et puis si vous remarquez dans mon explorateur de solutions, vous voyez en fait qu'il est répertorié sur les Leodes moyennes. Asseyez-vous de près et je l'ai ajouté. Une fois que nous faisons cela, alors va réellement venir comme un sous-fichier sur les principaux Leodes. Et puis nous pouvons simplement mettre dans le contenu une fois de plus, qui s'applique à la fois serveur et web génial. Pas de CMV Windows, et nous allons faire quelque chose de similaire pour le menu nav. Donc, nous avons nav menu dot rasoir, et encore une fois pour le serveur et l'assemblage web, nous avons nav menu.html, ou nous allons ajouter assez point de menu, point CSS. Encore une fois, vous pouvez aller de l'avant et copier le CSS résultant ou le CSS religieux plutôt. Et Doctorat. Vous n'avez pas à entrer et essayer de taper ceci, il suffit d'obtenir le contenu et de le brancher. Non, bien une autre activité CSS à compléter, et ce sera au fichier CSS app.js dans l'assembly web. Donc, dans le projet Web Assembly, vous allez à www root CSS, puis uci dot CSS. Dans vos projets de serveur, vous allez à www racine CSS et CSS point de site. Cependant, le contenu des deux modes reste la couture. D' accord, donc c'est une fois de plus fait la valeur par défaut qui viendrait avec le projet .net five blazer. Mais puisque nous mettons à niveau, nous essayons simplement de passer à travers toutes les ressources qui seraient nécessaires par défaut. Donc, c'est en fait pour les activités côte à côte pour le serveur et l'assembly web. Juste pour revenir un peu en arrière pour le serveur, vous voulez vous assurer que votre trame cible fonctionne. Donc, c'est pour le serveur blazers, juste pour être clair, votre trame cible où il doit être comme dit Kelly, la même chose que les frameworks cibles de l'API Web. Et donc vous pouvez simplement copier cela à partir de l'API web, un projet, et assurez-vous que votre blazer, désolé, ou blazer serveur UI Project dit également le framework cible net 5. Donc, je vais jusqu'à ce que je me concentre un peu sur les projets de serveur. Donc, ce que je vais faire est de décharger ceci pour que je vois moins de flèches. Et je voulais juste m'assurer que je n'ai affaire qu'au projet de serveur. Vous n'avez probablement pas à faire cette partie, mais le vu même les erreurs. Et vous voulez vous assurer que vous isolez vos activités de projet serveur, alors vous pouvez le faire. Donc je vais juste faire une construction juste pour voir ce qui ne va pas. D' accord, donc vous voyez ici que j'ai des erreurs de bateaux, mes projets pour que je puisse aller à nouveau. Et puis je vois que j'ai quelques mises à jour qui reçoivent. La fonctionnalité de mise à jour en masse fonctionnera pour moi. Et ça l'a fait. Alors laissez-moi essayer de construire à nouveau. Non, je reçois toujours des erreurs. Et cela est en fait dû à un problème d'ambiguïté. Donc, cette erreur est de dire que le fichier d'entrée de fonction est le bascule ou le composant. Au contraire, le fichier d'entrée est ambigu car j'ai une bibliothèque appelée fichier d'entrée blazer. Et il y en a un qui vient intégré avec blazer au moins à droite. Sache qu'il y a. C' est donc son problème d'ambiguïté. Je vais juste commenter ce vieux parce que si vous n'utilisez pas le fichier d'entrée, alors vous n'avez pas ce problème. Cependant, je vais faire une autre vidéo où je refactorise le code entourant Blizzard, ou c'est juste aller dans trouver toutes les références à ce fichier d'entrée et aller de l'avant et les commenter pour se débarrasser de tout erreurs juste pour s'assurer que nous n'avons rien d'autre. Donc, nous voyons qu'une construction a réussi. Donc c'est bien. Tellement vieux triste de cette ambiguïté qui est probablement unique à rencontrer. De toute façon. Si ce n'est pas le cas, on va travailler plus tard. Pas de problème. Droit. Et tout ce que nous avons mis à niveau notre application serveur blazers vers .net cinq. Maintenant, je vais passer à l'assembly web. Donc, je vais juste recharger le projet Web Assembly. Et je suis allé décharger le projet de serveur juste pour m'assurer que nous ne regardons qu'une seule chose. Et puis le premier changement majeur, je vais pointer tout ce que cela a à voir avec le fichier du projet. Donc si je compare ça avec l'original, je vais vous montrer les changements que nous rencontrons. Donc, un, nous changeons le SDK de projet de Microsoft .NET dot dk dot web à Microsoft .NET dot SDK dot blazer Web Assembly. Une autre chose est que nous avons supprimé ces deux références de Framework cible sur. On a tout changé pour juste filet 5. D' accord. Ensuite, nous allons continuer à mettre à jour les références sémaphore. Donc une autre chose est que nous enlevons cette référence de poche de sorte qu'un seau ou des amis de composants qui ont été simplement adopter construit, nous venons de l'enlever. C' est donc nul manquant dans la nouvelle version. Maintenant, n' hésitez pas à essayer et D2 ne sont pas encore fait, mais vous vouliez aller à la gestion des paquets et voir si vous pouvez exécuter une mise à jour pour tout. Alors essayons ça. Et c'est fait, bien. Et puis nous voulons aller à notre program.cs. Quelqu' un a comparé celui-ci afin que nous puissions voir exactement les lignes qui doivent être modifiées. Donc, la première ligne est que nous allons mettre à jour cette référence au hub, un hashtag devant lui. Voyez, c'est vraiment tout ce qu'on a fait. Il a dit constructeur, composants grossiers qui additionnent. Et puis entre guillemets, nous ajoutons juste des hashtags. D' accord, la division sur ce qui est un signe de livre, un numéro ou un hashtag devant le mot. L' autre changement, c'est que nous changeons. Eh bien, nous l'avions déjà si vous aviez déjà cette portée aussi bizarre, alors c'est bon. Certaines personnes utilisent un transitoire, mais la méthode recommandée serait définie. Très bien, donc vous voulez ajouter à portée de votre client HTTP. Et la seule raison pour laquelle il montre toute la ligne mise en évidence, parce qu'un correctif un espacement ou grillé vivant. Mais c'est essentiellement le changement majeur ici, étant sûr que cela dit à l'école. Mais après avoir fait tout cela, nous pouvons faire une construction et voir si nous avons des erreurs. Et l'erreur que je reçois est la même zone que nous avions avec ce serveur. Donc, je vais juste commenter ces vieux pour null juste pour m' assurer que nous pouvons signaler une migration propre. Bien que les yeux, donc si je fais une construction et puis je vois un projet réussi, donc presque faire pour recharger les autres projets. Cela fait un clic droit recharger, un clic droit recharger, puis faire une autre construction et n'ont aucune erreur à signaler. Laisse-moi juste faire une course rapide juste pour m'assurer que tout fonctionne. Donc, ce qui se passe, c'est que vous devez vous assurer qu'ils sont en cours d' exécution des API et que vos clients et vos clients. Donc je veux dire, tous commencent à un si au cas où vous ne savez pas comment le faire, vous avez juste un clic droit. Nous ferons des propriétés et nous assurons juste que tous sont en démarrage. Au moins si vous êtes un projet boucles cela à l'esprit. Si vous le feriez, si vous aviez Sardinia Server hébergé blazer et probablement ne pas avoir ce problème. Donc, je ne vois pas mon côté et laissez-moi juste aller de l'avant et inspecter et voir quel pourrait être le problème. Et ici, je vois que je suis une erreur 404, donc il ne parvient pas à charger la ressource ou le fichier CSS que j'ai ajouté. D' accord, donc je soupçonne que peut-être j'aurais dû utiliser un tiret, dû envoyer un score Fonda. Laisse-moi revenir en double et vérifier. Donc, ici, je vais juste me voir, c'est des ajustements. Donc je vais juste essayer le tiret au lieu du trait de soulignement. Et tout ce que nous voulons faire, c'est, et voici mes topologies d'homme dans notre virgule tout vouloir mettre notre barre latérale à l'intérieur de nos doctorats. Alors saute cette étape. Éludé à elle parce que tout le feu était de tout. Mais notre barre latérale devrait également être à l'intérieur de cette page div. Alors allons-y et redémarrons. Et ça ressemble plus à ça. Donc, voilà, nous avons notre application d'interface utilisateur blazer en cours de rendu. Ce fait alors qu'il était rendu initialement, mais nous avons fait beaucoup de choses, donc nous savons au moins où courir dans .net cinq. C' est tout pour cette vidéo. As-en une bonne. 67. Téléchargez Fix Fichier - Supprimer BlazoredInputFile: Salut les gars, bienvenue. Maintenant, à partir de nous mettre à jour notre blase ou les applications que .net 5, nous avons eu quelques problèmes avec nos champs d'entrée, donc nous allons juste mettre ça au lit. Donc, ce qui se passe, c'est qu'au départ, nous devions compter sur une solution tierce pour faciliter le téléchargement des fichiers. Mais Glaser a depuis implémenté un contrôle d'entrée plus natif, et nous allons donc commencer à l'utiliser. Donc, le premier ordre des affaires, et je vais vous montrer les changements côte à côte avec le serveur blazer ainsi que l'assembly web parce que le code sera à peu près le même entre les deux avec quelques modifications ici et là. Donc, la première chose que nous voulions faire dans les deux fichiers d'importation est de supprimer la référence à l'entrée blazer rapide afin que nous puissions juste aller de l'avant et cliquer dessus et le supprimer et enregistrer, puis vous pouvez aller à votre création. Donc j'ai un tas de choses ouvertes ici, donc je vais essayer de le réduire à ceux dont nous avons absolument besoin pour cet exercice. Donc, ce que nous voulons faire, c'est retourner à notre création et nous pouvons décommenter ce lion. Donc j'ai fait un peu de travail. Je vais juste nous aider à travers ce que vous devez faire, n'est-ce pas ? Donc, il peut aller de l'avant et décommenter cette ligne d'entrée. En fait, ça m'a pris un peu plus facile. Je vais juste faire apparaître cette vue de comparaison que nous utilisons lorsque nous faisons notre grille afin que vous puissiez voir exactement les lignes que je change. Donc, nous décommentons cette ligne de contrôle d'entrée. Et puis nous devons voir, et certains sont pour les types de données. Donc, au départ, nous utilisions l'entrée de liste de fichiers IFF. Et nous appelons ce fichier conservera ce nom, mais nous l'appellerons sourcils sont des fichiers. C' est donc un nouveau type de données. Ont également pas utiliser le livre de flux de mémoire juste flux. Très bien, donc vous pouvez aller de l'avant et répondre à ces deux changements dans les types de données. Maintenant, nous nous déplacons à l'intérieur de la pièce où nous aurions fait tout le traitement. Donc c'est la poignée créer notre, laissez-moi, laissez-moi le faire dans le flux exact. Donc, ce sont des centaines de sélection de fichiers, quel est l'événement qui est appelé lorsque le fichier d'entrée est modifié, n'est-ce pas ? Donc, nous gérons la sélection. Donc, nous voulons changer ce paramètre une fois de plus de IRI d'entrée de liste IFI pour entrer les arcs d'événement de changement de fichier. Et je l'appelle juste E. D' accord, donc ça ressemble un peu plus à si tu gagnais des formulaires ou si c'est ce que tu vois pour les événements, non ? Donc E va incarner le fichier ou les fichiers ou l'objet avec les fichiers qui ont été sélectionnés par notre sélecteur d'entrée. Il suffit de signaler que nous pourrions également mettre sur plusieurs ici si nous voulions Tableau pour la sélection multiple, c'est comme cela que nous allons juste attacher cet attribut là, multiple. Dans cette situation, nous n'en voulons qu'un. Donc je faisais juste ce point parce que E, en utilisant ce E ou en utilisant cet objet, nous pouvons obtenir plusieurs fichiers juste pour voir, vous savez, une fois que nous avons fait ce changement pour, vous savez, le fichier de plomb B égal au fichier de point E ? Non, j'aurais pu dire point E et obtenir plusieurs fichiers ce qui me permet de dire combien de fichiers, jusqu'à dix. Notre puits, jusqu'à ce que je peux avoir, non ? Donc, je pense que par défaut ce sera dix, mais je pourrais en spécifier deux, je pourrais en spécifier un. C' est vraiment à moi, le développeur, mais je ne peux pas obtenir plusieurs fichiers. Mais dans cette situation, je ne veux qu'un seul fichier, donc c'est un fichier E dot. Et puis j'ai introduit cette déclaration if précédemment, donc je me suis assuré de l'avoir partout où au lieu de vérifier le nom entier de l'extension, je reçois en fait les extensions de notre extension est égale au chemin, mais encore l'extension un nom de fichier. Et puis nous vérifions si l'extension correspond à ce que vous voulez. Et après que nous avons fait cela, nous voulions alors initialiser nos flux. Donc, au départ, nous avons dû être le fichier MS est égal au flux de mémoire nu, puis nous avons copié dans le flux de mémoire. Eh bien, non, nous pouvons juste voir le fichier MS est égal à file.js open read Street. Et donc nous avons juste lu le fichier directement dans notre objet de flux. Non. Quelques choses supplémentaires et en fait trouvé cela très utile. Ce que nous pouvons faire ici, c'est juste redimensionner nos fichiers. Alors laissez-moi juste réduire l'ancien code et vous montrer ce que j'ai introduit ici. Donc, vous savez, nous montrons un aperçu du fichier. Et plus le fichier est grand dans n'importe quelle situation, moins il charge efficacement, est géré par une application. Donc, ce que nous faisons ici, c'est juste redimensionner les fichiers. Donc, nous disons le fichier image redimensionné est égal à et nous attendons file.js fichier image demande une synchronisation. Nous spécifions le type de fichier que nous voulons. Et puis on dit juste la taille. Donc, en ce moment, je suis juste redimensionner n'importe quel fichier a été téléchargé à 100 par fichier pixel 100. Et puis après cela, nous le chargeons dans un tampon. Donc, nous disons les tampons var égaux au nouveau tableau d'octets avec la taille de point du fichier image redimensionnée. C' est donc un tableau d'octets à la taille de notre nouvelle image redimensionnée. Et puis nous attendons le point d'image redimensionné ouvert le flux de fichier ou ouvert le flux, lire et lire dans le tampon. Donc, c'est là que nous le copions dans le tableau d'octets, puis convertis en données de base 64, puis nous avons la même URL d'image. Très bien, donc c'est très utile si vous voulez redimensionner vos images entre les deux. Assez facile. D' accord, c'est tout pour la façon dont nous gérons la fascination. Parce que rappelez-vous que la sélection de fichier affiche juste l'aperçu du fichier. Je suis sûr de regarder ce que nous faisons quand nous traitons la soumission réelle du formulaire. Et le changement ici est vraiment peu de changement esthétique. J' ai donc un peu refactorisé notre service de téléchargement de fichiers, où j'ai une fonction ou une méthode, le même nom, mais j'ai supprimé la dépendance sur le fichier. Rétrospectivement, nous n'avons pas utilisé le fichier et nous sommes passés au fichier Upload. Ce que j'ai est un objet de flux et notre nom pour notre image. Laissez-moi sauter là-bas et vous montrer les changements qui ont été faits. Donc, à l'intérieur de notre contrat de téléchargement de fichier oeil. Donc, je vais recommencer avec l'interface en tant que chaleur qui a ajouté un peu d'un nettoyage car ajouter plus d'une méthode fait hors du refactor que nous avons fait plus tôt. Mais il est toujours bon de supprimer l'ancien code, surtout si vous utilisez le contrôle source car vous avez de toute façon l'historique de gestion des versions. J' ai donc supprimé l'ancien code et je sais comment cette nouvelle méthode, qui est le fichier de téléchargement de tâche publique. Il nous faut le paramètre de flux et un nom de chaîne. Et donc, pour la mise en œuvre réelle de cela, laissez-moi juste aller plus loin et comparer. Eh bien, probablement ne fait pas, puisque je suis allé bureaucrates comme presque une nouvelle méthode. Mais passons par là quand même. Donc, c'est un AsyncTask prenant cet arbre et appeler le fichier MS et un nom de chaîne, nous supprimons beaucoup d'autres choses. Donc, j'ai probablement besoin de mettre acheté ce bloc try-catch. Vous pouvez le mettre là quand vous faites cela, mais laissez-moi juste réduire l'ancien refroidi et me concentrer sur le nouveau code. Donc ce qu'on fait, je garde ce tampon juste à côté il est rouge jusqu'à l'identification d'un caissier. Et j'initialise mon flux de fichiers, non ? Donc, je pense que, cette ligne est presque la même sauf que j'ai fait une instruction using juste là et ensuite j'ai écrit dans le flux de mémoire. Donc, en oubliant tout ce mot, en initialisant ça. Et puis je vois juste Wild par son rouge est égal à, Je vais attendre le fichier MS, qui est mon point de flux lire tampon asynchrone. Donc flux lire tout ce qui est contenu à l'intérieur du tampon. Et alors que ce n'est pas égal à 0, encore une fois, laissez-moi réduire cette sécante, voir l'image de flûte. Alors que par fil est égal à, je ne sais pas où on frappe ? Vous lisez le contenu ? Où juste faire quelques maths ici, total ou il s'accumule aux octets lus. Donc juste pour que vous sachiez, pendant qu'il lit, c'est juste l'addition. Et pour toute cette période est juste écrire asynchrone ou tampon ari. D' accord, et à peu près c'est tout, non ? Ça gère notre téléchargement de fichiers. Donc, c'est en fait le code requis pour ou créer dans le, je crois que c'était notre projet de serveur. droite ? Jetons donc un rapide coup d'oeil à ce que nous faisons pour notre Web Assembly. Parce que vous savez ce que l'assemblage Web où le téléchargement sur le serveur, le serveur API plutôt que de le gérer localement comme nous le faisons avec un projet de serveur. Donc, c'est à peu près la même chose sauf OnCreate. Désolé, la sélection Honda est à peu près la même chose où faire la même chose ici nous prenons le fichier d'entrée et l'affichons. Ainsi, vous pouvez littéralement simplement copier et coller la sélection de poignée du serveur vers l'assembly Web. Mais alors pour nos créations gérées, nous faisons quelque chose d'un peu différemment ici, où j'initialise le tampon à la taille du fichier réel. D' accord, puis nous l'ouvrons et ensuite nous envoyons la barre d'outils comme une chaîne de base 64. Très bien, donc c'est la seule différence. Donc juste quatre bits plus de contextes qui peuvent faire apparaître les comparaisons. Ils peuvent voir exactement ce qui est, au moins voir ce qui était là avant. Donc nous allons faire les mêmes changements de type de données, n'est-ce pas ? Mais alors n'entendez pas tout ce que nous avons fait était de convertir le fichier MS ou notre rue mémoire jusqu'à ce qu'IRI, c'est tout ce que nous avons fait. Donc, nous ajoutons deux lignes de plus ou nous initialisons ces octets, désolé, puis lisons le contenu des fichiers dans la batterie. Ensuite, nous le convertissons aux bases dessinées, et c'est à peu près tout. Tout le reste, encore une fois, est assez similaire au serveur. Pour notre édition. Pas très différent. Encore une fois, c'est à peu près la même chose. Donc, une fois que vous avez ces changements, vous pouvez aller de l'avant et les tester par vous-même. Et vous voyez que notre téléchargement de fichiers ne fonctionne pas. 68. Code essentiel et configuration: Hé les gars, bienvenue. Donc, dans ce module, nous voulons réellement déployer notre application sur l'Azi, votre cloud. Donc j'utilise comme là parce que ce sont juste les exploits contre nature. Visual Studio est déjà réglé pour le déploiement Azure. Et bien, tout est Microsoft. Tout fonctionnera parfaitement. Il peut y avoir quelques hoquets en cours de route, mais tous les hoquets que nous rencontrons, Assurez-vous de vous expliquer pourquoi ils rencontrent nous les avons rencontrés et comment nous obtenons les nôtres. Mais avant de commencer à chercher à 0, nous devons regarder notre code car il y a quelques changements de configuration sur les fichiers essentiels, changements que nous devons faire pour nous assurer que nous avons une transition en douceur. Alors pendant que nous enregistrons sur notre machine, c'était presque assez bien pour coder certains de ces pots. Mais le problème est que ces robots n'existent pas sur un autre serveur. n'y a pas d'utilisateurs de voir et cette structure de dossiers partout où nous allons déployer notre application. Donc, je veux faire est de le rendre un peu plus dynamique. Donc, ce fichier particulier que j'ai ouvert est pour les API de librairie, le fichier de projet réel. Vous pouvez donc simplement double-cliquer sur le fichier de projet. Vous auriez ce XML. Et puis ce que nous voulons faire est de mettre dans un nouveau nœud, le groupe de propriétés. Nous voulions dire générer un fichier de documentation, vrai. D' accord, ainsi de suite, et ensuite nous devons changer le chemin du fichier de documentation réel. Donc, ce que je vais faire est de tout enlever jusqu' à ce que le nom réel ou la boue puisse se permettre un nom de fichier. Et puis je suis allé le remplacer par un bac. Puis barre oblique signe dollar, ouvrez la configuration des parenthèses, puis fermez les parenthèses. Donc, cela le rendrait plus dynamique et il va effectivement lui dire Janvier, ce fichier dans le dossier bin. Donc, le dossier bin est fondamentalement universel à tout bizarre que notre application. Donc pour moi et ce changement pour éviter tout conflit sur le serveur Azara quand il commence à voir oh, ce qui est que je ne sais pas où mettre le fichier parce qu'on me dit de mettre le fichier n'existe pas. Donc, cela va contourner tout ça. Le changement majeur suivant serait le fichier de configuration n journal. Et c'est une situation similaire ici où nous aurions codé en dur, nous sommes, nous voulions que les fichiers visent. Donc, à la place, je vais définir tout cela pour être le répertoire de base. Donc ça va littéralement lire le signe dollar BCE, chérie. D' accord, et puis, eh bien, j'ai besoin d'avoir mon dossier de journaux slash. Donc, ce qui va se passer est que notre journal n serait directement dans notre dossier de journaux qui existera dans notre solution. Nous voulons faire la même chose pour le journal interne. Je ne veux pas que ça finisse nulle part. Je ne veux pas qu'elle soit sur le lecteur C. Je voulais dans le répertoire de base uniquement et juste avoir un dossier de lots MAINTENANT avec le journal interne et le journal d'activité quotidien. Donc maintenant, nous pouvons passer à nos fichiers blazer et toutes les configurations ici ne sont pas si grandes. C' est juste que nous aimerions vraiment, vraiment, vraiment que le fichier de points de terminaison soit un peu plus dynamique parce que rétine et moi avons codé en dur le baseUrl, ce qui à des fins de développement était parfaitement bien. Cependant, lorsque nous déployons réellement, notre API ou API ne sera plus localisée à cet emplacement. Cet emplacement n'existe que lorsque nos API sont en cours d'exécution. Quand il est sur le web, nous avons besoin de l'adresse pour que nous puissions rendre les baseUrl relatifs à cette adresse. Donc, ce que je vais présenter ici est une déclaration rapide si. Donc, il va du hashtag de New York si. Et puis nous vérifions si c'est en mode débogage, alors nous savons que nous pouvons utiliser cette URL de base, non ? Si c'est un débogage, alors c'est bon. Cependant, ce qui signifie que ce n'est pas en mode débogage et je vais juste finir ici. Donc, et si oui, alors nous pouvons savoir, introduire cette URL, quelque chose d'autre ici, je ne sais pas à quoi il va être parce que nous n'avons pas encore déployé ou d'API de librairie. Mais nous voulons cela ici pour que lorsque nous sommes un bateau pour déployer nos blazer ups, nous n'avons pas beaucoup plus à faire, mais simplement remplir le vide avec l'adresse null homestead pour l'API. Donc, je vais juste aller de l'avant et faire ce changement pour les deux projets blazer. Droit ? Donc, nous avons notre projet d'assemblage Web à la recherche de débogage par rapport à l'ampoule. Et puis nous avons notre projet de serveur faire la même chose. Et dans notre librairie, EPA est maintenant un peu plus dynamique avec ses configurations. Donc, quand nous reviendrons, nous commencerons le déploiement de notre API. 69. Créer un compte Microsoft Azure: Hé les gars, dans cette vidéo, nous allons créer notre Microsoft en tant que cônes 0. Comme je l'ai dit tout à l'heure, on peut commencer gratuitement. Pour accéder à ces sites, nous allons à absorber point Microsoft.com et puis je suppose que les routes vous selon votre région ou votre langue. Mais c'est à quoi ressemble le site Web devrait ressembler. Et vous pouvez le lire pour voir exactement ce que 0 est tous les bateaux. Il s'agit d'être futuriste, de permettre plus de collaboration et d'opérer de manière plus transparente dans un espace fermé, non ? Ils sont partout dans le monde et vous choisiriez habituellement la région la plus proche de vous. Donc je suis dans la région des Caraïbes. Alors mon Joel dit, la région est à l'est de nous ou de l'Est des États-Unis deux. Mais pas pour cette vidéo. Cette vidéo, nous sommes juste de créer les colonnes n'étaient pas assis quoi que ce soit sur les raisons pour l'instant. Et pour commencer, affaiblir ceux. Eh bien, si vous avez déjà un compte en direct, alors vous pouvez juste aller de l'avant et vous connecter avec ce live de cônes. Mais vous pouvez simplement cliquer sur Démarrer gratuitement. Et ici, ils vous disent que vous pouvez créer un libre ont disparu aujourd'hui et vous pouvez commencer avec 12 mois de services gratuits. Donc c'est une bonne affaire pour moi. Et si vous faites défiler vers le bas, vous voyez 12 mois de services gratuits, populaires et gratuits plus 200$ de crédit qui expirera dans 30 jours. Donc, ils vous donnent $200 une peut créer des machines virtuelles V, encore une fois, créer des ressources dans le cloud et expérimenter jusqu'à ce que l'argent est o. et c'est vraiment juste pour un mois. Mais alors il y a certains services que vous obtenez gratuitement pour le reste de l'année, et puis vous aurez quelques autres services qui sont toujours gratuits. Bon, donc ce que nous allons faire est juste d'aller de l'avant et de cliquer sur Démarrer gratuitement. Ensuite, ils nous demanderont de nous connecter avec notre live de cônes. Si vous avez encore un compte en direct, il peut aller de l'avant et l'utiliser. Si vous n'avez pas un autre cône, alors vous pouvez aller de l'avant et en créer un. Et c'est une option très récente pour se connecter avec GitHub. Donc j'ai un live un cône que j'utilise, mais je vais juste vous accompagner à travers la création 1 d'abord. Sachez que l'icône en direct n'a pas nécessairement besoin d'être en direct ou sur all.com. Il ne doit pas nécessairement être un compte Hotmail traditionnel, il peut s'agir d'un compte Gmail. Donc, je peux réellement utiliser la même adresse e-mail que j'ai utilisée pour GitHub ou les adresses e-mail que j'utilise lorsque je m' abonne pour des choses que je peux utiliser que, que ce soit Yahoo, Gmail, Hotmail, quoi que ce soit. Et cliquez simplement sur suivant. Et là, c'est déjà, ça me dit que j'ai déjà un point Microsoft disparu. Donc cela conduit mon point de vue cependant, qu'une fois que vous avez une adresse e-mail, il ne doit pas être un Hotmail ou un bateau AECOM traditionnel vivant là-bas, créant ainsi un Microsoft ou Collins pour vous avec cette adresse e-mail. Donc, vous pouvez aller de l'avant et vous inscrire. C' est un processus assez simple. Maintenant, ils sont Conda a décidé déjà existé. C' est un compte que j'utilisais pour m'inscrire au deux-points gratuit. Alors. En fait, je suis juste allé de l'avant et je me suis connecté et parce que je ne me suis vraiment pas réglé beaucoup plus, je pense que votre processus d'inscription va vraiment ressembler à cela indépendamment, ainsi de suite pour surmonter l'obstacle de mettre dans votre et en continuant, alors vous allez probablement finir sur un écran comme celui-ci où vous allez être demandé pour vos informations démographiques juste pour leur dossier, gardant les énergies de mon pays sur sa Jamaïque. Et je lui cite mon numéro de téléphone sur lequel je clique sur Suivant. Et puis ils disent, voulez-vous vérifier votre identité par téléphone ou le besoin par carte ? Ou c'est que je vais choisir me prend par téléphone et je viens de recevoir le message. Ça n'a pas pris longtemps du tout. Donc, je vais juste mettre ce code et ensuite vérifier. Maintenant, voici la partie qui pourrait vous dissuader si vous n'êtes pas prêt pour cela, ils voudront vérifier votre identité par carte afin que vous ne soyez pas facturé à moins que vous ne soyez mis à niveau, ce qui signifie qu'ils ont un plan d'abonnement à la clause YOU différent, donc exact. Non, vous vous inscrivez à l'abonnement gratuit. Une fois que les abonnements gratuits sur le plan est fait, alors vous ne serez pas en mesure de faire grand-chose sur la plate-forme tant que vous n'avez pas envoyé nos nouveaux abonnements sur la marque, ce qui coïncide avec ces mises à niveau. Donc, comme je l'ai dit plus tôt, il y a p Comme vous allez Et puis il y a un test de slash de développement payer-as-you-go, qui est celui sur lequel je suis, ce qui est comme la moitié du prix sur le cool PICU régulier. J' ai donc fourni l'inflammation de ma carte quand je me suis inscrit. Et après avoir fait cela, vous pouvez cliquer sur leur fait cliquer accord si vous n'avez pas de carte ou si vous n'êtes pas à l'aise avec fournir les détails de notre carte alors. Miam, et tu peux t'arrêter ici, c'est bon. Plus tard, lorsque nous déployons réellement sur Azure, vous pouvez toujours voir à quoi cela ressemblera et voir à quel point cela vous est bénéfique. Quoi, si vous le souhaitez, alors vous pouvez aller de l'avant et fournir vos informations, puis cliquez sur l'accord et accepter les termes de l'accord et ensuite vous seriez dans la plate-forme. Donc je vais juste me connecter à mes cônes Rayleigh, pourrait citer le cône de Rayleigh, mais celui que j'utilise et vous montrer à quoi ressemble un 0. Eh bien, en fait, je viens de taper dans Porto dot 0.com en espérant qu'ils me demanderaient de me connecter, mais je l'ai fait et il a juste réécrit et mus en semblant un cône que je mettais juste en place George Williams sur gmail.com. Donc ce tableau de bord, donc c'est le tableau de bord au niveau très basique, ils ont un panneau sur le côté ici listant ODE. Un certain nombre de services que vous pouvez obtenir. Mais alors, parce que nous n'avons pas terminé la série de quatre parce que je n'ai pas terminé le règlement, au moins quand je vais aux abonnements, je vais voir que je n'ai pas d'abonnement, non ? Donc, comme je vais le voir dans l'abonnement est comment le taux vous en tant que client avec AARP que vous allez entreprise ou quoi que ce soit. Donc, si j'ai décidé plus tard que je voulais fournir mes informations, je peux juste revenir et cliquer sur ajouter. Et puis cela m'amènerait à terminer la procédure d'inscription où j'ajouterai réellement l'abonnement. Et donc c'est un essai gratuit sur cette guerre assis, sachez juste que vous avez un support de développeur payant à l'utilisation. Ozias d'un bon nombre d'entre eux. D' accord, donc j'irais probablement avec la paye quand tu pars. Mais que oui, tout cela est dans les étapes de l'inscription à Azur, et c'est si vous voulez continuer avec cela. Mais pour ce détour, vraiment et vraiment, je voulais juste que vous alliez jusqu'au tableau de bord afin que vous puissiez voir que c'est un 0, ressemble à ce portail de gestion de la charge de travail lentement. Vous pouvez configurer vos machines virtuelles. Mais pour ce cours, nous allons chercher des services. 70. Deploy sur l'API de la boutique de livre et de base: Très bien les gars, bienvenue. Nous allons donc réellement déployer notre outil de projet d'API web ou d'hébergement Azur. Donc je suppose que vous avez déjà créé votre compte. Vous devez simplement aller avec le bouton droit sur le projet , puis vous verrez publier et il échappe. Là, nous allons publier. Une fois qu'il a cliqué dessus, si vous n'êtes pas déjà connecté à Azure, allez-y et faites-le. Ensuite, nous verrons les cibles ici. Donc, si nous voulions publier sur notre serveur local choisirait oui ou, vous savez, choisir celui qui fonctionne en fonction de notre situation. Qu' est-ce que je suis en train de faciliter un 0 ici. Donc, comme vous êtes, nous cliquons sur suivant. Et puis nous voulions dans un App Service, n'est-ce pas ? Donc, nous allons de l'avant et cliquez sur Suivant. Vous pouvez être invité à vous connecter à ce stade, si vous n'êtes pas déjà connecté avec vos cônes sont votre compte Microsoft. Mais à ce stade, ce que nous voulons faire est de créer des yeux vos instances. Donc, mon abonnement ici est parce que vous allez test de développement et vous ne pouvez pas nécessairement avoir celui-ci ou vous pouvez avoir un autre, mais comme IZ obtenir accès, alors vous devriez aller bien. Donc, je vais aller de l'avant et cliquer sur le signe plus parce que je n'ai pas de ressource ou de groupe de ressources, ou si j'ai quelques groupes de ressources ici d'expériences précédentes. Mais ce que je vais faire, c'est en créer un tout nouveau. Donc ça va être Bookstore RG, n'est-ce pas ? Alors je clique sur OK et ils me demandent toutes les usines de vapeur. Donc, je vais cliquer sur nouveau et je vais choisir, j'aime utiliser East US, mais ensuite vous utilisez celui qui est le plus proche de votre raison. Donc, je choisis les États-Unis de l'Est deux, c'est celui recommandé pour ma raison, qui est les Caraïbes. Et puis ma taille sera libre. Donc, vous avez libre et vous en avez d'autres pour lesquels vous devrez payer. Donc, vous savez, pour être le plus rentable, nous allons juste choisir gratuitement afin que nous puissions faire cette opération correctement, vous pouvez toujours augmenter, c'est la beauté d'Azure et les vêtements peuvent généralement toujours augmenter si vous le souhaitez. Alors nous avons ce plan d'hébergement. Je vais appeler ce plan blazer API librairie. D' accord ? Et donc je le renomme juste. Tu n'as pas vraiment à faire ça. Vous cliquez sur Ok, puis cliquez sur Créer, puis vous devez réellement donner cela un jour. Maintenant, une fois cette opération terminée, vous pouvez aller de l'avant et cliquer sur Terminer. Et puis il aurait fait le règlement préliminaire pour notre paquet de publication. D' accord, donc, je vais juste vous expliquer quelques choses ici et nous avons ces petites mises en garde et donc nous devons tout vérifier. Donc, je vais juste cliquer sur Modifier sur n'importe quelle pensée publiée. Et ce qu'il me montre ici, c'est qu'il va créer un serveur ou le serveur qu'il vient de créer pour le service AP est appelé que le nom du site sera Bookstore Dash API. Donc ce serait bizarre. L' EPI sera déployé. Je probablement, vous savez, il peut probablement clients est un peu Berlin nom plutonien ou quelque chose comme ça. Mais tu ne veux pas de dur aussi. L' URL de destination sera déterminée par le nom ST ish, non ? Donc, vous pouvez choisir les URL de destination, je peux dire. Librairie, API, cours de tiret. Très bien, alors cette URL sera maintenant prise par l'Assyrie. Dieu a utilisé cette URL au moins jusqu'à ce que je ne l'ai pas publié, ma cour sont inédits fait diminuer votre courant. D' accord. Donc, je peux dire l'API de librairie. Et je vais mettre mon nom. D' accord, donc c'est la société et puis l'API de librairie. Et laissez-moi juste dire une guerre de gazon. On y va. Donc, si j'ai essayé de valider la connexion, il essaiera juste de vérifier qu'il peut réellement entrer en contact avec le site. Et une tique verte signifie que nous sommes prêts à partir. Si nous regardons les paramètres, vous verrez que le framework cible, qui est net cinq, monte pour la mise à niveau récente. Et puis nous avons les options de publication de fichiers afin que vous puissiez supprimer tous les fichiers qui sont déjà là. Tu aimes juste frais, applaudis à chaque fois. Vous pouvez regarder la divinité BASECASE. Oui, la connexion par défaut ici, c'est notre connexion à la base de données locale. Vous avez d'accord des shuns qu'ils peuvent faire. Vous pouvez également installer des services de journalisation étendus. Donc, vous ne voudrez peut-être pas, vous voulez faire attention à ce que vous cochez, parce que ces choses coûtent de l'argent. Donc, vous savez, moins il y a de choses qui cochent, moins la valeur théorique de l'argent que les dépenses, mais juste pour être très prudent. Donc je suis juste en train de traverser ça. Comprenez ce que vous regardez. Donc, je peux aller de l'avant et voir si c'est et puis vous verrez que ma nouvelle URL de site serait que quand elle sera publiée, nous n'avons encore rien publié. La prochaine chose que nous devons faire est de configurer la base de données. Maintenant celui-ci va coûter de l'argent. n'y a pas de base de données gratuite, ou au moins au moment de cet enregistrement il n'y a pas de libre. Donc, je vais juste aller de l'avant et cliquez sur Configurer, choisissez base de données Azure SQL. Et à moins que vous ne soyez l'un de ces commutateurs d'installation hybrides généralement facilités par de grandes entreprises et que vous ne puissiez pas le faire sur une base de données locale. Sur site signifie où vous êtes par rapport au code. Si tout est dans le code, tout est accessible. Si c'est sur site, vous aurez besoin d'une mise en réseau avancée et de bonnes méthodes. Et comme je l'ai dit, des coopérations plus importantes ont tendance à soutenir cela. Je ne suis pas un support de brin qu'il est moins cher pour moi de simplement créer la base de données SQL et locale. Donc, je suis allé à aller de l'avant et cliquez plus pour ajouter une base de données. Alors me demande quel est le nom du DSMB S ? C' est que je veux l'API de tiret de librairie base de données. Ainsi, le nom par défaut est donné en raison du nom du projet et c'est le sien. Je veux dire, c'est évident, c'est bon. Je choisis le groupe de ressources que je viens de créer. Donc, c'est toujours bon, surtout en fermé pour garder tout dans le même groupe de ressources. Et tout peut être dans un seul récipient. C' est ce que signifie groupe de ressources. Serveur de base de données. Je ne parle pas sur le serveur actif. Donc, parce que je ne veux pas avoir un service actif pour la base de données, pour Azure SQL. Je dois créer un serveur. Alors je suis parti en créer de nouveaux ici. Et puis il va faire tourner un serveur entier. Il va me demander le nom d'utilisateur et je vais juste mettre un mot de passe dont je sais que je peux me souvenir. C' est donc très important. Assurez-vous que vous pouvez vous souvenir de l'analyseur car vous en avez besoin pour vous connecter plus tard. Vous cliquez sur OK, puis il remplira le reste pour vous et ils vont de l'avant et cliquez sur Créer. Donc, cela va créer le serveur et le configurer pour la connectivité. Et bien, ce processus a peut-être pris un certain temps, mais une fois que c'est fini, vous pouvez aller de l'avant et cliquer sur suivant. Il vous montrera la chaîne de connexion. Donc, il sait que nous recherchons une connexion par défaut dans notre projet. Donc, il va juste l'appeler connexion par défaut. Il vous demande de fournir votre nom d'utilisateur et votre mot de passe que vous venez de créer. Donc je vais juste faire ça. Et ce qui se passe, c'est qu'il va en fait simplement le mettre dans cette chaîne de connexion. Donc, vous pouvez simplement copier cette chaîne de connexion. Vous pouvez l'afficher si vous le souhaitez. Mais vous pouvez être prudent avec cela car il va avoir le nom d' utilisateur et le mot de passe que vous venez d'entrer ici. Vous pouvez également choisir d'utiliser les paramètres de l'application sont le Key Vault. Key Vault est plus sécurisé, mais une fois de plus, cela coûte. Donc, je vais juste le laisser dans les paramètres de l'application, puis cliquez simplement sur suivant. Et tout ce qu'il est nous demande nous avons juste cliqué Terminer comme votre et Microsoft ni mieux donc tout ce qu'ils suggèrent qu'il ne clique sur Suivant et lui faire savoir que vous êtes intéressé et ensuite nous pouvons fermer afin que le bouton de mise en garde est parti. Notre base de données est maintenant disparue. Je me suis dit, essayons de faire un publié. Donc, je vais juste cliquer sur Publier. Et ça va aller de l'avant et faire quelques opérations entre les deux. D' accord, donc quand notre opération publiée sera terminée, il essaiera de lancer tout bouleversé et c'est ce que je reçois en ce moment. Laisse-moi essayer de passer à mes cônes. D' accord, donc je suis connecté à mes cônes xhr et je voulais aller essayer de regarder toutes les ressources. Je vois ici. J' ai le web, l'App Service, n'est-ce pas ? Ensuite, vous avez la base de données SQL elle-même. Et puis zone connue du plan de service, qui est fondamentalement juste une façon fantaisie de dire le server.js hébergeant le service, ainsi que le serveur de service SQL, non ? Alors laissez-moi regarder dans notre application web. Donc, parfois tout noeud parce qu'il manque une configuration. Je pense que je sais ce que c'est, mais je voulais juste vous montrer comment vous pouvez faire débogage et découvrir ce qui se passe. Ce que nous voulons faire, c'est aller à des outils avancés. Et puis cet outil avancé s'appelle Khufu, non ? Donc, il nous donne certaines opérations au plus bas effectivement interrompu le service ou les fichiers sous-jacents ou l'infrastructure. Donc, je voulais aller à la console de débogage et je vais naviguer vers le site www root. Et puis on peut voir tous les fichiers qui auraient été publiés de ce point de vue, n'est-ce pas ? Donc, à partir de là, je vais faire .net et bookstore dash api dot DLL. Donc ce n'est pas moi. Démarrage de l'application là, il est, Librairie dot DLL. Et cette console me donne juste une idée. Alors remontons et voyons. C' est donc un avertissement. Ok, je peux passer par celle-là, mais là, vous voyez l'échec. Donc, désolé, ça continue de sauter. Donc, à ce stade, il dit échec et il se plaint qu'une exception s'est produite pour le contexte. Et puis il dit qu'il ne peut pas trouver est B règles net maintenant donc si c'est la société active, En d'autres termes, il peut trouver la base de données. Il se passe quelque chose avec les tables uniques de la base de données. Alors laissez-moi simplement nous prendre qu'Azur va à la base de données elle-même et ensuite nous pouvons la regarder. Eh bien, bien, c'est un vraiment envie qu'elle se connecte cordes. Donc je voulais juste savoir comment puis-je me connecter à ce serveur de base de données afin que je puisse réellement utiliser mes outils locaux. J' ai donc déjà installé mon Management Studio. Et donc je veux réellement me connecter à ce serveur en utilisant mon, mon, mon, mon serveur local ou mes outils locaux. Donc, je peux sélectionner ce serveur égale partie, juste obtenir ce TCP. Donc le numéro de port qui dit mon serveur. Donc, à l'école avec studio de gestion de la demande et se connecter. Et puis j'utilise l'authentification du serveur parce que j'ai besoin d'utiliser les mêmes informations d'identification que je venais de régler lors de la création du serveur pour les utiliser pour se connecter. Connaître les tendances de conduite va vous dire que vous n'avez pas accès parce que vous devez réellement configurer certaines règles de pare-feu ou un faible pour le pare-feu pour que le trafic externe atteigne votre serveur. Donc, à partir d'ici, je peux me connecter et ensuite l'activer. Alors je vais aller de l'avant et faire ça et te laisser voir. Donc, une fois qu'il aura vérifié que je suis YM, nous vous demanderons si je voulais ajouter mon adresse IP client, un autre kink de vente, parce que je n'ai pas besoin d'Internet entier pour accéder à cette base de données. Je n'ai pas besoin de ma machine. Donc, une fois que je suis là, je peux regarder et voir mon idée à BCE. Et c'est une sorte de, alors laissez-moi zoomer un peu pour vous. Et puis je peux étendre ma base de données et regarder les tables. Et quand ça prend des fonds, qu'est-ce que tu ne vois pas ? C' est donc notre problème. Il n'y a aucune base de données. Donc oui, il a créé la base de données, mais une fois qu'il n'a pas réussi à faire était réellement effectuer l'une des migrations. Laissez-moi revenir aux étudiants en arts visuels, voir quel était le cadre pour ça. Donc, je crois que si je vais à Modifier, allez dans les paramètres, et puis il va sortir pour découvrir les bases de données là-bas. D' accord, donc je peux laisser tomber ça, mais, et je vois cette migration inédite, ce qui veut dire, quand je publie ça, est-ce que je fais une demande ? Droit ? Donc, je peux juste dire enregistrer et ensuite faire un autre Publier. Donc, une fois que nous avons vérifié notre base ce dernier déploiement verra la migration effectuée. Cependant, nous ne sommes toujours pas terminés parce que nous n'avons pas nos livres et nos tables d'auteurs. Donc, le problème est que rappelez-vous que nous avons fait base de données d'abord, nous avons abordé ce projet entier à partir de la prémisse que la base de données existait déjà et se connectaient à elle. Donc nous n'avons pas de fichiers de migration pour ceux que je dois dire, ces tables, pas vrai, ces fichiers. Donc, ce que je vais faire est juste de créer une migration. Et puis on pourra essayer. C' est encore une fois quelqu'un dit juste ajouter la migration. Et nous allons dire ajouter le libellé existant différemment si vous voulez des tables. Donc, nous allons juste créer cette migration. Et puis cette migration, non, nous prendrons en compte le fait que nous avons la table des auteurs que nous devons créer, une table de livres que nous devons créer. Et au fur et à mesure que vous y ajoutez, vous pouvez avoir d'autres tables et ainsi de suite. Alors maintenant que nous publions à nouveau où il lui a dit qu'il devrait ajouter la migration. Laissez-moi vérifier que cette option est là. D' accord, donc ceux disent appliquer la migration. Donc, c'est bien. Laissez-moi aller de l'avant et publier je reçois. Et quand nous regardons dans notre Studio de gestion ou pas de CO, deux tables qui manquaient. Les auteurs et les livres sont là. Donc nous savons que chaque fois, et ce n'est pas nécessairement la meilleure pratique, c'est nous le faire, mais étranger pour moi, fils malade dans un cadre réel, dans un cadre de production, vous n'aurait jamais de migrations automatiques. D' accord, la meilleure pratique serait que vous utilisiez la crypte, ne faites pas la base de données avec toutes les tables et les artefacts et tout ce qui doit être créé. Vous le donnez à votre senior, qu'il s'agisse d'un DBA ou de votre développeur senior, puis vous l'introduisez dans le système. Mais jamais, ce n'est jamais une bonne pratique d'automatiser votre migration. Ok, donc où buck with coup après avoir fait ces deux derniers, publie sur pour savoir que vous voyez toujours l'erreur 500, l'erreur que nous avons vue initialement. Donc, essayons à nouveau là où nous disons .net bookstore api dot DLL. Voyons ce qui se passe cette fois. Très bien, donc notre application n'a aucun problème dans la mesure où cela indique. Mais une fois de plus, nous obtenons toujours cette URL. C' est pouvoir trouver notre site. Donc, au moins, on sait qu'on a sorti certaines choses. Donc, tous ceux qui ont publié, nous devons nous assurer que la base de données fonctionne et fonctionne. Et nous pouvons voir que c'est ce qui se passe ici. Alors revenons à votre porte arrière et voyons quels autres paramètres pourraient être là. Comme je ne suis pas parti, voici ce qu'on va faire. Donc, comme vous êtes vraiment désolé, dominate core nous donne en fait la possibilité d'afficher les journaux en fonction de choses qui pourraient se passer mal sur notre site. Donc, je vais aller sur le site, revenir aux racines w, w, afficher notre fichier de configuration web afin que je puisse réellement éditer ce fichier ici. Et je vais changer ce journal std, leur a permis de changer cela à vrai. Donc, ce que cela va faire est en fait produit beaucoup parce que parfois l'obligation est en cours d'exécution, mais il y a autre chose dans l'infrastructure sous-jacente qui la cause de l'échec. Donc, en activant ce journal, nous pouvons maintenant voir un fichier journal physique et nous avons déjà établi des importations à destination des fichiers journaux sont. Et l'emplacement du fichier journal serait un aperçu dans les connus qui sont des fichiers journaux racine et nous devrions le voir apparaître ici. Alors laissez-moi essayer d'exécuter l'application une fois de plus, quelques fois et voir si quelque chose, si un fichier journal apparaît pour moi. Bon, donc rien n'est venu dans mon dossier. Laisse-moi retourner à Uziah et m'assurer que tout va bien. Donc Buck dans le web et je vois ici que l'URL, la réinitialisation de l'URL, l'euro, a été réinitialisé à ces valeurs. C' est donc notre URL. Tout ce temps, j'ai essayé d'aller à l'URL qui a tapé, qui est Dash EPA Industry awards. Essayons donc cette URL et voyons ce qui se passe. Et voilà, belle, belle vue que nous voyons sont des API swagger, comme nous savons que nous devrions voir. Et l'exception est que cela ne fonctionne pas sur notre machine locale. Ce n'est pas une charge. D' accord ? Donc, si vous utilisez l'argent de la poste devrait être en mesure de passer à travers Internet et accéder à votre API que vous avez construit. Notez que notre API est hébergée. Ce que nous voulons faire est de publier nos blazer ups, mais pour nous assurer qu'ils pointent vers cette API hébergée plutôt que d'essayer de voir celle locale. Donc on le fera quand on reviendra. 71. Deploy le serveur Blazor vers le service App Web: Hé les gars, bienvenue. Maintenant que nous avons notre API, nous devons imprimer nos applications blazer à vie dans Azure. Nous avons donc notre API hébergée à cette adresse. Donc, nous devons répondre à ceci, l'URL de base à notre fin, 0.5 pour l'assembly web et le serveur fera le serveur, n'est-ce pas ? Non, quoi ? On voulait le voir dix, alors n'oublie pas ce que c'est. Notre URL de base pour notre API hébergée montrée. Donc, nous allons aller de l'avant et sont publiés activité, clic droit, cliquez, Publier. Nous choisissons un 0. Le web, l'Azara observer est ce que nous pouvons réutiliser le même service que nous avons déjà. Ça l'écraserait, n'est-ce pas ? J' ai donc besoin d'ajouter un nouveau service, et celui-ci est pour l'interface utilisateur de la librairie. Donc je ne vais pas changer de nom. Nous pouvons réutiliser le même groupe de ressources et je peux le mettre dans le même plan d'hébergement. Donc tout ça va bien. Mais le service lui-même est le conteneur réel pour les fichiers de l'application Web. Le plan d'hébergement, une fois de plus, est plus que la machine que nous allons héberger. Donc, je peux aller de l'avant et cliquer sur Créer. Et ceux que l'activité de création est faite, vous pouvez aller de l'avant et cliquez sur Terminer. Et puis ça va nous amener à cet écran familier, sauf qu'il va nous dire quelque chose sur ce que sont le signal et la configuration. Mais si je clique sur Publier, il va me demander de configurer le signal r. Alors rappelez-vous que c'est le serveur que le serveur blazer que nous déployons. Et je crois que j'ai déjà les services sigma aliased l'autorisent. Donc je n'ai pas eu ces balles rapides. Si vous obtenez l'invite, je les charge pour installer le signal. Nos services et tout cela sera juste Bootstrap pour vous et ils seront à votre référence de projet en conséquence et publier votre site Web. Voici donc notre application de serveur blazer en cours d'exécution. Laissez-nous le tester. Donc, si j'essaie de me connecter et de me rappeler que ce serait déjà le fond marin. Certains utilisateurs par défaut ont encore admin, bookstore.com, Piazza et Na. Et puis si je me connecte succès avec annuel pour court, parlant à l'API, je suis là. Si je vais voir les auteurs, ça va s'arranger. Les auteurs, il n'y a pas d'auteur à charger. Je peux en créer un nouveau. Je suis là, on y va. Donc maintenant, nous savons avec certitude que notre blazer parle à notre API. 72. Deploy Blazor WebAssembly dans le service Web App: Hé les gars, bienvenue. Nous avons donc publié notre API et nous avons publié notre serveur blazers. Et si vous regardiez de près entre les deux, vous verrez qu'il n'y a pas beaucoup de différence en termes de publication sur Azure. Oui, le mieux nécessitait un travail supplémentaire avec la base de données. Mais les deux applications ont fonctionné assez de la même manière lors de la publication pour savoir pour l'assembly web, c'est légèrement différent car ce n'est pas basé sur le serveur. Il s'agit d'une application statique. Et Azure a donc un conteneur statique pour ce type de site Web. Nous allons donc faire des étapes légèrement différentes pour notre assemblage web. Avant de passer à la partie publication cependant, j'ai juste quelques changements de code que je voulais signaler pour notre fichier program.cs. Donc, le fichier program.cs dans notre assembly web, nous allons faire les ajustements suivants. Au départ, nous aurions eu une ligne qui nous aurait donné les services d'ajout de point de constructeur. J' avais donc une ligne ici pour ajouter un gestionnaire de jeton de sécurité JWT portée. On va supprimer cette ligne. Il s'est avéré être buggy. Et quelqu'un a souligné que nous devons faire cela légèrement différemment. Donc, ce que nous allons faire à la place est en dessous où nous initialisons notre client HTTP. On va avoir deux lignes qui ressemblent à ça. Donc c'est un trait de soulignement. Voici un trait de soulignement. On y va. L' en-tête OUT et le trait de soulignement sont égaux à la nouvelle charge utile JWT. Et puis nous devons faire des ajustements similaires à notre gestionnaire d'authentification, ou plus précisément à l'API Authentication StateProvider. Et ce que nous allons faire est de supprimer le, avant de supprimer, nous allons initialiser le gestionnaire de jeton de sécurité JWT dans le fichier lui-même. Donc, au lieu de l'injecter, nous allons juste avoir un gestionnaire de jetons de sécurité JWT privé en lecture seule. Et puis le gestionnaire de jeton est égal au gestionnaire de jeton JWT. Donc, initialement dans le trie, nous avons commencé avec cette ligne var gestionnaires Tolkien égal au nouveau jeton JWT sous. Donc, vous pouvez supprimer cela et juste initialiser l'objet en haut ici. Et puis dans la fonction aimée, nous avions aussi cette ligne afin que nous puissions l'enlever aussi. D' accord, alors notre objet de gestionnaire de Tolkien est connu globalement pour toute la classe. On ne l'injecte pas. Et puis nous pouvons l'utiliser en conséquence pour que vous puissiez faire ces deux ajustements. Et puis nous allons entrer dans les choses amusantes, qui est le déploiement réel de notre application. Alors connectez-vous au portail et pendant que vous êtes là, je veux que vous alliez de l'avant et créez une ressource. Donc, à partir du marché que nous allons chercher, je vais juste taper statique. Et puis je veux une application web statique. Il est toujours en avant-première, mais il est assez stable pour nous permettre de rivaliser nos tâches. Donc, nous allons aller de l'avant et dire Créer. Et il va nous donner un petit formulaire à remplir pour que notre ressources utilise le même groupe de ressources pour tout le reste. Je vais juste donner à ce web le nom Blazer Dash était une raison pour moi, US East, US 2. Ensuite, ils vous demanderont de vous connecter avec GitHub. Donc, ce qui se passe est que le paramètre par défaut pour cela va configurer pipeline de déploiement continu et d'intégration en utilisant des actions GitHub. Ils nécessitent donc que vous vous connectiez avec GitHub. Donc, dès le début, je vous encourage à obtenir, pour obtenir des cônes Hobart pour vérifier votre code sur GitHub. Eh bien, c'est là que tout s'intègre. Donc, nous allons aller de l'avant et nous connecter avec GitHub. Cela l'autorise. Et puis ils vont juste te poser quelques questions. Donc, je n'ai rien de spécial à mettre ici, le dépôt ou dur tous leurs dépôts positifs sur GitHub. Je vais choisir mon API de librairie. Et puis la branche est maître. Ensuite, nous passons aux détails de construction, sur lesquels je n'ai pas besoin de fournir de détails. Ce n'est pas nécessaire. Ainsi, vous verrez toujours l'astérisque quand quelque chose est nécessaire afin qu'il puisse aller de l'avant et réviser et créer. L' écran suivant est juste le regard sur. Vous êtes sûr ? Et puis je vais dire allez-y et créez. Donc ce que cela va vraiment faire est de mettre en place mon bon TO Bob deux-points avec la configuration de déploiement rapide comme il peut le voir, il essaie en fait de faire le déploiement, non ? Non. Droit. Et puis il va créer le bouleversement. Si je vais à la ressource, alors je serais réellement ou devrait être en mesure d'accéder à la ressource ou à l'application à partir d'ici. Donc, quand je clique sur ce lien, eh bien, ils ne voient que votre application web statique est en direct et attend du contenu. Nous devons donc apporter quelques modifications. Si vous êtes un aîné, alors vous félicitez, pas de problème. Tu l'as fait. Cependant, si vous ne voyez pas le haut, alors restez un peu autour parce que nous sommes sur le point d'y aller. Donc, pour l'historique de déploiement, je vais juste cliquer sont bien, je peux modifier le flux de travail. Donc, c'est vraiment le fichier de workflow, qui est juste un fichier de configuration qu'ils ont juste créé à l'intérieur de mon dépôt GitHub pour ce projet. D' accord ? Et il y a une partie clé dans ce fichier où il parle de l'application. Donc, l'application ici signifie que lorsque je regarde dans ce dépôt, où puis-je trouver l'assemblage Web ? Donc, quand nous regardons au moins le mien et si vous êtes sur a été mis en place comme j'ai le mien mis en place, alors vous allez voir sont alors vous l'auriez dans le dossier Web Assembly. Vous devez donc vous assurer que vous savez dans quelle année de dossier Web Assembly est dans. Donc je vais revenir aux workflows et Mackenzie, je dois le faire parce que chez cento né avant, mais nous nous concentrons sur celui-ci. années n'auront pas le même nom que le mien. C' est très bien. Très bien. Celui et nous pouvons juste à partir d'ici dans GitHub. Et je vais rencontrer cet ajustement ici. Donc, pour l'emplacement vers le haut, je vais mettre le dossier dans le dépôt où l'OP peut être trouvé, qui est le tiret Bookstore point blanc était. Et puis je peux aller de l'avant et commettre ces changements. Maintenant, ce qui est cool, c'est que lorsque nous faisons un commit, il va en fait démarrer un déploiement chaque fois que nous avons engagé des modifications à partir des déploiements. Alors, où voit-on ces déploiements ? Si nous cliquons sur les options, nous pourrions voir tous les workflows. Donc, à chaque fois que nous faisons un comité, Candace, va aux enchères et tu verras qu'il est en train de mettre en place son projet avec le pipeline CIC et celui-ci est en cours, et si je clique dessus, il me montrera les travaux en cours. Je clique, cliquez sur construire et déployer et cela me montrera que, ok, il fait un constructeur à No. Donc, vous devez donner quelques instants. Donc, vous voyez que nous avons une option. D' accord ? Et si vous n'obtenez pas cette action et assurez-vous simplement que vous avez un chemin de dossier de panier, sinon il échouera. Si vous regardez en arrière mes actions, vous verrez que certaines ont échoué et que cela était principalement dû au fait que je n'avais pas le bon chemin. Donc, avec le bon chemin, vous ne verrez pas de meilleurs résultats que cela. Et ça va passer. D' accord, donc vous voyez, non, il exécute ces actions et sachez que c'est à la construction et déployer des peurs. Et mon axon Phil finit par finir. Mais rétrospectivement, je n'ai vraiment pas vérifié tous les merveilleux changements que je viens d'apporter. Il essaie toujours de publier l'ancien code pour lequel nous venons d'avoir des correctifs. Donc, je vais juste aller de l'avant et faire un commit où je reçois rapidement, Désolé, je dois obtenir des changements. En raison du nouveau Visual Studio, certaines choses ont le menton, donc nous sommes dans de bons changements et j'ai mon message et j'ai juste pensé engager tout et synchroniser. Et une fois que nous avons fait cela et c'est retourner à git hub et vérifier notre processus. Donc, si je clique à nouveau sur Actions, alors vous verrez que je viens de faire cette vérification et qu'il ne fait pas le déploiement. Alors donnons ça quelques uns que je reçois. Et ce champ encore. Alors peut-être ont plus de succès que moi. Mais c'est bien parce qu'au moins quand ces choses échouent, il est bon de savoir et de comprendre ce qu'il faut chercher quand elles échouent. Donc, je soupçonne qu'il pourrait y avoir quelque chose de mal avec mon fichier YAML qui est le déploiement pour quelqu'un de passer au code, regarder à nouveau les workflows et vérifier. Et je pense que je vois quel est le problème. Donc la bonne chose, c'est qu'il y a deux de ces fichiers. Un pas je suis sûr qu'il a travaillé et un qui ne l'a pas fait. Cela ne fonctionne pas. Donc ce que je vais faire, c'est les regarder côte à côte et comparer et voir ce que je pourrais avoir besoin de changer. Donc je vais juste faire un peu de créativité ici avec mes Leodes. Je vais donc avoir des copies de ce type de fichier de chaque côté. Donc, ce côté est celui dont nous avons besoin pour travailler. L' Islam gauche ne fonctionne pas et à droite est celui qui a travaillé pour moi dans le passé. Donc, je regarde juste à travers pour voir ce qui pourrait être différent en termes de ces configurations car l'application est la même des deux côtés. Up emplacement est librairie, la librairie UI.R. Guassian des deux côtés puis ont API ascenseur. Je l'ai gardé un sur un set et commun ET autre. Laisse-moi juste normaliser ça. Avoir également www Rutan qui ne sont pas de l'autre côté, même si cela dit facultatif, mais à ce stade je ne suis pas entièrement sûr de ce qui ne fonctionne pas. Donc je voulais juste m'assurer que tout soit tenu compte. Donc, avec ces changements, je ne vois rien d'autre qui pourrait être différent. Droit ? Alors je vais aller de l'avant et sauver. Et bien sûr, cette sauvegarde déclenchera une autre construction. Alors regardons les ventes aux enchères et voyons ce qui se passe cette fois. Et ces changements semblent avoir fait l'affaire pour moi. Alors, qu'est-ce qu'un déploiement réussi au moins selon github ? Donc, je vais revenir en arrière, rafraîchir mes sites web et charger, décharger. On y va. Très bien, donc c'est notre application Web Assembly fonctionnant à partir d'Azure pour provoquer notre bol, nous sommes finalement arrivés là. Donc, si je fais juste un login juste pour vérifier qu'il parle aux API. Donc c'est admin book store.com et que ce soit un point. Et puis nous essayons de nous connecter. Et là, nous allons, où s'est connecté avec succès. Si je clique sur les auteurs, c'est quand faire venir les auteurs que j'aurais précédemment créés à partir de cette application serveur. Ils parlent tous les deux à la même API, les deux étant hébergés dans Azure. Epa est dans Azure. Tout a été déployé en sachant savoir-faire pour déployer un serveur API blazer et connaître notre sous-assemblage. Et le meilleur de tout est que ce sont les applications web progressives. Je peux en fait simplement installer cela directement à partir du navigateur et ce sera une application réelle sur mon ordinateur, non. D' accord. Il s'agit donc d'une application exécutée à partir de l'ordinateur, mais parlant à l'EPA, hébergée dans Azure.