Spring REST APIs

O REST rapidamente se tornou o padrão de fato para a criação de serviços da Web na Web, porque eles são fáceis de construir e fáceis de consumir.

Sobre o curso

O REST rapidamente se tornou o padrão de fato para a criação de serviços da Web na Web, porque eles são fáceis de construir e fáceis de consumir.

A TDS Tecnologia está no mercado desde de 1998, desde então possui um grande know how em ensinar pessoas. Nossa metodologia de capacitação é a abordagem prática, logo garantimos a qualidade de nossos cursos, assegurando que nossos alunos conseguirão aplicar os conhecimentos.

Os materiais deste treinamento serão entregues no primeiro dia de aula e você receberá um certificado de conclusão caso obtenta 75% de presença no treinamento.A TDS Tecnologia oferece garantia de qualidade aos clientes, permitindo que os mesmos possam refazê-los no caso do não acompanhamento, por motivos justificados.

Por esse canal você receberá uma proposta em formato PDF com toda descrição, valores e detalhes sobre o curso. Se preferir, pode nos acionar por whatsapp também, clicando no ícone.

Alguma dúvida?

Se ficou com alguma dúvida? ou quer receber uma proposta, entre em contato conosco

WhatsApp: (65) 98125-9421
Telefone: (65) 3054-0039


O que vou aprender?

Spring REST APIs

O Spring Boot facilita a criação de aplicativos autônomos baseados em Spring e com grau de produção que você pode "simplesmente executar".

Crie aplicativos Spring independentes, Incorpore o Tomcat, Jetty ou Undertow diretamente (não é necessário implantar arquivos WAR), Forneça dependências 'iniciantes' opinativas para simplificar sua configuração de compilação, Configure automaticamente bibliotecas Spring e de terceiros sempre que possível, Forneça recursos prontos para produção, como métricas, verificações de integridade e configuração externa. Absolutamente nenhuma geração de código e nenhum requisito para configuração XML

 Requisitos

  • Ter conhecimentos básicos de Javascript, HTML e CSS;
  • Conhecer lógica de programação;

 

Conteúdo Programático:

Spring e Injeção de Dependências

Você vai conhecer os principais projetos do ecossistema Spring para desenvolvimento de REST APIs, como Spring Framework, Spring MVC, Spring Boot, Spring Data JPA, Spring Security, Spring Security OAuth.

 

Spring Data JPA

Você vai conhecer os super poderes do Spring Data JPA, como criação de repositórios super inteligentes com a abstração do SDJ, criação de query methods com filtros, paginação e ordenação e parâmetros nomeados.

Vai também aprender a implementar repositórios customizados, externalização de consultas.

 

Domain-Driven Design (DDD)

Durante o desenvolvimento do projeto o curso, usaremos alguns conceitos e padrões do DDD, como Repository, Aggregate, Aggregate Root, Domain Event, Domain Service, Infrastructure Service, Specification e Linguagem Ubíqua.

Fundamentos avançados de REST com Spring

Você vai dominar os fundamentos de REST definitivamente, entender o que é e o que não é esse estilo arquitetural e as constraints do REST.

Vai entender o que é de fato e a diferença conceitual e prática de uma API,

Resource, Resource Model, Resource Representation, Resource Identifier, Resource Methods, Collection Resources, Singleton Resource e Sub-collection Resources.

 

Tratamento e modelagem de erros da API

Tratar exceptions é muito importante, mas tão importante quanto isso, é devolver como resposta o código de status HTTP adequado e uma representação padrão do problema.

Infelizmente, pouca gente faz isso direito.Mas nesse treinamento você vai aprender a tratar as exceptions e devolver uma resposta adequada e consistente (padronizada) para o consumidor da API.

Cache de HTTP

Você vai conhecer e implementar HTTP Caching com Cache-Control, entender o que são ETags (Entity Tags), implementar requisições condicionais com Deep ETags e Shallow ETags e entender como funciona a expiração e invalidação de cache.

Documentação com OpenAPI (Swagger)

APIs bem documentadas simplificam a vida dos consumidores, por isso você vai aprender como fazer isso no treinamento usando a especificação OpenAPI (antigamente conhecida como Swagger).

 

CORS e consumo da APIs com Java e JavaScript

Entender a Política de Mesma Origem (Same Origin Policy), que os navegadores implementam, como funciona o CORS (incluindo os cabeçalhos), como habilitar CORS na API por método, controlador ou globalmente.

 

Segurança com Spring Security, OAuth2 e JWT

Você vai aprender a implementar e usar os seguintes fluxos de autorização do OAuth2:

