Soy relativamente nuevo en términos de habilidades de desarrollo web Java. Tengo un proyecto que creo que sería un buen candidato para un servicio RESTful por lo poco que entiendo sobre las API. Estoy tratando de entrar en detalles sobre cómo se supone que está estructurado, pero en realidad no llego a ninguna parte en términos de búsquedas en Google y leer el material que ya tengo. Espero que esta publicación produzca alguna validación y / o redirección en términos de mi conocimiento y suposiciones sobre este tema.
Mi suposición actual es que mi servicio RESTful tendrá la siguiente estructura:
- Datos de la base de datos (SQL).
- Un ORM (estoy usando un ORM relativamente impopular llamado CPO, pero esto simplemente se reemplazaría con Hibernate con la mayoría de las personas).
- Una clase de administrador de Java con métodos que hablan con el ORM para obtener los datos.
- Una clase / clases de controlador Java que maneja la asignación de solicitudes y las utiliza
@ResponseBody
para dirigir / manejar la URL y las acciones de cómo se manejan los datos a través de verbos HTTP ( http://mysite.com/computers/dell puedeGET
solicitarse con la palabra "dell" en la URL es un parámetro que devolverá una matriz JSON de información sobre computadoras dell). - Este servicio debe hacerse con Spring Boot, o de alguna manera ser capaz de ser independiente y ser independiente de cualquier otra aplicación.
Ahora, suponiendo que lo anterior es correcto, entonces tendría (en un nivel muy básico) un servicio RESTful que cualquier aplicación puede usar para consumir y usar datos.
Digamos que tengo mi aplicación web. Digamos que estoy haciendo una aplicación web sobre información de hardware de computadora, y estoy usando Spring para construir esta aplicación web. Aquí están mis suposiciones:
- Tendría muchas vistas como JSP, con las JSP que incluyen HTML, CSS y JavaScript. El JavaScript manejaría las llamadas AJAX al controlador de esta aplicación según sea necesario (a continuación).
- Esta aplicación web también tendría su propio controlador para manejar las solicitudes de URL de la aplicación y el enrutamiento, y luego usaría, digamos, el
ModelAndView
objeto o algo por el estilo para "hablar" con el controlador del servicio RESTful, obtener los datos que se pasan , devuelva esos datos a la vista (Javascript, JSP, etc.) para su visualización.
¿Estoy en el camino correcto, aquí? Entiendo que también hay un aspecto de autenticación para los servicios RESTful, pero todavía no estoy allí conceptualmente (y mi proyecto se va a utilizar en una red privada, por lo que la seguridad no es una prioridad en este momento).
Cualquier idea, crítica, conocimiento, retroalimentación o aclaración es muy apreciada.