1
00:00:03,560 --> 00:00:07,745
En este ejercicio, aprenderemos más sobre el bucle invertido.

2
00:00:07,745 --> 00:00:13,635
Loopback comenzó su viaje con una pequeña empresa llamada StrongLoop.

3
00:00:13,635 --> 00:00:20,775
Esta empresa fue adquirida posteriormente por IBM y Loopback se ha convertido en parte de

4
00:00:20,775 --> 00:00:28,725
la plataforma IBM Bluemix, pero el loopback todavía está disponible como una plataforma de código abierto.

5
00:00:28,725 --> 00:00:36,205
Por lo tanto, puede instalar y hacer uso de Loopback para construir su back-end como un servicio,

6
00:00:36,205 --> 00:00:43,850
como lo demostraremos en este ejercicio y en los dos ejercicios restantes de esta lección.

7
00:00:43,850 --> 00:00:51,230
Como mencioné, Loopback en sí está disponible como un módulo NPM.

8
00:00:51,230 --> 00:00:56,445
Así que vamos a instalar la interfaz de línea de comandos Loopback primero.

9
00:00:56,445 --> 00:01:00,810
Por lo tanto, para instalar la interfaz de línea de comandos de Loopback

10
00:01:00,810 --> 00:01:02,875
, CLI, en el símbolo del sistema,

11
00:01:02,875 --> 00:01:13,030
escriba npminstall loopback CLI menos guardar.

12
00:01:13,030 --> 00:01:18,170
Ahora, si lo está haciendo en un Mac o una máquina Linux,

13
00:01:18,170 --> 00:01:22,025
asegúrese de usar sudo delante de él y luego

14
00:01:22,025 --> 00:01:26,855
deje que se instale la interfaz de línea de comandos Loopback.

15
00:01:26,855 --> 00:01:29,024
Una vez que se instale,

16
00:01:29,024 --> 00:01:31,195
puede comenzar con el ejercicio.

17
00:01:31,195 --> 00:01:32,510
Como puede ver, ahora mismo,

18
00:01:32,510 --> 00:01:37,380
estoy usando la versión 4.2.0 de la CLI de Loopback en este curso.

19
00:01:37,380 --> 00:01:45,380
Ahora, para andamiar una aplicación basada en el marco de bucle invertido es muy sencillo.

20
00:01:45,380 --> 00:01:47,725
Una vez que instale la interfaz de línea de comandos,

21
00:01:47,725 --> 00:01:50,690
es posible que deba reiniciar el terminal para

22
00:01:50,690 --> 00:01:53,970
que el comando esté disponible en su solicitud.

23
00:01:53,970 --> 00:02:00,080
Así que asegúrese de reiniciar su terminal o la ventana de comandos.

24
00:02:00,080 --> 00:02:01,810
Luego, en el símbolo del sistema,

25
00:02:01,810 --> 00:02:06,560
debe tener este comando llamado lb disponible para nosotros.

26
00:02:06,560 --> 00:02:08,695
LB de pie para Loopback.

27
00:02:08,695 --> 00:02:14,560
Así que... Para andamiar una aplicación de bucle invertido en el símbolo del terminal,

28
00:02:14,560 --> 00:02:18,850
escriba lb ConfusionServer-Loopback,

29
00:02:21,490 --> 00:02:25,650
en una ubicación conveniente del equipo.

30
00:02:25,650 --> 00:02:27,845
Cuando hagamos eso,

31
00:02:27,845 --> 00:02:34,530
la CLI de Loopback terminará creando la aplicación para nosotros,

32
00:02:34,530 --> 00:02:36,950
y para el nombre de la aplicación,

33
00:02:36,950 --> 00:02:39,585
solo voy a aceptar el mismo nombre,

34
00:02:39,585 --> 00:02:45,389
y luego le pediré que cree el proyecto en ese directorio específico,

35
00:02:45,389 --> 00:02:53,090
y luego seleccionaremos la versión 3.X de Loopback para nosotros andamios hacia fuera una aplicación.

36
00:02:53,090 --> 00:02:55,880
Luego, para el servidor API,

37
00:02:55,880 --> 00:03:02,070
seleccionaremos el servidor API como opción para esto.

38
00:03:02,070 --> 00:03:07,170
Luego espere a que Loopback desarrolle nuestra aplicación.

