Sou relativamente novo em termos de habilidades de desenvolvimento web em Java. Eu tenho um projeto que acho que seria um bom candidato para um serviço RESTful do pouco que eu entendo sobre APIs. Estou tentando entrar em detalhes de como isso deve ser estruturado, mas não estou realmente chegando a lugar algum em termos de pesquisas no Google e lendo o material que já tenho. Espero que este post traga alguma validação e / ou redirecionamento em termos de meu conhecimento e suposições sobre este tópico.
Minha suposição atual é que meu serviço RESTful terá a seguinte estrutura:
- Dados do banco de dados (SQL).
- Um ORM (estou usando um ORM relativamente impopular chamado CPO, mas isso seria substituído pelo Hibernate pela maioria das pessoas).
- Uma classe de gerenciador Java com métodos que conversam com o ORM para obter os dados
- Uma classe / classes de controlador Java que manipula o mapeamento de solicitações e usa
@ResponseBody
para direcionar / manipular a URL e as ações de como os dados são manipulados por verbos HTTP ( http://mysite.com/computers/dell pode serGET
solicitada com a palavra "dell" sendo o URL um parâmetro que retornará uma matriz JSON de informações sobre computadores da dell). - Esse serviço deve ser feito com o Spring Boot ou, de alguma forma, poder ficar sozinho e ser independente de qualquer outro aplicativo.
Agora, assumindo que o exposto acima está correto, eu teria (em um nível muito básico) um serviço RESTful que qualquer aplicativo pode usar para consumir e usar dados.
Digamos que eu tenha meu aplicativo da web. Digamos que eu esteja criando um aplicativo Web sobre informações de hardware de computador e usando o Spring para criar esse aplicativo Web. Aqui estão minhas suposições:
- Eu teria várias visualizações como JSPs, com as JSPs com HTML, CSS e JavaScript incluídas. O JavaScript manipularia chamadas AJAX para o controlador deste aplicativo, conforme necessário (abaixo).
- Esse aplicativo da Web também teria seu próprio controlador para lidar com as solicitações e o roteamento de URL do aplicativo, e o controlador usaria, digamos, o
ModelAndView
objeto ou algo nesse sentido para "conversar com" o controlador do serviço RESTful, obter os dados que estão sendo passados , passe esses dados de volta para a exibição (Javascript, JSP, etc ...) para exibição.
Estou no caminho certo, aqui? Entendo que também há um aspecto de autenticação nos serviços RESTful, mas ainda não estou lá conceitualmente (e meu projeto será usado em uma rede privada, portanto a segurança não é uma prioridade neste momento).
Qualquer insight, crítica, conhecimento, feedback ou esclarecimento é muito apreciado.