Focus on the contract, specification and the implementation. Nothing else.
Documentation, Models and API interface should auto-generated by your specification.
- Write your contract @ api/src/test/resources/contracts
- Watch your application will fail tests
- Design the api Specification @ api/src/main/java/resources/
- Watch your application fail compilation due to unattended api
- Implement the code on your controller @ server/src/main/java/
- Watch your tests pass
- Play with your api @ localhost:8080/swagger-ui.html
- Enjoy some coffee
- Free yourself from updating swagger docs on the controller
- Free yourself from models boilerplate
- Free yourself from client boilerplate
- Use stubs to test client apps without lifting this microservice (stubs are a mocked-service of this microservice)
- OpenAPI-generator : generates your api from apenapi spec
- Karate : quick api testing
- OpenFeign : Declarative API clients
- Hystrix : Circuit-breaker pattern on the easy
- Spring : for having easy integrations for everything above