39
00:03:12,230 --> 00:03:14,355
Una vez hecho esto,

40
00:03:14,355 --> 00:03:16,110
el siguiente paso es, por supuesto,

41
00:03:16,110 --> 00:03:24,605
ir a la carpeta ConfusionServer-Loopback.

42
00:03:24,605 --> 00:03:30,415
A continuación, comenzaremos a configurar nuestro servidor.

43
00:03:30,415 --> 00:03:35,870
Ahora, Loopback soporta datos a través del modelado de datos.

44
00:03:35,870 --> 00:03:38,060
Así podemos definir modelos de datos.

45
00:03:38,060 --> 00:03:42,030
Para ello, la interfaz de línea de comandos Loopback nos proporciona

46
00:03:42,030 --> 00:03:46,975
los diversos comandos para desarrollar los modelos de datos.

47
00:03:46,975 --> 00:03:50,960
Entonces, en este caso, voy a desarrollar un ejemplo

48
00:03:50,960 --> 00:03:55,130
de datos de un modelo para mis platos aquí.

49
00:03:55,130 --> 00:03:56,620
Entonces, en el símbolo del sistema,

50
00:03:56,620 --> 00:03:59,560
déjame escribir lb model.

51
00:03:59,560 --> 00:04:01,905
Luego, a medida que avanzamos por los pasos,

52
00:04:01,905 --> 00:04:04,600
le explicaré qué

53
00:04:04,600 --> 00:04:12,860
interfaz de línea de comando Loopback y cómo crea el modelo de datos para los platos.

54
00:04:12,860 --> 00:04:14,840
Entonces, en este caso,

55
00:04:14,840 --> 00:04:16,720
simplemente escribiremos lb model,

56
00:04:16,720 --> 00:04:21,460
y luego se nos pedirá el nombre del modelo,

57
00:04:21,460 --> 00:04:24,165
y luego escribiré el nombre del modelo como platos.

58
00:04:24,165 --> 00:04:28,059
Como recordará, hemos estado utilizando platos, promociones

59
00:04:28,059 --> 00:04:34,339
y líderes como las tres principales fuentes de datos para nuestra aplicación.

60
00:04:34,339 --> 00:04:39,420
Por lo tanto, crearemos nuestro primer modelo llamado platos, y este modelo,

61
00:04:39,420 --> 00:04:46,580
en este momento, se almacenará en la base de datos en memoria de nuestra computadora por el momento.

62
00:04:46,580 --> 00:04:47,840
En el siguiente ejercicio,

63
00:04:47,840 --> 00:04:52,940
agregaremos en MongoDB como la persistencia de back-end para nuestros datos.

64
00:04:52,940 --> 00:04:58,110
Ahora, este modelo de platos será un modelo persistente.

65
00:04:58,110 --> 00:05:03,890
Por lo tanto, seleccionaremos el modelo persistente como la opción para el modelo,

66
00:05:03,890 --> 00:05:09,350
y luego diremos que exponga los platos a través de una API REST

67
00:05:09,350 --> 00:05:13,060
, y luego, por defecto,

68
00:05:13,060 --> 00:05:17,880
expondrá el punto final de platos barra y eso estará perfectamente bien para nosotros.

69
00:05:17,880 --> 00:05:19,680
Así que podemos decir que sí.

70
00:05:19,680 --> 00:05:23,865
A continuación, el modelo se creará en una carpeta llamada common.

71
00:05:23,865 --> 00:05:27,950
Ahora, una vez que la aplicación Loopback es scaffolded,

72
00:05:27,950 --> 00:05:34,020
veremos dónde se almacenan todos estos datos en la carpeta y en la subcarpeta,

73
00:05:34,020 --> 00:05:38,295
y este modelo se creará en la subcarpeta común.

74
00:05:38,295 --> 00:05:40,580
Por lo tanto, seleccionaremos eso.

75
00:05:40,580 --> 00:05:42,110
Luego, en este punto,

76
00:05:42,110 --> 00:05:45,860
nos pedirá que seleccionemos todas las propiedades que queremos

77
00:05:45,860 --> 00:05:50,750
especificar para el modelo de platos.

78
00:05:50,750 --> 00:05:54,710
Por lo tanto, para esto, vamos a especificar

79
00:05:54,710 --> 00:06:00,880
el nombre como la primera propiedad y luego vamos a especificar el tipo de propiedad como cadena.

