Conclusion
Explore the final stage of API design by understanding implementation methods, testing strategies, debugging techniques, and thorough documentation practices. This lesson helps you transition from design to production, ensuring APIs are reliable, secure, and well-documented for seamless integration and maintenance.
With a solid foundation in designing intuitive, scalable APIs using the REDCAMEL approach, the natural next step is moving from design to production. This progression follows a clear sequence: implementation, testing, debugging, and documentation.
Implementation
Two approaches exist for API implementation:
Design-first approach
Code-first approach
The following illustration explains the difference between the two approaches:
The design-first approach, as applied throughout this course via REDCAMEL, defines all functional and non-functional requirements, the API model, and latency budget estimation before any code is written. Once these aspects are agreed upon, careful selection of programming languages and frameworks drives the development phase. With a working implementation in hand, the focus shifts to verification.
Testing
API testing verifies that an API produces the expected results for defined requests before public release. It encompasses several testing types:
Testing Types
Type | Purpose of Testing |
Unit testing | Checks the responses for a single endpoint |
Functional | Checks whether the API returns the right response for a request |
Security | Checks the security points and protection against cyber attacks |
Fuzz testing | Checks the response for a large number of requests |
Error detection | Checks for execution errors at server-side |
UI testing | Checking the performance and functionality of the API with the user interface |
Penetration testing | Emulates an attacker against the API and checks for a response |
Contract testing | Checks whether the interaction between two APIs is as according to the defined contract |
Performance testing | Checks the performance of the API |
Automated vs. manual testing
Manual ...