Desenvolvimento de um CRUD sabendo lidar com requisições GET, POST, PUT e DELETE. E CAMADA DE PERSISTENCIA

Overview

API-REST-com-Kotlin-e-Spring-Boot

Aprendemos nesse projeto: Parte 1 - DESENVOLVIMENTO WEB

1- Criação de classes de domínio que representam os recursos da API; A trabalhar com requisições GET na API utilizando a anotação @GetMapping; A criar uma camada Service na API para isolar as regras de negócio; Como receber um parâmetro pela URI utilizando a anotação @PathVariable.

2- Como trabalhar com requisições POST na API com as anotações @PostMapping e @RequestBody; Como testar a API utilizando a ferramenta Postman para disparar requisições HTTP; A criar classes DTO para representar os dados da API; A criar classes Mapper para a conversão de objetos DTO; Como realizar validações utilizando o Bean Validation com as anotações @Valid, @NotEmpty e @Size.

3- A trabalhar com requisições PUT na API com a anotação @PutMapping; A trabalhar com requisições DELETE na API com a anotação @DeleteMapping; A seguir boas práticas do REST nos retornos da API, com a utilização correta dos códigos HTTP.

4-As classes dos códigos HTTP e seus significados; A criar uma classe Controller Advice para tratamento de erros na API, utilizando as anotações @RestControllerAdvice e @ExceptionHandler; A realizar o tratamento de erros 500 que ocorrerem na API; A realizar o tratamento de erros 400 que ocorrerem na API.

Aprendemos nesse projeto: Parte 2 - CAMADA DE PERSISTENCIA

1- Adicionar o Spring Data JPA na API, incluindo suas dependências no arquivo pom.xml; Configurar o Spring Data JPA via propriedades no arquivo application.yml; Mapear as classes de domínio como entidades JPA, utilizando as anotações @Entity, @Id, @ManyToOne e @OneToMany; Criar interfaces repository para acesso ao banco de dados, herdando da interface JpaRepository do Spring Data JPA; Testar as mudanças na API utilizando o Postman para envio de requisições HTTP.

2- Que utilizar o recurso de migrations ajuda a manter um histórico da evolução do schema do banco de dados da API; Como adicionar o Flyway como ferramenta de migration na API, via dependência no arquivo pom.xml; Como definir as migrations da API, criando scripts SQL na pasta src/main/resources/db/migrations; Como validar a criação correta do schema do banco de dados pelas migrations, analisando a estrutura do banco de dados que foi gerada pelo Flyway.

3- A criar métodos de consultas com filtros nos repositórios da API, utilizando o padrão de nomenclatura findBy do Spring Data JPA; Como realizar paginação e ordenação nas consultas ao banco de dados utilizando a interface Pageable do Spring Data JPA; Como disparar requisições no Postman utilizando os parâmetros size, page e sort para o retorno de dados paginados; A modificar os parâmetros default de paginação e ordenação com a utilização da anotação @PageableDefault.

4- A adicionar o módulo de cache do Spring Boot via dependência no arquivo pom.xml; Que devemos habilitar o uso de cache na API utilizando a anotação @EnableCaching; A realizar cache de consultas no banco de dados utilizando a anotação @Cacheable em métodos dos controllers; Que podemos invalidar um cache ao alterar os registros de uma tabela no banco de dados, utilizando a anotação @CacheEvict em métodos dos controllers.

5- As propriedades que precisamos declarar no arquivo application.yml para habilitar o console do banco de dados H2; Como acessar e navegar pelo console do banco de dados H2 via browser; Que é possível escrever consultas personalizadas nos repositórios da API, com a utilização da anotação @Query do Spring Data JPA; Que é possível utilizar injeção de dependências para ter acesso à interface do EntityManager na API.

You might also like...
A Simple Android library to get the number of words and give you the time it will take you to finish an article/story.

