Investigations

REST API Lab

Go October 2025

A multi-service REST API learning environment with Groovy/Spring Boot, Go hexagonal architecture, and dynamic API test generation.

This is a two-part project. Part one is a multi-service REST API environment: a Groovy/Spring Boot backend, a Go microservice with hexagonal architecture and geolocation features, SQLite for portability, and a web frontend. Docker Compose ties it all together with Swagger UI for both services.

Part two is more interesting — an API equivalence testing framework that dynamically generates test workflows from captured API data. No manual YAML writing needed. It detects ID variables (like {{customer_id}}) for smart substitution and auto-identifies timestamp fields to ignore during comparison.

The testing framework integrates with OpenAPI/Swagger specs to generate comprehensive test suites. It's designed for the same use case as proxyy — verifying that a rewritten service behaves identically to the original.

The combination of multi-language services, containerisation, and sophisticated testing makes this a good reference for backend engineering practices.

What this project demonstrates

Multi-service: Groovy/Spring Boot + Go hexagonal + Web frontend
Dynamic API test workflow generation
Smart ID variable substitution and timestamp ignore
OpenAPI/Swagger integration for test generation
SQLite for portable version-controlled data
Docker Compose orchestration with dual Swagger UIs

Technologies

GoSpring BootDockerAPI TestingSwagger

© 2026 Jonathan Leahy · v1.1.0