Skip to content

GuilhermeBalog/spring-boot-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot API

Minha primeira API feita com Spring Boot, desenvolvida enquanto acompanhava a série de artigos Learn Spring Boot.

Thumbnail

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:

Home Page

Error Page

Anotações

Algumas notas que tomei durante o desenvolvimento.

Estrutura do projeto

  • Sempre declarar o pacote nas classes. Ex:

    package com.guilhermebalog;
    
    class Foo {
        //...  
    }   
  • Deixar a classe main na 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;
    

Actuators

Usado principalmente para expor informações operacionais sobre a aplicação em execução através de endpoints HTTP.

Arquivos SQL

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');

Aulas

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

About

🍃 My First Spring Boot API

Topics

Resources

License

Stars

Watchers

Forks