Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

unidades:10_servidor:06_controlador [2014/09/02 22:46]
admin [El resto de métodos del controlador]
unidades:10_servidor:06_controlador [2014/09/15 09:15] (actual)
admin [Referencias]
Línea 669: Línea 669:
 Como la página web que estas ahora mismo leyendo ya se está haciendo un poco larga , vamos a poner el código solo del tratamiento de la excepción ''​Exception''​. Como la página web que estas ahora mismo leyendo ya se está haciendo un poco larga , vamos a poner el código solo del tratamiento de la excepción ''​Exception''​.
  
-<sxh java;​highlight:​ [4]>+<sxh java;​highlight:​ [2,4]>
             httpServletResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);​             httpServletResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);​
             httpServletResponse.setContentType("​text/​plain;​ charset=UTF-8"​);​             httpServletResponse.setContentType("​text/​plain;​ charset=UTF-8"​);​
Línea 718: Línea 718:
     }      } 
 </​sxh>​ </​sxh>​
 +
 +<​note>​
 +Por simplificar el DAO y el controlador no se ha hecho que se puedan filtrar los datos, por lo que siempre se muestran todos los seguros médicos.
 +</​note>​
  
 ==== update ==== ==== update ====
Línea 788: Línea 792:
 </​sxh>​ </​sxh>​
   * Línea 6: Destacar que no se retorna nada y por lo tanto el estado HTTP es ''​204 No Content''​   * Línea 6: Destacar que no se retorna nada y por lo tanto el estado HTTP es ''​204 No Content''​
 +
 +===== REST Client =====
 +Para probar nuestra API REST no es necesario que creemos una aplicación en JavaScript con AngularJS , antes de hacer todo eso podemos probarla desde el propio navegador. Firefox dispone de un gran plugin llamado [[https://​addons.mozilla.org/​es/​firefox/​addon/​restclient/​|REST Client]]
 +
 +{{:​unidades:​10_servidor:​restclient.png?​nolink|}}
 +
 +Este plugin nos permite cambiar todos los parámetros de una petición HTTP como:
 +  * Metodo
 +  * URL
 +  * Cuerpo
 +  * Cabeceras
 +
 +Y ver todo lo que retorna el servidor:
 +  * Cabeceras
 +  * Estado
 +  * Cuerpo de la respuesta.
 +
 +Por ello es una manera ideal de depurar nuestro API REST y lo recomiendo mientras estamos desarrollando.
 ===== Comentarios finales ===== ===== Comentarios finales =====
-Tratamiento ​de errores+Aunque ya se ha comentado varias veces, la forma de hacer este controlador no es la mas adecuada si usas Spring. El motivo de ello es que Spring dispone de muchas utilidades que nos pueden ayudar a reducir tanto código repetido. Por ejemplo el tratamiento ​de errores ​debería estar solo una única vez y no repetido tantas veces. Un tutorial al respecto está en [[http://​spring.io/​blog/​2013/​11/​01/​exception-handling-in-spring-mvc|Exception Handling in Spring MVC]] 
 + 
 +Otra posible forma de mejorar el código sin depender tanto de Spring sería usar el patrón //​Template//​ al estilo de [[http://​docs.spring.io/​spring/​docs/​current/​javadoc-api/​org/​springframework/​jdbc/​core/​JdbcTemplate.html|JdbcTemplate]] 
 + 
 +Aun así el motivo de haberlo hecho de esta forma es para que aprendas todo lo que es necesario hacer y ahora ya estés en disposición de ver los problemas y busques información sobre como mejorarlo.
  
  
 ===== Ejemplo ===== ===== Ejemplo =====
 +El ejemplo de esta unidad es exactamente lo que acabamos de contar pero en un nuevo proyecto llamado "​seguros"​.
  
 +<​note>​
 +Este ejemplo se encuentra en  git en [[https://​github.com/​logongas/​cursoangularjs/​tree/​master/​seguros]]
 +</​note>​
  
 +===== Referencias =====
 +  * [[http://​docs.spring.io/​spring/​docs/​current/​spring-framework-reference/​html/​mvc.html|16. Web MVC framework]]
 +  * [[http://​spring.io/​blog/​2013/​11/​01/​exception-handling-in-spring-mvc|Exception Handling in Spring MVC]]
unidades/10_servidor/06_controlador.1409690768.txt.gz · Última modificación: 2014/09/02 22:46 por admin
Ir hasta arriba
CC Attribution-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0