Construíndo uma API REST em Java [Parte1]

in #java7 years ago

E aí pessoal, tudo beleza?

No ano que passou tive uma grande evolução como desenvolvedor e dominando um pouco novas tecnologias, a vontade de passar o conhecimento adiante vem com força. Então, seguindo com esse desejo, hoje compartilho com desenvolvedores e qualquer outro interessados como é simples desenvolver uma API Rest em Java bem documentada. Para este post não ficar gigantesco, irei dividi-lo em algumas partes (quantas forem necessárias). Então vamos lá!

Algumas coisas que irei abordar nessa sequencia (ou série?): Pequenos resumos do conceito do que estamos utilizando, o desenvolvimento da API, a utilização de um git (BitBucket ou Github, irei decidir no decorrer do post), a publicação e geração da URL para utilização. Só lembrando que, mesmo sendo simples, é interessante um pouco de conhecimento no desenvolvimento.

Tecnologias que iremos utilizar nessa (série?) sequencia de posts: Java, Rest, SpringBoot, a API de dados do próprio Steemit, versionador GIT, Heroku (Servidor SaaS para realizar nosso deploy e gerar nossa URL) e JSON para tráfego dos dados.

Alguns conceitos básicos sobre tudo isso para quem é iniciante/entusiasta não se perder:

  • Java: Linguagem de programação orientada a objetos. Escolhi escrever com ela porque é a linguagem com a qual eu pago meu aluguel ..hehehe
  • REST: Sigla para REpresentational State Transfer. Em poucas e grossas palavras, ele é uma implementação de micros serviços que abstrai a implementação dos componentes e a sintaxe dos protocolos, focando na transferência da informação.
  • SpringBoot: Projeto da Spring que visa facilitar a configuração e utilização de aplicações WEB. Com a automatização das configurações do nosso projeto, teremos muito mais tempo para pensar nas nossas regras funcionando, sem quebrar a cabeça com XML's infinitos de configurações.
  • API do Steemit: O Steemit oferece diversos serviços para desenvolvedores, para exemplificar de forma bem simples, vou utilizar o serviço que retorna as informações dos usuários. As URL's e API's podem ser encontradas aqui
  • Versionador GIT: Sistema versionador de código com foco na produtividade. Como esse projeto será publico, provavelmente irei utilizar o meu GitHub mesmo
  • Heroku: O Heroku é uma plataforma as a Service (PaaS) da SalesForce. Ela oferece servidores gratuitos para deploy e utilização de pequenas aplicações. Pela facilidade, iremos utilizar uma maquina deles.

Ah, por ultimo e não menos importante, irei utilizar o Intellij como IDE de desenvolvimento. Se você for seguir o tutorial, a IDE utilizada fica a seu critério.

Iniciando nosso projeto...

Primeiramente, vamos acessar o site do SPRING INITIALIZR. Ele irá criar o esqueleto do nosso projeto já com as tecnologias que iremos utilizar. Basta ir adicionando as libs necessárias (de acordo com o que o Spring oferece) que o projeto virá praticamento pronto par ser utilizado. Como nossa aplicação é bem simples, a principio nenhuma dependência precisa ser incluída. Iremos gerar o projeto no padrão Maven Project, with Java e Spring 1.5.9.


Clique em "Generate Project" e a magia acontecerá...

Descompacte o projeto em um local de sua preferência e importe ele como "Maven Project" na sua IDE utilizada. Caso não saiba como, se você utilizar o Eclipse por seguir esse guia, caso use o Intellij esse guia.

Após a importação, esse é o nosso resultado:

No próximo post iremos iniciar a codificação do nosso projeto e incrementa-lo com algumas libs que iremos utilizar na API.

Lembrando que qualquer dúvida, crítica, sugestão e etc é só deixar na caixa de comentários que respondo o mais breve possível

Valeu!!

Sort:  

good post

Irei acompanhar a série. Quem sabe fazer um exemplo em PHP haha

Opa, uma oportunidade de aprender mais sobre um assunto que tenho estudado bastante!! Grato por compartilhar, irei acompanhar!!