MinRead A Simple Android library to get the number of words and give you the time it will take you to finish an article/story. Prerequisite Androidx K

Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Kotlin_practice_problems Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Kotlin-koans - Kotlin Koans are a series of exercises to get you familiar with the Kotlin Syntax

kotlin-koans-edu Kotlin Koans are a series of exercises to get you familiar with

Github User App for searching Github Users and get several information from it.
Github User App for searching Github Users and get several information from it.

GithubUserApp Github User App for searching Github Users and get several information from it. This code implement with Coroutines, Retrofit, Architect

This is a skeleton project for Zircon users that can be used to get started with Zircon.
This is a skeleton project for Zircon users that can be used to get started with Zircon.

Zircon Kotlin Skeleton Project This is a skeleton project for Zircon users that can be used to get started with Zircon. Getting started This project w

Therapeutic is a platform to help easily connect patients or generally anyone struggling to get through tough times with motivating content and  professional therapists.
Therapeutic is a platform to help easily connect patients or generally anyone struggling to get through tough times with motivating content and professional therapists.

Therapeutic Apk - https://github.com/develNerd/Therapeutic/blob/main/androidApp/release/androidApp-release6.apk Therapeutic is a Kotlin Mobile Multipl

EduApp is a mini e-learning platform based on udemy's public api. It has 4 main navigation destinations (Home, Search, Wishlist, Cart). Users can search courses from different categories and get real-time results from the api using Chips for a smooth filtering experience. It has different theme for dark mode. NPS android library to get the feedback you need from users
NPS android library to get the feedback you need from users

netpromoterscore NPS android library helps you to get the feedback you need from the users Gradle Dependency: implementation 'com.github.quantumlibs:n

An app to manage posts such as create, update, show the post list and detail also delete the post.

Otopost An app to manage posts such as create, update, show the post list and detail also delete the post. Minimum Requirements Software Android Studi

A simple ToDo app to demonstrate the use of Realm Database in android to perform some basic CRUD operations like Create, Update and Delete.
A simple ToDo app to demonstrate the use of Realm Database in android to perform some basic CRUD operations like Create, Update and Delete.

