1
00:00:00,210 --> 00:00:02,880
Bien, vamos a continuar una nueva sección con formularios.

2
00:00:03,000 --> 00:00:07,710
La idea es partir desde cero, desde lo más básico y también ver la diferente forma alternativa que

3
00:00:07,710 --> 00:00:08,160
tenemos.

4
00:00:08,260 --> 00:00:14,100
Bueno, la clásica y la que más se utiliza en mapear un formulario a una clase, a un objeto, de tal

5
00:00:14,100 --> 00:00:19,500
forma que cada que escribamos en los campos del formulario y después enviamos al controlador.

6
00:00:19,590 --> 00:00:25,620
El controlador en un método handler del tipo Post va a recibir estos datos y la idea es que pueble estos

7
00:00:25,620 --> 00:00:26,820
datos del formulario.

8
00:00:26,910 --> 00:00:29,940
En esta clase Entity o POJO como le queramos llamar.

9
00:00:30,030 --> 00:00:35,940
Pero bueno, tiene que coincidir el nombre de los campos de los input con los nombres de atributo de

10
00:00:35,940 --> 00:00:36,330
la clase.

11
00:00:36,450 --> 00:00:37,800
Pero es un tema que vamos a ver después.

12
00:00:37,920 --> 00:00:40,980
Por ahora lo vamos a ver de otra forma, mucho más simple.

13
00:00:41,160 --> 00:00:47,910
Básicamente para formularios sencillos con etiquetas HTML, nada del otro mundo y los parámetros, los

14
00:00:47,910 --> 00:00:54,690
valores de los input los capturamos mediante el request utilizando la anotación Rickles param simplemente

15
00:00:54,810 --> 00:01:02,280
de esa forma muy parecido como enviamos parámetros en la ruta vgl con el signo, pregunta con los ampersand,

16
00:01:02,400 --> 00:01:04,680
en fin, pero acá con formulario y del tipo post.

17
00:01:04,770 --> 00:01:10,080
Entonces la idea de ver estas dos formas, la simple y la que más robusta donde empezamos una clase,

18
00:01:10,200 --> 00:01:11,700
un objeto al formulario.

19
00:01:11,850 --> 00:01:12,540
Bien, comencemos.

20
00:01:12,570 --> 00:01:17,020
Primero vamos a crear el proyecto como siempre Spring State Project.

21
00:01:17,940 --> 00:01:20,640
Le vamos a llamar Spring put form de formulario.

22
00:01:21,330 --> 00:01:24,600
Bueno, y acá vamos a ver muchas cosas, no solamente esto, sino también validación.

23
00:01:24,720 --> 00:01:31,320
La validación es usando anotaciones, las que vienen construida por defecto con el API lleva Vinz validación

24
00:01:31,440 --> 00:01:32,970
o el API de validación de Java.

25
00:01:33,060 --> 00:01:38,460
Pero también vamos a crear nuestras validaciones personalizadas, es decir, una validación que no exista

26
00:01:38,580 --> 00:01:40,470
o que no esté construida por debajo.

27
00:01:41,160 --> 00:01:44,190
Spring en el API, también de validación de Java.

28
00:01:44,280 --> 00:01:47,490
En fin, una validación propia nuestra que la podemos personalizar.

29
00:01:47,720 --> 00:01:54,210
Bien, sigamos Maven Yar La versión brillaba todo tal cual, solo vamos a cambiar acá el pack de Yaba

30
00:01:54,630 --> 00:01:58,830
en vez de de-I le vamos a poner form de formulario siguiente.

31
00:01:59,310 --> 00:02:06,570
Bueno las dependencias las desiempre emprender tours por acá Developer Tools también vamos a ir a web

32
00:02:06,930 --> 00:02:07,590
por acá.

33
00:02:08,970 --> 00:02:10,590
Es princ web y template.

34
00:02:11,890 --> 00:02:12,280
Tamlin.

35
00:02:12,730 --> 00:02:13,600
Bueno, eso sería.

36
00:02:13,750 --> 00:02:19,090
Recuerden que es princ web incluye casi todo, todo lo que la parte web tanto como esprint web, sprint

37
00:02:19,090 --> 00:02:21,460
web, MDC de los controladores es todo.

38
00:02:21,580 --> 00:02:25,690
Inyección de dependencia con SPRI y osee es trincó.

39
00:02:25,930 --> 00:02:27,610
Toda la base finalizar.

40
00:02:30,450 --> 00:02:31,770
Bien, lo tenemos acá.

41
00:02:31,980 --> 00:02:33,180
Vamos a crear un.

42
00:02:33,840 --> 00:02:37,590
Recuerden siempre dentro del paquete base New Package.

43
00:02:40,280 --> 00:02:45,080
Junto controllers vamos a crear nuestro controlador new class.

44
00:02:46,150 --> 00:02:50,080
Form controles o formulario controller?

45
00:02:50,170 --> 00:02:51,100
El nombre que queramos.

46
00:02:51,220 --> 00:02:53,560
Yo lo voy a colocar form de formulario, controles.

47
00:02:54,960 --> 00:03:02,870
Entonces, como siempre, lo primero es anotar con controles por acá importábamos y métodos Andrés.

