Complete API Development
1-Design --> 2-Develop --> 3-Deploy --> 4-API Gateway --> 5-Use --> 6-Analyze --> 7-Update
Design the API
Analyze business requirements
Identify affordances
e.g.: Create user, Submit order, Search for an article
Identify resources
e.g.: User, Order, Article
Identify relations
e.g.: User has many Orders via order relation, all of the required affordances should be mapped to relations.
Formalize the design in the Open API Specification (OAS, formerly known as "Swagger") version 2.x or 3.0.x format.
Use SwaggerHub for the whole design process to the publication of the API specification.
Follow the adidas API guidelines
Verify the OAS file you have written passes the Spectral test.
Make sure the OAS file passes all adidas SwaggerHub style guide checks. A red banned will be showed at the bottom of the editor if something is wrong with the OAS content.
Review the API Design
Publish the version in Swagger Hub doing that inmmutable.
Develop the API
Check out OAS file from Swagger Hub
Set up the Dredd API testing tool locally
Configure the Dredd for your project
Run the Dredd test locally
Against locally running API implementation, Every test should fail.
Implement the API
Keep running the Dredd locally to see the progress.
Set up a CI/CD pipeline to execute the Dredd tests automatically.
NOTE: Both TeamCity and Jenkins environments are available, contact adidas API Evangelist for details.
Deploy the API
Deploy the service
Update the OAS file to add the deployment host (OAS v2.x) or the deployment servers (OAS v3.0.x). For instance:
OAS Version 2.x
OAS Version 3.0.x
Verify the deployment with Dredd
Use Dredd pointed towards the deployment host, be careful NOT to run it against the production OR using real production credentials.
Monitor the API usage "From performance and technical standpoint."
Expose the API using Kong
Ensure you have all the operational context information:
Type of application
Servers
Detailed ownership information (Organiational unit, API Owner, Support contact, etc)
Ensure you have all the Non-Functional Requirements for your API like:
Caching strategy detailed for each endpoint
Rate Limits information
Scope (internal to adidas or public)
List of consumers and ACLs
Authentication & Authorization
Please read the API On-Boarding Kong to include your API in the adidas API Gateway if it is not done yet.
Once all the information is ready create an on-boarding request in JIRA.
Read the API Team Service Catalog to get more information.
Use the API
This step can be done at the same time as "Develop the API" using SwaggerHub auto-mock service and the continuous inspection of the OAS file.
Read API documentation at SwaggerHub
Use an API implementation stub provided by SwaggerHub.
This is a good starting point for implementing the API, you can run and test it locally, implement the business logic for the API, and then deploy it to your server.
Obtain your credentials(OIDC) and other information to apply the authentication/authorization mode in your API
The credentials is part of the adidas API Gateway on-boarding process and can be requested from your dashboard in the adidas API developer's portal.
Use production deployment
Analyze the API
Examine the use of production API Using Kong
Analyze the technical performance metrics
Collect the feedback from users
Update API Design
Based on the analysis, new or changing business requirements
Create a new version in Swagger Hub
Follow the adidas API Guidelines for changes and versioning
Share with your skateholders the new version allow them write comments to reach a new agrenment
Avoid break current version follow the rules
After the API Design change is verified, reviewed and approved, continue with the "Develop the API" phase
Make sure the CI/CD pipeline is set to run Dredd test in the CI/CD with the new version
Eventually, when the updated design is ready to be deployed for production, merge the branch into the production branch
Follow this guide from "Expose the API using Kong" step
Last updated