unidades:10_servidor:07_angularjs
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| unidades:10_servidor:07_angularjs [2014/09/04 15:00] – creado admin | unidades:10_servidor:07_angularjs [2014/09/06 09:55] (actual) – [remoteResource] admin | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| - | ====== 10.7 remoteResource | + | ====== 10.7 AngularJS |
| Ya tenemos un API REST funcionando en el servidor, así que vamos a volver a la parte de AngularJS para por fin tener una aplicación funcionando capaz de hacer un CRUD. | Ya tenemos un API REST funcionando en el servidor, así que vamos a volver a la parte de AngularJS para por fin tener una aplicación funcionando capaz de hacer un CRUD. | ||
| Línea 64: | Línea 64: | ||
| Como vemos los cambios han sido mínimos, solo la nueva URL y la gestión del error '' | Como vemos los cambios han sido mínimos, solo la nueva URL y la gestión del error '' | ||
| - | Pasemos ahora a ver el resto de los métodos. Son casi todos iguales y solo cambia la URL y los datos que se envían. | + | Pasemos ahora a ver el resto de los métodos. Son casi todos iguales y solo cambia |
| - | <sxh js; | + | <sxh js; |
| this.insert = function(seguroMedico) { | this.insert = function(seguroMedico) { | ||
| var defered = $q.defer(); | var defered = $q.defer(); | ||
| Línea 129: | Línea 129: | ||
| }; | }; | ||
| </ | </ | ||
| + | * Línea 6: Usamos el método HTTP de '' | ||
| * Líneas 8 y 29: Se usa la propiedad '' | * Líneas 8 y 29: Se usa la propiedad '' | ||
| * Línea 22: Hemos optado por pasar el parámetro '' | * Línea 22: Hemos optado por pasar el parámetro '' | ||
| Línea 321: | Línea 321: | ||
| }]); | }]); | ||
| </ | </ | ||
| - | * Linea 1: | + | * Linea 1: |
| * Línea 16: Definimos todos los campos del '' | * Línea 16: Definimos todos los campos del '' | ||
| * Línea 41: El método debe obligatoriamente llamarse '' | * Línea 41: El método debe obligatoriamente llamarse '' | ||
| Línea 339: | Línea 339: | ||
| <note warning> | <note warning> | ||
| + | Si ejecutamos la aplicación e insertamos un nuevo seguro médico se producirá la excepción: | ||
| + | com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: | ||
| + | Esto es debido a que aun no estamos tratando la propiedad " | ||
| <sxh java> | <sxh java> | ||
| + | objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, | ||
| + | </ | ||
| + | |||
| + | Así que el método '' | ||
| + | | ||
| + | <sxh java; | ||
| @Override | @Override | ||
| public Object fromJson(String json, Class clazz) { | public Object fromJson(String json, Class clazz) { | ||
| Línea 422: | Línea 431: | ||
| ==== Mostrar los mensajes ==== | ==== Mostrar los mensajes ==== | ||
| - | Por último nos queda mostrar los mensajes en la pantalla. Aparentemente es sencillo pero | + | Por último nos queda mostrar los mensajes en la pantalla. Aparentemente es sencillo |
| + | * Si no hay ningún mensaje no debe verse nada | ||
| + | * Debe haber un botón para poder quitar los mensajes | ||
| + | * Debe tratarse el caso de que la propiedad '' | ||
| + | La solución a ésto es el siguiente código HTML: | ||
| + | <sxh html; | ||
| + | <div ng-show=" | ||
| + | < | ||
| + | <ul> | ||
| + | <li ng-repeat=" | ||
| + | <strong ng-hide=" | ||
| + | {{bussinessMessage.message}}. | ||
| + | </li> | ||
| + | </ul> | ||
| + | <button ng-click=" | ||
| + | </ | ||
| + | </ | ||
| + | * Línea 1: No no hay mensajes todo el ''< | ||
| + | * Línea 4: Recorremos la lista de los mensajes | ||
| + | * Línea 5: Somo mostramos el campo '' | ||
| + | * Línea 6: Mostramo el valor del propio mensaje | ||
| + | * Línea 9: Ponemos el botón para que el usuario pueda en cualquier momento quitar los mensajes. Hay que fijarse que realmente el botón no oculta los mensajes sino que borra la lista de mensajes y al hacerlo la directiva '' | ||
| - | ==== Ejemplo ==== | + | Si ves el resultado del HTML te puede parecer muy cutre pero por ejemplo con [[http:// |
| - | <sxh java> | + | {{: |
| - | if (idSeguroMedico==1) | + | |
| - | throw new BussinessException(new BussinessMessage(null," | + | |
| - | | + | |
| - | </ | + | Y quitamos el horrible botón de " |
| + | ===== Ejemplo ===== | ||
| + | El ejemplo de esta unidad es exactamente lo que acabamos de contar pero en un nuevo proyecto llamado " | ||
| + | Para poder probar los mensajes que llegan del servidor mediante un error '' | ||
| + | * No se permite borrar el seguro médico con '' | ||
| + | * No se permite añadir un seguro médico con NIF igual a " | ||
| + | |||
| + | Por supuesto estas restricciones no tienen ningún sentido y están puestas por un motivo puramente pedagógico. | ||
| + | |||
| + | Al principio del método '' | ||
| <sxh java> | <sxh java> | ||
| if (" | if (" | ||
| Línea 440: | Línea 476: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | |||
| + | Al principio del método '' | ||
| + | <sxh java> | ||
| + | if (idSeguroMedico==1) { | ||
| + | throw new BussinessException(new BussinessMessage(null," | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | < | ||
| + | Este ejemplo se encuentra en git en [[https:// | ||
| + | </ | ||
| + | |||
| + | ===== Referencias ===== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[http:// | ||
unidades/10_servidor/07_angularjs.1409835624.txt.gz · Última modificación: por admin
