https://downloadcursos.top/api-restful-com-springboot/
- Sobre o curso
- O que é web service
- Instalação Java, Eclipse String Tools e IntelliJ IDEA
- Criando um projeto com o String Initializr
- Eclipse Spring Tool Suite
- IntelliJ IDEA
- Arquivo pom.xml
- Classe de Application
- Introdução Resumo - para desenvolvedores avançados
- Resumo
- O arquivo application.properties
- Criando o IndexController
- 06-Index
- @RequestMapping
- GET - POST - DELETE - PUT
- GET - @ResquestParam
- POST - @RequestParam
- (Utilizei Sql Server)
- Lista de Carros básicos
- Criando as tabelas no MySQL
- Configurando o MySQLJPA
- @Service - Injeção de dependencia com Spring
- @Id @GeneratedValue (Auto vs Identity)
- Get Carro By Id
- Get Carro By Tipo
- POST - Salva Carro
- PUT - Atualiza Carro
- DELETE - Excluir um Carro
- Status Code de retorno do protocolo HTTP
- ResponseEntity
- GET - 404 Not Found
- GET - 204 No Content (CrudRepository)
- O projeto Lombok
- (https://dicasdejava.com.br/como-configurar-o-lombok-no-eclipse/)
- Lombok no Eclipse
- DTO - Data Transfer Object e JPARepository
- DTO - parte 2 - lambdas
- Model Mapper
- POST - 201 Created - URI location
- PUT
- DELETE
- Testes com Spring Boot
- Teste para Inserir um Carro
- Teste para inserir e Deletar um Carro
- A necessidade de termos um banco de dados para testes
- H2 - banco de dados em memória para testes
- Preenchendo o H2 com uma massa de testes
- Testes HTTP na API
- Documentação com Swagger
- pom.xml
- SwaggerConfig.java.txt
- ExceptionHandler - parte 1
- ExceptionHandler - parte 2
- ResponseStatus
- ResponseEntityExceptionHandler
- Spring Security
- Customizando a senha de autenticação
- SecurityConfig
- Basic Authentication
- CSRF - Cross-Site Request Forgery
- Memory Authentication e Perfis de acesso (ROLES)
- UserDetails
- UserDetailsService
- Database Authentication - parte 1 - User
- Database Authentication - parte 2 - Roles
- Testes na API de Segurança
- Fazendo o build de um jar
- Deploy no Heroku com GitHub
- Deploy no Heroku Git
- Profiles - prod vs dev
- Firebase Storage
- Base64
- Firebase Storage - configurações (parte 1)
- Firebase Storage - configurações (parte 2)
- Firebase Storage - código
- Testes unitários
- CORS
- Introdução ao JWT
- JWT Token na prática
- Preparando o código (parte 1)
- Preparando o código (parte 2) - testes
- Gerando e validando o Token JWT (JWTUtil)
- JWT AuthenticationFilter
- JWT AuthorizationFilter
- UnauthorizedHandler
- AccessDeniedHandler
- Swagger com JWT
- Exercício - UsersController
- Refactor - sugestão para organizar os pacotes
- UsersController
- Duvida Login - Controller vs Filtro
- Paginação - parte 1
- Paginação - parte 2
- SQL com Join
- GraphQL
- Erro de Timezone no MySQL
- @JsonInclude - Ignorar atributos nulos ao gerar o JSON