48
00:03:03,030 --> 00:03:08,130
Pero bueno, vamos a necesitar dos métodos Candeleda uno para mostrar el formulario en pantalla para

49
00:03:08,130 --> 00:03:13,080
el usuario que del tipo get un get mapping y el otro método handler es para procesar.

50
00:03:13,170 --> 00:03:18,570
Es decir, cuando el usuario escribe o completa el formulario, llena los datos y envía.

51
00:03:18,690 --> 00:03:24,630
Entonces este método Handler recibe estos datos en una petición http post usando un post mapping.

52
00:03:27,400 --> 00:03:31,510
Entonces form model perfecto model.

53
00:03:32,260 --> 00:03:38,410
En el fondo, para pasar los datos a la vista al formulario bien importábamos, retornamos la vista

54
00:03:40,720 --> 00:03:41,650
que le damos a llamar form.

55
00:03:41,770 --> 00:03:42,670
Así de simple form.

56
00:03:42,790 --> 00:03:44,030
Esta vista después la vamos a crear.

57
00:03:44,230 --> 00:03:45,520
Entonces acá tenemos un método.

58
00:03:47,880 --> 00:03:55,530
GATT Mapping, como siempre, ma piada, le ponemos una ruta form del tipo GET para mostrar el formulario

59
00:03:55,620 --> 00:03:56,340
en la pantalla.

60
00:03:56,510 --> 00:04:00,990
Bueno, este formulario después lo vamos a crear por acá en Recursos Templates.

61
00:04:01,140 --> 00:04:06,660
Acá vamos a crear una vista timeline con el formulario, pero un formulario simple HTML, nada más después

62
00:04:06,660 --> 00:04:07,320
de formulario.

63
00:04:07,390 --> 00:04:14,400
Bueno, pero después, cuando vemos a una clase POJO, la idea es implementar etiquetas o atributos

64
00:04:14,400 --> 00:04:16,080
propios de Tamiya para el formulario.

65
00:04:16,140 --> 00:04:17,370
Pero después vamos a ver por ahora.

66
00:04:17,370 --> 00:04:17,790
Simple.

67
00:04:17,820 --> 00:04:18,220
Recuerdan?

68
00:04:18,240 --> 00:04:18,690
Simple.

69
00:04:19,110 --> 00:04:26,010
Entonces ahora el otro método post post mapping misma ruta form.

70
00:04:26,100 --> 00:04:29,370
Bueno, pues es la misma o otra ruta que le queramos llamar.

71
00:04:29,520 --> 00:04:30,040
Da lo mismo.

72
00:04:30,150 --> 00:04:32,820
Vamos a usar la misma 12K que la petición sea del tipo GET.

73
00:04:32,940 --> 00:04:35,310
Va a invocar este método cada vez que sea el tipo post.

74
00:04:35,400 --> 00:04:42,510
Y cuando enviemos los datos para procesar o recibir el formulario, voy a invocar este método de string

75
00:04:42,750 --> 00:04:45,000
nombre, la vista o tipo de respuesta.

76
00:04:45,170 --> 00:04:50,820
Bueno, como nombre le podemos llamar procesas formulario, recibir formulario como queramos.

77
00:04:51,690 --> 00:04:58,050
Le voy a llamar procesar, es decir, que obtiene los datos del formulario y también en Modell.

78
00:05:01,840 --> 00:05:04,670
Bien, y una vista que se llama resultado.

79
00:05:04,770 --> 00:05:09,200
Y en esta vista vamos a mostrar los datos que enviamos del formulario para el ejemplo.

80
00:05:09,330 --> 00:05:13,430
Bueno, en una aplicación real y cómo lo vamos a hacer después en nuestros proyectos?

81
00:05:13,520 --> 00:05:18,410
Vamos a tomar estos datos y lo vamos a guardar en la acerto, por ejemplo, lo podríamos permitir el

82
00:05:18,410 --> 00:05:22,310
asiático usando JPA, una clase servis o mediante micro servicio?

83
00:05:22,370 --> 00:05:25,730
Bueno, hay muchas formas o enviar un correo con esos datos.

84
00:05:25,880 --> 00:05:29,690
Da lo mismo, pero por ahora simple, lo vamos a mostrar en otra vista.

85
00:05:29,780 --> 00:05:31,760
Resultado que también después vamos a crear.

86
00:05:31,890 --> 00:05:34,290
Bueno, faltó importar acá post mapping.

87
00:05:34,580 --> 00:05:39,230
Bueno, el siguiente paso sería crear nuestra vista formulario form con el formulario con los campos,

88
00:05:39,230 --> 00:05:45,770
por ejemplo, el nombre, el yussef name, el password, el email campo de ejemplo, ya que vamos a

89
00:05:45,770 --> 00:05:50,540
colocar, pero acá en el procesar tenemos que capturar estos campos y ahí vamos a ver que lo vamos a

90
00:05:50,540 --> 00:05:53,390
hacer con la anotación Ricketts para el nombre Campo.

91
00:05:53,450 --> 00:05:55,220
Lo dejamos para las siguientes clases.

92
00:05:55,370 --> 00:05:56,030
Nos vemos.
