Quer ter acesso a todos os cursos desse Guia?
REST e Java
Devido a sua simplicidade, os Web Services RESTful têm se tornado cada vez mais populares. Neste guia você encontrará os conteúdos que precisa para dominar esse modelo que permite a construção de serviços menores a APIs completas.
Introdução
Quando pensamos em uma URL, geralmente a associamos a alguma coisa. Você já deve ter ouvido "acesse a URL de produtos" e, por esta associação, soube exatamente o que fazer. Podemos dizer que uma URL acessa alguma parte da informação hospedada em um servidor e, em APIs RESTful, chamamos a coisa associada a essa URL de recurso.
Mesmo que você ainda não tenha criado muitos websites, como apaixonados por tecnologia que somos, estamos sempre visitando um monte deles. Mas você já pensou o que acontece quando o navegador solicita um recurso a partir de uma URL? Geralmente o servidor responde com um documento, mas há casos nos quais ele também envia uma imagem, ou alguma outra representação do recurso que desejamos acessar.
Neste momento você já conhece dois termos fundamentais da arquitetura REST, Resource e Representation e, note que você já sabia o que eram, mas os conhecia por outros nomes :)
Representational State Transfer é um modelo arquitetural para a criação de Web Services que, devido à sua simplicidade, vem se tornando cada vez mais popular entre equipes de desenvolvimento. Você chegou até aqui e deseja conhecer o que é REST ou o que são Web Services RESTful? Assista ao seguinte curso:
Pode ser que você já seja um veterano na programação de APIs, em especial com o padrão SOAP. Sendo esse o caso, consulte o artigo abaixo para conhecer as diferenças entre as duas arquiteturas:
Primeiros passos
Os Servlets são a base do desenvolvimento web em Java e, por este motivo, estão presentes em frameworks e APIs criados para esse fim, fornecendo a infraestrutura básica necessária para o seu funcionamento. Assim sendo, apesar de não utilizarmos mais Servlets diretamente, para que seja possível compreender como uma aplicação Java web funciona, recomendamos uma introdução a essa tecnologia, papel realizado pelo curso abaixo.
É tarefa fundamental de toda API receber e processar requisições, respondendo-as de alguma forma. Para entender melhor como isso é feito em APIs RESTful devemos aprender sobre a semântica dos verbos HTTP, assunto tratado no seguinte artigo:
Agora que você já conhece os fundamentos da arquitetura REST, podemos prosseguir compreendendo como APIs RESTful são criadas em Java. Para isso recomendamos a leitura dos seguintes artigos:
A partir daqui veremos a criação de Web Services RESTful com frameworks que dispõem da infraestrutura necessária para isso, são eles Jersey e Spring. Não se preocupe agora em escolher entre um ou outro, pois conhecê-los em detalhes resolverá essa questão naturalmente, enquanto você se prepara para um número maior de oportunidades.
Saiba mais sobre Spring no Guia:
Jersey
Jersey é um framework que disponibiliza para o programador os recursos necessários para a criação de Web Services RESTful. Nele encontramos ferramentas que permitem expor recursos em diferentes formatos, mapeá-los para URIs únicas, assim como implementar outras características inerentes aos Web Services RESTful. Para uma apresentação completa a este framework acompanhe os posts abaixo.
-
CursoCriando um serviço RESTful com Java
-
CursoJersey e Hibernate: Criando um web service RESTful
-
CursoWeb services RESTful em Java: Trabalhando com subrecursos no Jersey
-
CursoWeb API RESTful com N:N utilizando Jersey e Hibernate
-
CursoComo consumir web services RESTful em Java com JSF/PrimeFaces
-
CursoPrimeiros passos para a segurança de web services RESTful em Java
-
CursoSegurança de web services em Java com controle de acesso
-
CursoRESTful com Java: Paginação e validação em web services
A integração entre aplicações é algo bastante comum em sistemas de médio e grande porte. A existência de sistemas que dependem de outros para a geração de relatórios ou mesmo para a completude do fluxo de negócio levou à criação de diferentes maneiras de integrar tais aplicações. Junto a essa integração, a segurança, assim como em qualquer outro ponto de uma aplicação também se faz presente. A integração muitas vezes acontece entre aplicações que não rodam no mesmo servidor. Neste cenário, o uso de soluções de segurança também se torna fundamental. Relacionando esses dois pontos, uma das opções que muito tem se discutido hoje em dia são os JSON Web Tokens. Afinal, o que é um JWT? Para aprender sobre ele, assista aos cursos abaixo:
Agora é só seguir com os artigos abaixo:
RESTEasy
Criado pela JBoss, o projeto RESTEasy reúne diferentes frameworks para auxiliar o desenvolvimento de aplicações RESTFul. Além de ser compatível com os principais Servlet Containers, como Apache Tomcat e GlassFish, pequenas melhorias foram feitas para melhor integração com o WildFly. Confira os seguintes links para saber mais:
Na prática
Nos posts abaixo reunimos outros conteúdos que apresentam boas práticas e técnicas na criação de aplicações RESTful. Confira:
-
ArtigoBoas práticas com web services RESTful
-
VídeoDesvendando Web Services em Java
-
CursoCurso de Java Web Service
-
ArtigoHATEOAS: Navegando entre recursos com REST
-
DevCastTestando APIs Web com o Postman
-
ArtigoWeb services RESTful: Como adicionar segurança com JWT
-
CursoWeb services RESTful com Spring framework e JPA
-
CursoSpring e JPA: Criando um Web Service RESTful 1:N
Mais sobre Java
Além dos cursos e exemplos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre Java, os quais você pode conferir nos Guias de Consulta abaixo:
-
Guia de CarreiraProgramador Java Guia
-
Guia de consultaLinguagem Java Guia
-
Guia de consultaHibernate Guia
-
Guia de consultaJSF - JavaServer Faces Guia
-
Guia de consultaSpring Framework Guia
-
Guia de consultaJava Enterprise Edition - Java EE Guia
-
Guia de consultaPadrões de Projeto em Java Guia
-
Guia de consultaTestes e DevOps Guia
-
Guia de consultaBigData com Java Guia
Além disso, você pode conferir todo o conteúdo de Java clicando aqui.
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>