1
00:00:00,210 --> 00:00:01,380
Bien, sigamos con el controlador.

2
00:00:01,500 --> 00:00:04,050
Vamos a implementar el método Handler Ver.

3
00:00:07,420 --> 00:00:08,500
Perfecto ver.

4
00:00:08,560 --> 00:00:12,190
Pero tengo que pasar el pan variable con el Heidy, el parámetro

5
00:00:21,310 --> 00:00:26,200
con el Aydin vamos a importar variable bien y también el model.

6
00:00:29,790 --> 00:00:30,920
Importemos model.

7
00:00:39,030 --> 00:00:42,270
Ver perfecto, entonces la idea es obtener al usuario

8
00:00:45,570 --> 00:00:46,170
igual.

9
00:00:46,260 --> 00:00:50,030
Bueno, lo tenemos que acceder a través del servis.

10
00:00:50,340 --> 00:00:55,560
Por lo tanto, ya lo tenemos implementado la interfaz y la clase que la implementa.

11
00:00:56,460 --> 00:01:04,380
Entonces vamos a inyectar por la interfaz un atributo del tipo del interfaz.

12
00:01:07,850 --> 00:01:08,960
Y el auto whether?

13
00:01:12,370 --> 00:01:16,720
Auto importamos, importamos.

14
00:01:17,930 --> 00:01:19,040
Y a través del servicio.

15
00:01:20,330 --> 00:01:21,040
Punto.

16
00:01:21,290 --> 00:01:27,260
Buscamos el obtener por Heidy, pasamos el Heidy, acá lo tenemos el variable.

17
00:01:29,350 --> 00:01:38,590
Importamos usuario y lo pasamos a la vista junto al atributo usuario usuario.

18
00:01:50,970 --> 00:01:56,580
Ya con título, detalle, usuario, do punto, concatenados,

19
00:01:59,580 --> 00:02:01,890
usuario, punto, guet, nombre.

20
00:02:04,570 --> 00:02:05,620
Guardamos hay Traktor.

21
00:02:06,130 --> 00:02:13,210
Entonces obtenemos el Heidy, un paz variable atrás de la ruta, un parámetro de la ruta se lo pasamos,

22
00:02:13,300 --> 00:02:19,780
pasamos el Heidy al servis o 3 por aquí obtenemos el usuario y lo pasamos a la vista con un título.

23
00:02:20,440 --> 00:02:22,960
Entonces, qué pasa si el usuario es null?

24
00:02:23,230 --> 00:02:30,340
Por ejemplo pasamos una Heidy que no existe, va a retornar un NULL y el invocar acá el nombre va a

25
00:02:30,340 --> 00:02:32,860
lanzar un NULL Pointer Exception, un error.

26
00:02:32,980 --> 00:02:37,660
Y eso lo podemos personalizar, lo podemos manejar de una forma mucho más amistosa, pero solamente

27
00:02:37,750 --> 00:02:40,290
cuando el usuario se anule y no cualquier otro objeto.

28
00:02:40,450 --> 00:02:41,860
Además, también podemos personalizar.

29
00:02:41,950 --> 00:02:47,350
En un HIPÓ interceptaron este otro tema, pero la idea es personalizar en un po intercepciones, no

30
00:02:47,350 --> 00:02:51,550
de forma global, sino de forma genérica para el objeto usuario cuando sea nulo.

31
00:02:51,710 --> 00:02:53,230
Bueno, cómo lo puedo implementar?

32
00:02:53,290 --> 00:02:55,660
Pero antes de eso vamos a crear esta vista.

33
00:02:55,750 --> 00:02:56,260
Ver.

34
00:02:57,660 --> 00:02:58,980
Nos vamos a error.

35
00:02:59,850 --> 00:03:05,970
Recursos template y vamos a crear esta plantilla tonce otro HTML.

36
00:03:09,750 --> 00:03:10,290
Ver?

37
00:03:12,670 --> 00:03:13,480
Como siempre.

38
00:03:16,130 --> 00:03:18,170
Actimel en este pais de Taine lif

39
00:03:22,790 --> 00:03:25,510
tendi funtor Tf8.

40
00:03:28,550 --> 00:03:31,250
Y el título acá usando Tinduf?

41
00:03:36,290 --> 00:03:36,830
Perfecto.

42
00:03:36,960 --> 00:03:43,460
Y también vamos a tener por acá, lo copiamos, lo pegamos un h3, por ejemplo, y acá también cerramos

43
00:03:43,910 --> 00:03:44,660
el h3.

44
00:03:48,530 --> 00:03:52,820
Bien, y mostramos, por ejemplo el Heidy nombre bello, entonces con párrafo.

45
00:03:56,930 --> 00:03:58,070
Usuario Punto Didí.

46
00:04:03,890 --> 00:04:04,550
Y la villa?

47
00:04:06,760 --> 00:04:13,690
Guardamos bien acabo ximos parvo, pero también podría ser uele li quizás quedaría mejor entonces uele.

48
00:04:14,920 --> 00:04:19,420
Este cierre lo dejamos al final por acá y los párrafos.

49
00:04:21,290 --> 00:04:22,670
En ley se fijan.

50
00:04:27,910 --> 00:04:31,690
Mil acampemos, aunque lo mismo tema HTML bien ordenamos.

51
00:04:34,090 --> 00:04:35,380
Y vamos a probar el error.

52
00:04:35,470 --> 00:04:36,250
Levantamos.

53
00:04:40,880 --> 00:04:46,910
Nos vamos a ver, por ejemplo, hoy día 4 Diree funciona bien, perfecto.

54
00:04:47,000 --> 00:04:49,550
Acá tenemos a Lucy, pero vamos a colocar.

55
00:04:49,700 --> 00:04:54,530
Recuerden que el 7 está perfecto, pero el 8 no existe.

56
00:04:55,730 --> 00:04:57,350
Entonces lanza un error.

57
00:04:57,680 --> 00:05:01,160
Un pulpo intercepto, claro en la línea 30.

58
00:05:01,190 --> 00:05:05,310
Cuando se invoca el nombre del usuario nos vamos a controlador.

59
00:05:05,780 --> 00:05:10,880
Acá, acá ocurre el error en la línea 30, ya que el objeto usuario es nulo.

60
00:05:11,190 --> 00:05:11,540
Bueno.

61
00:05:11,630 --> 00:05:12,770
Cómo lo podemos personalizar?

62
00:05:12,860 --> 00:05:17,720
Como he explicado, una alternativa es personalizar en NULL Pointer Exception, pero sería de forma

63
00:05:17,720 --> 00:05:24,230
genérica y eso lo podríamos hacer en el controlador advice en el error handler controles acá.

64
00:05:24,320 --> 00:05:29,980
Pero la idea personalizar solamente cuando usuario sea NULL y no cualquier objeto, solamente usuario.

65
00:05:30,110 --> 00:05:35,960
Entonces tenemos que crear nuestra propia clase decepción usuario no encontrado excepción.

66
00:05:36,190 --> 00:05:41,990
Bueno, y cuando el nulo lanzamos esa sección con FRU y después la capturamos acá y lo manejamos.

67
00:05:42,050 --> 00:05:44,420
Pero bien, eso lo vemos en la siguiente clase.