80
00:06:00,880 --> 00:06:02,380
Por lo tanto, como puede ver,

81
00:06:02,380 --> 00:06:09,060
nos está solicitando y obteniendo información sobre las diversas partes de nuestro modelo,

82
00:06:09,060 --> 00:06:12,425
y luego nos ayuda a configurar el modelo para nosotros.

83
00:06:12,425 --> 00:06:18,355
Por lo tanto, esto es del tipo de cadena y esto es necesario y el valor predeterminado estará vacío.

84
00:06:18,355 --> 00:06:22,230
Así que... Ese será el nombre, luego la descripción,

85
00:06:22,370 --> 00:06:29,270
que será del tipo de cadena requerido y el valor predeterminado está vacío.

86
00:06:29,270 --> 00:06:36,570
A continuación, categoría, que será del tipo de cadena requerido y el valor predeterminado está vacío.

87
00:06:36,570 --> 00:06:40,930
Imagen que será del tipo de cadena,

88
00:06:40,930 --> 00:06:43,934
y esto es necesario,

89
00:06:43,934 --> 00:06:47,550
y el valor predeterminado estará vacío.

90
00:06:47,950 --> 00:06:52,885
Etiqueta, que también será del tipo de cadena.

91
00:06:52,885 --> 00:06:58,310
Esto es necesario, pero el valor predeterminado vamos a especificar como una cadena vacía.

92
00:06:58,310 --> 00:07:01,360
Entonces, el último sería el precio,

93
00:07:01,360 --> 00:07:05,870
que será obligatorio y el valor predeterminado es cero.

94
00:07:05,870 --> 00:07:10,115
Ahora, ves por qué he configurado todas estas propiedades.

95
00:07:10,115 --> 00:07:19,070
Todos estos son parte del objeto de platos que utilizamos en nuestro lado del servidor.

96
00:07:19,070 --> 00:07:22,580
Ahora, una vez que haya completado la introducción de todas las propiedades

97
00:07:22,580 --> 00:07:23,760
, y que tenemos,

98
00:07:23,760 --> 00:07:25,565
entonces en ese punto el

99
00:07:25,565 --> 00:07:27,080
, último, por supuesto,

100
00:07:27,080 --> 00:07:31,270
es agregar la propiedad destacada,

101
00:07:31,270 --> 00:07:34,265
que será del tipo booleano,

102
00:07:34,265 --> 00:07:36,665
y esto es necesario,

103
00:07:36,665 --> 00:07:39,440
y el valor predeterminado es falso.

104
00:07:39,440 --> 00:07:41,560
Eso es todo. Una vez que hayamos ingresado todas las propiedades,

105
00:07:41,560 --> 00:07:47,280
acaba de presionar cuando pregunte por el nombre de la propiedad si escribe return,

106
00:07:47,280 --> 00:07:49,960
entonces el modelo será andamio hacia fuera.

107
00:07:49,960 --> 00:07:55,050
Ahora, de manera similar, vamos a crear los modelos para promociones y líderes.

108
00:07:55,050 --> 00:08:04,625
Por lo tanto, para las promociones, permítanme seguir adelante y decir modelo lb y el nombre del modelo es promociones.

109
00:08:04,625 --> 00:08:08,080
La encuesta en la base de datos este es el modelo persistente y vamos a

110
00:08:08,080 --> 00:08:12,625
exponer esto por la API, y el común.

111
00:08:12,625 --> 00:08:23,040
Para las promociones, las propiedades son el nombre de la cadena de tipo requieren ningún valor predeterminado,

112
00:08:23,040 --> 00:08:25,949
imagen de la cadena de tipo,

113
00:08:25,949 --> 00:08:29,535
no requieren valor predeterminado,

114
00:08:29,535 --> 00:08:34,030
etiqueta de la cadena de tipo,

115
00:08:34,030 --> 00:08:39,085
requerido el valor predeterminado está vacío.

116
00:08:39,085 --> 00:08:43,220
Precio, tipo de cadena, requerido,

117
00:08:43,220 --> 00:08:45,170
el valor predeterminado es cero

118
00:08:45,170 --> 00:08:52,150
y, a continuación, descripción requerida y el valor predeterminado está vacío.

119
00:08:52,150 --> 00:08:54,550
Eso es todo para promociones.

