This week, I found myself re-implementing Spring Boot’s actuator in a legacy non-Spring Boot application.

The architecture is dead simple: the HTTP endpoint returns a Java object (or a list of them) serialized through the Jackson library. Every endpoint might return a different object, and each can be serialized using a custom serializer.

I’ve organized the project in a package-per-endpoint way (as opposed to package-per-layer), and have already provided several endpoints. I’d like people to contribute other endpoints, and I want it to be as simple as possible. In particular, they should only:

Declare controllers Declare configuration classes Instantiate Jackson serializers