Manpreet Singh - Keeping services logic consistent with OpenAPI & AsyncAPI spec
What is your experience with designing and building APIs?
I had tried to adobt OpenAPI spec in all the services where we exposed REST API. Over the last 2 years, I have also got experience in AsyncAPI and writing interfaces for the async services written using Kafka.
While creating API Designs, implementing and / or consuming and testing them, what challenges have you faced / are facing?
- Making sure the specification is matching with the service logic
- Validating the service logic based on the output and input data defined in the OpenAPI Spec
- Keeping REST Apis backward compatible and having an upgrade path
- Integration/Component tests involving REST Api
- Ensuring Async services can't go beyond the contract defined in the AsyncAPI
What lessons have you learned with regards to designing and testing APIs?
- Automated Systems in place to enforce the compatibility of logic with the OpenAPI spec are going to work much better than manual checks in code reviews
- Async API (even though internal) needs to be kept backward compatible to allow dependent services to upgrade to the latest version in a planned fashion.
- It is important to give proper upgrade paths to the users of the APIs
What do you plan to learn /explore at this conference?
Experience of the participants in the challenges we faced
How do you plan to contribute?
Challenges and solutions around API spec evolution
Call for Papers CLOSED
Ended on Oct 30 '22 11:59 PM IST
In our experience, having participants write a position paper before coming to the conference leads to better discussion because people have thought about what they want from the conference. Last thing we want is to spend half of the conference time figuring out what you want to figure out.
A Position Paper is a simple paragraph which answers the following questions:
- What's your experience with designing and building APIs?
- While creating API Designs, implementing and / or consuming and testing them, what challenges have you faced / are facing?
- What lessons have you learned with regards to designing and testing APIs?
- What do you plan to learn /explore at this conference?
- How do you plan to contribute?
* Note that the above questions are just pointers, you don't have to answer each one point by point.