120
00:08:54,550 --> 00:08:57,460
Permítanme ahora crear el modelo de líderes.

121
00:08:57,460 --> 00:09:07,090
Por lo tanto, diremos modelo LB y diremos líderes,

122
00:09:07,090 --> 00:09:10,750
y esto estaría en la base de datos PersistedModel,

123
00:09:10,750 --> 00:09:14,290
Exponer líderes a través de API REST, personalizado, común.

124
00:09:14,290 --> 00:09:16,610
Por lo tanto, como puede ver crear un modelo es muy,

125
00:09:16,610 --> 00:09:20,175
muy sencillo usando la CLI LoopBack,

126
00:09:20,175 --> 00:09:24,260
y para el líder las propiedades de nombre, de la

127
00:09:24,260 --> 00:09:27,830
cadena de tipo, requerido,

128
00:09:27,830 --> 00:09:32,759
predeterminado está vacío, la imagen de la cadena de tipo, el

129
00:09:32,759 --> 00:09:36,634
valor predeterminado requerido está vacío, la

130
00:09:36,634 --> 00:09:40,190
designación de la cadena de tipo,

131
00:09:40,190 --> 00:09:44,130
valor predeterminado requerido está vacío, la

132
00:09:44,130 --> 00:09:46,790
abreviatura de la cadena de tipo,

133
00:09:46,790 --> 00:09:54,425
requiere un vacío, y el último es la descripción de la cadena de tipo, requiere un vacío.

134
00:09:54,425 --> 00:10:00,965
Eso es todo. Por lo tanto, hemos configurado tres modelos diferentes aquí: promociones

135
00:10:00,965 --> 00:10:04,280
, líderes y platos.

136
00:10:04,280 --> 00:10:09,175
Eso es todo. Ahora, nuestro servidor LoopBack se habría configurado.

137
00:10:09,175 --> 00:10:12,765
Echaremos un vistazo a esto en nuestro editor,

138
00:10:12,765 --> 00:10:19,715
y también iniciaremos este servidor LoopBack y luego veremos lo que nos sirve.

139
00:10:19,715 --> 00:10:21,940
Para iniciar el servidor LoopBack,

140
00:10:21,940 --> 00:10:29,205
en el símbolo del sistema escriba inicio de NPM o punto de espacio de nodo.

141
00:10:29,205 --> 00:10:32,280
En cualquier caso, el servidor LoopBack se iniciará

142
00:10:32,280 --> 00:10:35,620
y el servidor LoopBack estará disponible para nosotros.

143
00:10:35,620 --> 00:10:39,210
En esta dirección, también puede examinar

144
00:10:39,210 --> 00:10:43,065
la API REST que es compatible con el servidor LoopBack en esta parte final.

145
00:10:43,065 --> 00:10:45,360
Por lo tanto, permítanme copiar esto primero,

146
00:10:45,360 --> 00:10:49,670
y luego veremos qué sirve el servidor LoopBack en este punto.

147
00:10:49,670 --> 00:10:51,170
En una barra de direcciones del navegador,

148
00:10:51,170 --> 00:10:55,325
vamos a escribir eso y luego ver que nuestro servidor LoopBack,

149
00:10:55,325 --> 00:10:56,990
si accede a él,

150
00:10:56,990 --> 00:11:03,010
mostrará cuándo se inició por última vez y cuánto tiempo se ha estado ejecutando.

151
00:11:03,010 --> 00:11:11,575
Ahí. Ahora, vamos al Explorador de nuestro servidor LoopBack,

152
00:11:11,575 --> 00:11:13,500
y luego verá inmediatamente que

153
00:11:13,500 --> 00:11:17,785
este LoopBack API Explorer utiliza algo llamado el

154
00:11:17,785 --> 00:11:25,185
formato Swagger IO para mostrarnos todos los extremos de la API REST.

155
00:11:25,185 --> 00:11:28,989
Por lo tanto, aquí se ve que tenemos platos, líderes, promociones,

156
00:11:28,989 --> 00:11:30,740
y LoopBack, de forma predeterminada,

157
00:11:30,740 --> 00:11:33,540
agrega un modelo de usuario allí.

158
00:11:33,540 --> 00:11:37,860
El modelo de usuario es el modelo de usuario estándar para fines de autenticación.

159
00:11:37,860 --> 00:11:41,690
Veremos cómo hacer uso de eso en el próximo ejercicio.