Resource Owner Password Credentials Flow, Client Credentials Flow, Implicit Flow e Authorization Code Flow.

 

 Conteúdo Detalhado:

 

  1. Spring e Injeção de Dependências
    • Conhecendo o ecossistema Spring
    • Spring vs Jakarta EE (Java EE)
    • Conhecendo o Spring Boot
    • Criando um projeto Spring Boot com Spring Initialize
    • O que é injeção de dependências?
    • Conhecendo os pontos de injeção e a anotação @Autowired
    • Mudando o comportamento da aplicação com Spring Profiles
    • Configurando projetos Spring Boot com o application.properties
  1. REST com Spring
    • O que é REST?
    • Diferença entre REST e RESTful
    • Conhecendo o protocolo HTTP
    • Entendendo o que são Recursos REST
    • Modelando e requisitando um Collection Resource com GET
    • Implementando content negotiation para retornar JSON ou XML
    • Consultando Singleton Resource com GET e @PathVariable 9. Conhecendo os métodos HTTP

 2.10. Introdução ao Modelo de Maturidade de Richardson (RMM)

  1. Spring Data JPA
    • Implementando consultas JPQL em repositórios
    • Conhecendo o projeto Spring Data JPA (SDJ)
    • Criando um repositório com Spring Data JPA (SDJ)
    • Criando consultas com query methods
    • Usando as keywords para definir critérios de query methods
    • Usando queries JPQL customizadas com @Query
  1. Tratamento e modelagem de erros
    • Introdução ao tratamento e modelagem de erros
    • Simplificando o código com o uso de @ResponseStatus em exceptions
    • Tratando exceções em nível de controlador com @ExceptionHandler
    • Conhecendo a RFC 7807 (Problem Details for HTTP APIs)
    • Padronizando o formato de problemas no corpo de respostas com a RFC 7807
    • Validação do modelo com Bean Validation
    • Resolvendo mensagens de validação com Resource Bundle do Bean Validation
  1. Boas práticas
    • Analisando e definindo melhor o escopo das transações
    • Isolando o Domain Model do Representation Model com o padrão DTO
    • Implementando a conversão de entidade para DTO
    • Criando DTOs para entrada de dados na API
    • Refatorando e criando um assembler de DTO
    • Adicionando e usando o ModelMapper
    • Customizando o mapeamento de propriedades com ModelMapper
  1. CORS e consumo da API com JavaScripts
    • Implementando uma chamada na REST API com JavaScript
    • Testando a requisição na API com JavaScript e entendendo a Same Origin Policy
    • Entendendo o funcionamento básico de CORS e habilitando na API
    • Habilitando CORS em controladores e métodos com @CrossOrigin
    • Habilitando CORS globalmente no projeto da API
    • Implementando um client da REST API com Java e Spring (RestTemplate)
    • Tratando respostas com código de erro no client Java
  1. Cache de HTTP
    • Introdução ao Cache de HTTP
    • Habilitando o cache com o cabeçalho Cache-Control e a diretiva max-age
    • Entendendo a validação de representações em cache com ETags
    • Adicionando outras diretivas de Cache-Control na resposta HTTP
    • Entendendo e preparando a implementação de Deep ETags
  1. Documentação da API com OpenAPI, Swagger UI e SpringFox
    • Introdução à documentação de REST APIs
    • Conhecendo a OpenAPI (antes conhecida como Swagger)
    • Gerando a definição OpenAPI em JSON com SpringFox
    • Gerando a documentação da API em HTML com Swagger UI e SpringFox
    • Selecionando os endpoints da API para gerar a documentação
    • Descrevendo informações da API na documentação
  1. Segurança com Spring Security e OAuth2
    • Introdução à segurança de REST APIs
    • Adicionando segurança na API com Spring Security
    • Configurando Spring Security com HTTP Basic
    • Introdução ao OAuth2
    • Conhecendo o fluxo Resource Owner Password Credentials
    • Conhecendo o fluxo para emitir e usar Refresh Tokens
    • Conhecendo o fluxo Client Credentials
    • Conhecendo o fluxo Implicit

Por esse canal você receberá uma proposta em formato PDF com toda descrição, valores e detalhes sobre o curso. Se preferir, pode nos acionar por whatsapp também, clicando no ícone.

Alguma dúvida?

Se ficou com alguma dúvida? ou quer receber uma proposta, entre em contato conosco

WhatsApp: (65) 98125-9421
Telefone: (65) 3054-0039


Feedback

O que nossos alunos que se tornaram profissionais têm a dizer sobre nós, depois de aprender conosco e alcançar seus objetivos.

Acesso Ilimitado

Você também tem a opção de comprar o acesso ilimitado à todos os cursos ONLINE desta plataforma. São +400 horas de cursos incluidas em seu curriculo e dezenas de certificados registrados no seu nome.

Todos cursos por R$139/mes

Já tem uma conta? Login