Spring CRUD Generator v1.3.0 μΆμ π
Source: Dev.to
MariaDB μ§μ + REST μλ΅μμ μ νμ Null μ μΈ
μ λ λ°©κΈ Spring CRUD Generator v1.3.0 π μ μΆμνμ΅λλ€.
Spring CRUD Generatorλ YAML/JSON νλ‘μ νΈ μ€μ μ κΈ°λ°μΌλ‘ Spring Boot CRUD μ½λλ₯Ό μμ±νλ μ€νμμ€ Maven νλ¬κ·ΈμΈμΌλ‘, λ€μμ ν¬ν¨ν©λλ€:
- μν°ν°
- μ μ‘ κ°μ²΄ (DTO)
- λ§€νΌ
- μλΉμ€ λ° λΉμ¦λμ€ μλΉμ€
- 컨νΈλ‘€λ¬
μ νμ μΌλ‘ λ€μλ μμ±ν μ μμ΅λλ€:
- OpenAPI/Swagger 리μμ€
- GraphQL 리쑸λ²
- Flyway λ§μ΄κ·Έλ μ΄μ
- Docker 리μμ€
λͺ©νλ κ°λ¨ν©λλ€: λ°λ³΅μ μΈ CRUD 보μΌλ¬νλ μ΄νΈ μ½λλ₯Ό λΉ λ₯΄κ² μμ±νκ³ , ꡬ쑰λ₯Ό μΌκ΄λκ² μ μ§νλ©°, λΉμ¦λμ€ λ‘μ§μ μ§μ€ν μ μκ² νλ κ²μ λλ€.
λ°μ΄ν°λ² μ΄μ€ νΈνμ±
μ΄μ μμ±κΈ°λ MariaDBμ μμ ν νΈνλ©λλ€. κΈ°μ‘΄ μ§μ λ°μ΄ν°λ² μ΄μ€λ λ€μκ³Ό κ°μ΅λλ€:
- MySQL
- PostgreSQL
- MSSQL
MariaDB μ§μμλ μ 체 μνκ³μ κ±ΈμΉ μ λ°μ΄νΈκ° ν¬ν¨λ©λλ€:
- Flyway μ€ν¬λ¦½νΈ
- Docker Compose μ€μ
- μμ±κΈ°μ μμ±λ μ½λ λͺ¨λμμμ λ°μ΄ν°λ² μ΄μ€ νΈνμ± μ§μ
MariaDBλ₯Ό μ¬μ©νλ€λ©΄ μ΄μ λ³λμ μ°ν μμ΄ μμ±κΈ°λ₯Ό μ¬μ©ν μ μμ΅λλ€.
REST μλ΅ Null μ μΈ
μλ‘μ΄ μμ±μ΄ μΆκ°λμμ΅λλ€:
rest.response.excludeNull=true
μ΄ μ΅μ μ νμ±ννλ©΄, μμ±λ REST μλ΅μμ null νλκ° JSON μΆλ ₯μμ μ μΈλ©λλ€. μ΄λ₯Ό ν΅ν΄ μ»μ μ μλ μ₯μ :
- λ κΉλν API μλ΅
- λ μμ νμ΄λ‘λ
- λ³΄λ€ μ μ΄λ μ§λ ¬ν λμ
μ§μ νκ²½:
- Spring Boot 3
- Spring Boot 4
μΆκ° λ°°κ²½
- MariaDB μ§μμ MySQL, PostgreSQL, MSSQL νΈνμ± μ΄ν μμ°μ€λ¬μ΄ λ€μ λ¨κ³μμ΅λλ€.
- λ§μ APIκ° null νλλ₯Ό λ°ννμ§ μκΈ°λ₯Ό μ νΈνλ―λ‘, μμ±κΈ° μμ€μμ μ€μμΉλ₯Ό μ 곡νλ κ²μ΄ μλ―Έκ° μμ΅λλ€.
μ΄λ² 릴리μ€λ μ€μ νκ²½μμ μμ±λ νλ‘μ νΈλ₯Ό λ³΄λ€ μ€μ©μ μΌλ‘ λ§λ€κΈ° μν κ²μ μ€μ μ λμμ΅λλ€.
리μμ€
- Repository:
- Release (v1.3.0):
- Demo project:
νΌλλ°±
νΌλλ°±μ νμν©λλ€ π. μ¬μ©ν΄ 보μ λ€λ©΄ λ€μμ λν μ견μ λΆνλ립λλ€:
- MariaDB νΈνμ±
- Flyway μ€ν¬λ¦½νΈ λμ
- μμ±λ APIμμ
rest.response.excludeNullλμ
μμ±κΈ° ꡬν μΈλΆ μ¬ν λ° νΈλ μ΄λμ€νμ λν΄μλ λ Όμνκ³ μΆμ΅λλ€.