160
00:11:41,690 --> 00:11:43,470
Ahora, vamos a hacer clic en los platos.

161
00:11:43,470 --> 00:11:48,250
Al hacer clic en los platos, verá que el servidor LoopBack ha configurado automáticamente

162
00:11:48,250 --> 00:11:51,160
ese extremo de platos de barra y luego expone

163
00:11:51,160 --> 00:11:55,435
varios extremos API REST automáticamente para nosotros,

164
00:11:55,435 --> 00:12:01,310
y luego las acciones correspondientes que puede realizar en cada uno de ellos.

165
00:12:01,310 --> 00:12:06,775
No solo eso, con la API de Swagger IO,

166
00:12:06,775 --> 00:12:11,610
también obtiene automáticamente esta información documentada aquí,

167
00:12:11,610 --> 00:12:16,670
que le da detalles sobre cómo usar ese extremo de la API REST.

168
00:12:16,670 --> 00:12:19,145
Por lo tanto, aquí cuando dice obtener platos de corte,

169
00:12:19,145 --> 00:12:22,185
dice cuál es el típico.

170
00:12:22,185 --> 00:12:26,490
Esta es la estructura del modelo utilizada allí,

171
00:12:26,490 --> 00:12:31,910
y luego «probemos esto» y luego verás que

172
00:12:31,910 --> 00:12:34,440
nos devolverá con un cuerpo vacío porque en

173
00:12:34,440 --> 00:12:37,930
este momento no hay nada en mi base de datos en memoria.

174
00:12:37,930 --> 00:12:42,910
Por lo tanto, recuerde que lo configuramos con DB in-memory,

175
00:12:42,910 --> 00:12:43,910
lo que significa que esta es

176
00:12:43,910 --> 00:12:46,990
la base de datos en memoria y en este momento no contiene nada.

177
00:12:46,990 --> 00:12:50,400
Pero en el siguiente ejercicio veremos cómo conectaremos esto a

178
00:12:50,400 --> 00:12:56,610
nuestro servidor MongoDB y podremos recuperar toda la información de nuestro servidor MongoDB.

179
00:12:56,610 --> 00:13:00,180
Del mismo modo, si desea publicar un plato,

180
00:13:00,180 --> 00:13:04,165
entonces todo lo que necesita hacer es usar este punto final 'platos POST ',

181
00:13:04,165 --> 00:13:08,280
y también le da exactamente

182
00:13:08,280 --> 00:13:12,435
la estructura de los datos que necesita usar para proporcionar información al modelo.

183
00:13:12,435 --> 00:13:15,450
Por lo tanto, puede simplemente copiar eso y luego pegarlo en los datos,

184
00:13:15,450 --> 00:13:19,120
y luego llenar cada uno de estos valores aquí,

185
00:13:19,120 --> 00:13:21,760
y luego una vez que lo haga, simplemente, por ejemplo,

186
00:13:21,760 --> 00:13:26,060
probarlo y luego se publicará en el servidor.

187
00:13:26,060 --> 00:13:28,935
Por lo tanto, puede realizar todas las

188
00:13:28,935 --> 00:13:35,575
operaciones get, put, post y eliminación directamente utilizando este Explorador aquí

189
00:13:35,575 --> 00:13:38,970
para interactuar con sus extremos de API REST

190
00:13:38,970 --> 00:13:42,570
que se construye automáticamente para usted mediante LoopBack.

191
00:13:42,570 --> 00:13:45,340
Así que con esto, completamos este ejercicio.

192
00:13:45,340 --> 00:13:49,805
Por lo tanto, en este ejercicio hemos visto cómo podemos

193
00:13:49,805 --> 00:13:55,805
configurar muy rápidamente un servidor de API REST utilizando el marco LoopBack.

194
00:13:55,805 --> 00:13:57,480
En el próximo par de ejercicios,

195
00:13:57,480 --> 00:14:02,030
exploraremos más detalles sobre el marco LoopBack.

196
00:14:02,030 --> 00:14:06,755
Ahora, este puede ser un buen momento para que haga una inicialización de Git de

197
00:14:06,755 --> 00:14:10,230
su carpeta LoopBack y luego haga una

198
00:14:10,230 --> 00:14:15,570
confirmación de Git con 'Getting Started' LoopBack como mensaje.