Desenvolvendo API em Java sem Frameworks
Olá, pessoal!
Estou passando por um desafio e gostaria de compartilhar com vocês. Preciso desenvolver uma API
em Java
para um projeto da faculdade, mas estou enfrentando algumas dificuldades porque não tenho experiência com a linguagem.
Meu maior obstáculo até agora tem sido encontrar tutoriais que não utilizem frameworks
como o Spring
. Acredito que começar direto com um framework
pode acabar atrapalhando meu aprendizado. Prefiro seguir um passo de cada vez.
Se alguém tiver dicas ou sugestões de materiais mais básicos, focados em Java
puro, ou até mesmo opniões em relação a esse assunto, seriam muito bem-vindas!
Eu estava pesquisando um pouco sobre o assunto e fiz um pequeno exemplo nesse repositório aqui: https://github.com/Matheus1714/sample-java-api
Eu não usei nenhum pacote externo ou framework.
A parte difícil disso é que o projeto fica bagunçado bem rápido se não manter uma estrutura boa.
Fique tendo que fazer muitas manipulações com String no processo.
Talvez eu melhore um pouco a estrutura do repositório em algumas camadas a mais para ver como fica. Eu já tinha feito isso com Javascript
, mas nunca com Java
.
No caso do Javascript, acho até sua estratégia adequada de aprender a fazer algo sem uso de framework. Mas, no caso do Java, creio que não é melhor caminho , 99% do que vai ser exigido de ti será conhecimento sobre diversos frameworks e não a linguagem em si.
Você não vai querer escrever um Http Server do zero.
Pesquise "Java Servlets Tutorial" no Google, desenvolva uma aplicação e a deploye em um http server como Tomcat, Wildfly etc.
Se você não tem experiência com a linguagem estude um pouco sobre ela pra ter uma base, entender o básico e conseguir compilar e rodar um projeto. Depois dê uma olhada em alguma biblioteca http para Java, com uma pesquisa rápida encontrei essa, HttpServer. Com um framework talvez seja menos verboso e mais fácil de entender pelo nível de abstração dos métodos que for usar.
Nossa, porreta esse desafio, hein my man. Eu sou DEV Front, mas no início dos meus estudos e nos meus tempos de FACUL, estudei um pouco de JAVA. O professor Nélio Alves (melhor curso de Java que já vi), até demonstrava a complicação que seria em certas situações, caso não tivesse o SPRING, o trampo absurdo para certas coisas como injeção de dependência e ETC.
Na minha opinião você deve dominar o básico de JAVA para depois sim ir para a construção de API usando um FRAMEWORK. Não tente usar Framework para aprender linguagem, eu fiz isso no Front com o Laravel, React, NEXT e no Java com o SPRING é só consegui me sentir um jumento completo por empacar em tudo kkkkkkkkkkkkkkk. Só consegui fazer algo decente, quando parei para aprender a linguagem básica bem, pra depois voltar nos Frames... Se não tiver tentando, vá variando entre aprender a linguagem e o framework.
Aquele abrss e boa sorte!
Fazer isso é bom pra conhecimento, ja fiz isso com js/ts e até nessa lang facil é chato demais, imagina em Java.
"Nunca fiz mal pro cara e ele me manda desenvolver uma API em java sem framework"
Cara, vamos por partes. Vc já aprendeu a sintaxe? Se sim, e vc sabe que precisa criar uma Rest API, vc pode ir direto com Spring Boot e qualquer tutorial de meia hora da internet vc vai resolver o seu problema. Eu não gosto muito dessa opção, pq vc fica com a mente meio engessada em relação aos conceitos, tipo vc sabe aplicar e fazer o que precisa ser feito no trabalho, mas na hora de customizar vc vai ter muitas dificuldades pq não vai saber o pq tá mexendo em cada coisa. E quando configurar uma pode acabar impactando em outras. Eu aprendi a mexer com Spring desse jeito de sair fazendo sem entender, pq me jogaram em um projeto na minha antiga empresa, com uma arquitetura DDD já pronta, aí eu já sou meio desenrolado com a questão das camadas de software e fui entendendo o que cada classe tinha que fazer. Aí entreguei o projeto, mas sempte seguindo a mesma arquitetura. Se precisasse fazer de outra forma, eu não saberia dizer o pq escolhi cada camada. Hj eu estou alocado em uma empresa que usa o Java EE, então eu estou estudando mais sobre isso. Eu acho que se vc quiser criar uma API sem framework, vc poderia usar o JAX-RS ou Servlets. Mas vc vai precisar configurar alguns arquivos de configuração das requisições Http, coisas como Interceptors e Filters.
Olá, tudo bem? Meu trabalho de conclusão fiz em Java sem framework tbm, utilizando servelets. Era uma pagina web que mostrava e controlava um disposito IoT conectado no wifi, trocando dados com o servidor web na nuvem.
Este é o arquivo q trata as requisições Tbm tem um video só do frontend no meu YouTube. Espero q te ajude em algo. Bom projeto!
Vc pode fazer com Servlets, mas a complexidade para vc q não tem familiaridade, não sei se vale a pena, precisa configurar o ambiente servidor Tomcat, dependencias na mão se não quiser usar o Maven, sem falar que jdbc a configuração é tudo manual.
Oi, se for pra consumir uma API, você pode estar usando as classes HttpClient, tipo, com o Java puro, com método main e tals.
Se for pra fornecer um endpoint Rest, você pode criar utilizando o servidor Wildfly, seguindo a especificação JavaEE.
No starter do JakartaEE (nome novo do JavaEE), você já pode criar o projeto Maven com o Wildfly no Docker, com um endpoint de Hello Worls já configurado.