Minha primeira API feita com Spring Boot, desenvolvida enquanto acompanhava a série de artigos Learn Spring Boot.
Acesse: https://guilhermebalog-spring.herokuapp.com/
A API possui apenas um endpoint: /api/books, que possui as operações de CRUD, através dos métodos HTTP (GET, POST, PUT e DELETE).
Além disso, há uma página inicial e uma página de erro:
Algumas notas que tomei durante o desenvolvimento.
-
Sempre declarar o pacote nas classes. Ex:
package com.guilhermebalog; class Foo { //... }
-
Deixar a classe
mainna base do projeto. -
Organização package-by-feature. Ex:
// Projeto PetClinic, implementação modelo do Spring // Entidades base org.springframework.samples.petclinic.model // Entidades, controllers e repositórios para Dono seu Pet org.springframework.samples.petclinic.owner; // Classes de sistema, como cache org.springframework.samples.petclinic.system; // Entidades, controllers e repositórios para veterinário org.springframework.samples.petclinic.vet; // Entidade e repositório para Visita org.springframework.samples.petclinic.visit;
Usado principalmente para expor informações operacionais sobre a aplicação em execução através de endpoints HTTP.
Para popular o banco assim que a aplicação carrega, podemos definir um arquivo src/main/resources/data.sql com os INSERT. Ex:
/* src/main/resources/data.sql */
INSERT INTO book VALUES (3, 'Spring Boot Deployment', 'Guilherme Balog');Fonte: Baeldung
- Spring Boot - Basics
- Spring Boot Tutorial – Bootstrap a Simple Application
- A Comparison Between Spring and Spring Boot
- Spring Boot Annotations
- Intro to Spring Boot Starters
- Recommended Package Structure of a Spring Boot Project
- Spring Boot Actuator
- Configure a Spring Boot Web Application
- Quick Guide on Loading Initial Data with Spring Boot
- Spring Boot - Properties
- Properties with Spring and Spring Boot
- Guide to @ConfigurationProperties in Spring Boot
- Automatic Property Expansion with Spring Boot
- Spring Boot - Customization
- How to Define a Spring Boot Filter?
- How to Change the Default Port in Spring Boot
- Spring Boot Change Context Path
- Spring Boot: Customize Whitelabel Error Page
- Using Custom Banners in Spring Boot
- Spring Boot - Testing
- Testing in Spring Boot
- Exploring the Spring Boot TestRestTemplate
- Quick Guide to @RestClientTest in Spring Boot
- Logging in Spring Boot
- Spring Boot - Under the Hood
- Creating a Custom Starter with Spring Boot
- Create a Custom Auto-Configuration with Spring Boot
- Display Auto-Configuration Report in Spring Boot
- How to Get All Spring-Managed Beans?
- Spring Boot Security Auto-Configuration
- Spring Boot - Persistence
- Quick Guide on Loading Initial Data with Spring Boot
- Spring Boot with Multiple SQL Import Files
- Show Hibernate/JPA SQL Statements from Spring Boot
- Spring Boot With H2 Database

