Skip to content

Commit f553df9

Browse files
committed
docs: finalize root README with Dev.to reference and minor formatting polish
1 parent b6f2ae3 commit f553df9

File tree

3 files changed

+22
-14
lines changed

3 files changed

+22
-14
lines changed

README.md

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# spring-boot-openapi-generics-clients
1+
# Spring Boot + OpenAPI Generator — Type-Safe Generics for Clean API Clients
22

33
[![Build](https://github.com/bsayli/spring-boot-openapi-generics-clients/actions/workflows/build.yml/badge.svg)](https://github.com/bsayli/spring-boot-openapi-generics-clients/actions/workflows/build.yml)
44
[![Release](https://img.shields.io/github/v/release/bsayli/spring-boot-openapi-generics-clients?logo=github&label=release)](https://github.com/bsayli/spring-boot-openapi-generics-clients/releases/latest)
@@ -11,7 +11,7 @@
1111
---
1212

1313
<p align="center">
14-
<img src="docs/images/social-preview.png" alt="Social preview" width="720"/>
14+
<img src="docs/images/openapi-generics-cover.png" alt="OpenAPI Generics Cover" width="720"/>
1515
<br/>
1616
<em>Type-safe API responses without boilerplate — powered by Spring Boot & OpenAPI Generator</em>
1717
</p>
@@ -28,14 +28,16 @@ duplicated wrappers, and keep client code clean.
2828
- 🛠 [Compatibility Matrix](#-compatibility-matrix)
2929
- 🚀 [Problem Statement](#-problem-statement)
3030
- 💡 [Solution](#-solution)
31-
- [Quick Start](#-quick-start)
32-
- 🧩 [Tech Stack](#-tech-stack--features)
31+
-[Quick Start](#-quick-start)
32+
- 🧩 [Tech Stack & Features](#-tech-stack--features)
3333
-[Key Features](#-key-features)
34-
-[Usage Example](#-usage-example-adapter-interface)
35-
- 📦 [Related Modules](#-related-modules-quick-view)
34+
-[Usage Example (Adapter Interface)](#-usage-example-adapter-interface)
35+
- 📦 [Related Modules (Quick View)](#-related-modules-quick-view)
3636
- 📘 [Adoption Guides](#-adoption-guides)
3737
- 🔗 [References & Links](#-references--links)
3838

39+
> *A practical reference for type-safe OpenAPI client generation using Spring Boot 3.4, Java 21, and Mustache templates.*
40+
3941
### 📦 Modules in this Repository
4042

4143
This repository consists of two main modules:
@@ -82,7 +84,7 @@ This project shows how to:
8284

8385
---
8486

85-
### How it works (under the hood)
87+
## 🧠 How It Works (Under the Hood)
8688

8789
At generation time, the reference service **auto-registers** wrapper schemas in the OpenAPI doc:
8890

@@ -181,7 +183,9 @@ You don’t need to write a single line of code — the generator does the work.
181183

182184
---
183185

184-
## 📦 Next Steps: Dependency-based Adoption
186+
## 📦 Next Steps — Dependency-Based Adoption
187+
188+
This pattern is evolving toward a plug-and-play module approach, so teams can adopt it without manual template setup.
185189

186190
The long-term goal is to publish the core pieces as standalone modules, so that any project using
187191
a generic response type like `ServiceResponse<T>` can enable the same behavior with **just one dependency**:
@@ -306,9 +310,9 @@ This project may not be the right fit if:
306310

307311
## 📂 References & Links
308312

309-
- 📘 [Medium ArticleType-Safe Generic API Responses](https://medium.com/@baris.sayli/type-safe-generic-api-responses-with-spring-boot-3-4-openapi-generator-and-custom-templates-ccd93405fb04)
310-
311-
- 🌐 [GitHub Pages (Adoption Guides)](https://bsayli.github.io/spring-boot-openapi-generics-clients/)
313+
- 🌐 [GitHub PagesAdoption Guides](https://bsayli.github.io/spring-boot-openapi-generics-clients/)
314+
- 📘 [Medium — Type-Safe Generic API Responses](https://medium.com/@baris.sayli/type-safe-generic-api-responses-with-spring-boot-3-4-openapi-generator-and-custom-templates-ccd93405fb04)
315+
- 💬 [Dev.to — Type-Safe Generic API Clients Without Boilerplate](https://dev.to/barissayli/spring-boot-openapi-generator-type-safe-generic-api-clients-without-boilerplate-3a8f)
312316

313317
---
314318

@@ -318,15 +322,19 @@ This repository is licensed under **MIT** (see [LICENSE](LICENSE)). Submodules i
318322

319323
---
320324

321-
**Note:** CLI examples should always be provided **on a single line**.
325+
**Note:** CLI examples should always be provided on a single line.
322326
If parameters include spaces or special characters, wrap them in quotes `"..."`.
323327

324328
---
325329

326330
## 💬 Feedback
327331

328-
If you spot any mistakes in this README or have questions about the project, feel free to open an issue or start a
329-
discussion. I’m happy to improve the documentation and clarify concepts further!
332+
If you spot any mistakes in this README or have questions about the project, feel free to open an issue or start a discussion. I’m happy to improve the documentation and clarify concepts further!
333+
334+
---
335+
336+
**Barış Saylı**
337+
[GitHub](https://github.com/bsayli) · [Medium](https://medium.com/@baris.sayli)
330338

331339
---
332340

63.8 KB
Loading

docs/images/social-preview.png

-893 KB
Binary file not shown.

0 commit comments

Comments
 (0)