Creating a Realm Model Class @RealmClass open class Note() : RealmModel { @PrimaryKey var id: String = "" @Required var title: String

Parking Robot based on 3D LiDAR. Keywords: Automatic Parking, SLAM, 3D Navigation, Remote Control, ROS, RRT
Parking Robot based on 3D LiDAR. Keywords: Automatic Parking, SLAM, 3D Navigation, Remote Control, ROS, RRT

ELEC3875-Final-Project My undergraduate final project: Parking Robot based on 3D LiDAR. ELEC3875 / XJEL3875 Keywords: Automatic Parking, SLAM, 3D Navi

Put some bubble in your tabs and give your apps a supa fresh style !
Put some bubble in your tabs and give your apps a supa fresh style !

BubbleTab Put some bubble in your tabs and give your apps a supa fresh style ! Usage Add a BubbleTab with your icons on the layout.xml Customisable pa

Climby is designed to put climbers in contact with each other
Climby is designed to put climbers in contact with each other

Climby Con el nuevo 'BOOM' de la escalada, se vio la necesidad de crear un app donde los usuarios puedan publicar o unirse a viajes, sin la necesidad

A backend service that generates a random 32-chars length message and its sha256 hashcode and put them to DB
A backend service that generates a random 32-chars length message and its sha256 hashcode and put them to DB

This is an Android application in which a user can ask the server to generate a random message and its sha256, and ask to obtain this info from the server.

Este é um projeto desenvolvido durante o curso de Desenvolvimento Android do professor Jamilton Damasceno na Udemy.

Pedra_Papel_Tesoura_App 📋 Índice Sobre Tecnologias utilizadas Preview 🖥 Preview 2021-10-16-18-42-09.mp4 📖 Sobre Este é um projeto desenvolvido dura

O projeto Calling-Therapies é um aplicativo em desenvolvimento para o Trabalho de Conclusão de Curso da faculdade.

Calling-Therapies 📔 Informações sobre o projeto O projeto Calling-Therapies é um aplicativo em desenvolvimento para o Trabalho de Conclusão de Curso

Desenvolvimento de uma API utilizando SpringBoot + Kotlin com o intuito de cadastro de Vingadores.

Avengers API - Curso de introdução á Arquitetura Hexagonal com Spring Boot e Kotlin Desenvolvimento de uma API utilizando SpringBoot + Kotlin com o in

Projeto simples criado com o intuito de praticar os conceitos básicos do desenvolvimento Android.
Projeto simples criado com o intuito de praticar os conceitos básicos do desenvolvimento Android.

🚀 Projeto simples criado com o intuito de praticar e revisar alguns conceitos básicos do desenvolvimento Android com Kotlin. O app é um Quiz sobre as

Add page & limit as GET parameter to get all titans data in a paginated format

Add page & limit as GET parameter to get all titans data in a paginated format (default values : page=1 and limit=3). Here the page param is the page number which you require and limit is the maximum number of items per page. Sample Request :

Owner
Marcello Eduardo
Desenvolvedor Java, sempre interessado em aprender as respostas de como, por que e o que se relaciona com as tecnologias ao meu redor.
Marcello Eduardo
A backend service that generates a random 32-chars length message and its sha256 hashcode and put them to DB

This is an Android application in which a user can ask the server to generate a random message and its sha256, and ask to obtain this info from the server.

Iskander 1 Nov 20, 2022
O projeto Calling-Therapies é um aplicativo em desenvolvimento para o Trabalho de Conclusão de Curso da faculdade.

Calling-Therapies ?? Informações sobre o projeto O projeto Calling-Therapies é um aplicativo em desenvolvimento para o Trabalho de Conclusão de Curso

Diego Silva 12 Mar 10, 2022
Desenvolvimento de uma API utilizando SpringBoot + Kotlin com o intuito de cadastro de Vingadores.

Avengers API - Curso de introdução á Arquitetura Hexagonal com Spring Boot e Kotlin Desenvolvimento de uma API utilizando SpringBoot + Kotlin com o in

Gian Felipe 0 Nov 8, 2021
Add page & limit as GET parameter to get all titans data in a paginated format

Add page & limit as GET parameter to get all titans data in a paginated format (default values : page=1 and limit=3). Here the page param is the page number which you require and limit is the maximum number of items per page. Sample Request :

krishna chaitanya 1 Jan 31, 2022
This assignment gives you basically a post list and its detail with comments.🚀

Android Assignment ?? Description This assignment gives you basically a post list and its detail with comments. ?? Features Users can see random post

Okan AYDIN 31 Dec 20, 2022
Grocery - A simple CRUD Project using Spring Boot, Kotlin and MongoDB

Grocery - A simple CRUD Project using Spring Boot, Kotlin and MongoDB

null 3 Aug 10, 2022
Sencilla aplicación web para realizar un CRUD usando Ktor y motores de plantillas similar a Laravel con PHP

Servicio web para crear una WEB App usando Kotlin y Kator así como otras tecnologías propuestas por JetBrains.

José Luis González Sánchez 1 Feb 12, 2022
AppToDo is a simple Android project that performs the basic database CRUD operations that creates a todo task list

AppToDo is a simple Android project that performs the basic database CRUD operations that creates a todo task list

Rafiul Hye 1 Mar 13, 2022
This is a template to help you get started building amazing Kotlin applications and libraries.

Welcome to the Starter This is a template to help you get started building amazing Kotlin applications and libraries. Over time, examples will be comp

Backbone 8 Nov 4, 2022
This Kotlin Multiplatform library is for accessing the TMDB API to get movie and TV show content. Using for Android, iOS, and JS projects.

Website | Forum | Documentation | TMDb 3 API Get movie and TV show content from TMDb in a fast and simple way. TMDb API This library gives access to T

Moviebase 37 Dec 29, 2022