Improve API design roadmap content (#7462)

* Phase - 1st

* Phase - 2

* Phase - 3

* Phase - 4

* Phase  - 5

* Added Some Special Content.
pull/7476/head
Vedansh 4 days ago committed by GitHub
parent 2b9e86cd67
commit 51d7dfb0a4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      src/data/roadmaps/api-design/content/api-gateways@MJeUD4fOHaJu1oxk4uQ-x.md
  2. 2
      src/data/roadmaps/api-design/content/api-integration-patterns@R3aRhqCslwhegMfHtxg5z.md
  3. 4
      src/data/roadmaps/api-design/content/api-keys--management@tzUJwXu_scwQHnPPT0oY-.md
  4. 6
      src/data/roadmaps/api-design/content/api-lifecycle-management@At5exN7ZAx2IzY3cTCzHm.md
  5. 4
      src/data/roadmaps/api-design/content/api-performance@d9ZXdU73jiCdeNHQv1_DH.md
  6. 4
      src/data/roadmaps/api-design/content/api-testing@Wpk4TvxcZOJgAoXjrOsZF.md
  7. 2
      src/data/roadmaps/api-design/content/attribute-based-access-control-abac@dZTe_kxIUQsc9N3w920aR.md
  8. 6
      src/data/roadmaps/api-design/content/authentication-methods@cQnQ9v3mH27MGNwetz3JW.md
  9. 6
      src/data/roadmaps/api-design/content/authorization-methods@nHbn8_sMY7J8o6ckbD-ER.md
  10. 1
      src/data/roadmaps/api-design/content/basic-auth@0FzHERK5AeYL5wv1FBJbH.md
  11. 4
      src/data/roadmaps/api-design/content/batch-processing@X68HXAAV-nKo-V4Fu1o72.md
  12. 4
      src/data/roadmaps/api-design/content/best-practices@q1yaf-RbHIQsOqfzjn4k4.md
  13. 6
      src/data/roadmaps/api-design/content/building-json--restful-apis@awdoiCHz7Yc3kYac_iy-a.md
  14. 4
      src/data/roadmaps/api-design/content/caching-strategies@PrvRCR4HCdGar0vcUbG_a.md
  15. 2
      src/data/roadmaps/api-design/content/ccpa@a-_iIE7UdoXzD00fD9MxN.md
  16. 2
      src/data/roadmaps/api-design/content/common-vulnerabilities@G70wvcOM1Isrx5ZBvS2xP.md
  17. 2
      src/data/roadmaps/api-design/content/content-negotiation@TX_hg7EobNJhmWKsMCaT1.md
  18. 6
      src/data/roadmaps/api-design/content/contract-testing@NqeBglhzukVMMEF9p2CXc.md
  19. 8
      src/data/roadmaps/api-design/content/different-api-styles@o8i093VQv-T5Qf1yGqU0R.md
  20. 8
      src/data/roadmaps/api-design/content/error-handling--retries@XD1vDtrRQFbLyKJaD1AlA.md
  21. 4
      src/data/roadmaps/api-design/content/error-handling@8tELdagrOaGCf3nMVs8t3.md
  22. 6
      src/data/roadmaps/api-design/content/event-driven-architecture@oMfOBkVsgiLvFLicOUdx6.md
  23. 4
      src/data/roadmaps/api-design/content/functional-testing@6lm3wy9WTAERTqXCn6pFt.md
  24. 3
      src/data/roadmaps/api-design/content/graphql-apis@MKVcPM2EzAr2_Ieyp9Fu3.md
  25. 6
      src/data/roadmaps/api-design/content/grpc-apis@Wwd-0PjrtViMFWxRGaQey.md
  26. 4
      src/data/roadmaps/api-design/content/http-headers@rE-0yibRH6B2UBKp351cf.md
  27. 4
      src/data/roadmaps/api-design/content/http-methods@rADHM-6NAxEjzmgiHefDX.md
  28. 2
      src/data/roadmaps/api-design/content/http-versions@ACALE93mL4gnX5ThRIdRp.md
  29. 1
      src/data/roadmaps/api-design/content/jwt@tWg68AHLIr1gIZA1za3jp.md
  30. 5
      src/data/roadmaps/api-design/content/load-balancing@p5wsniYnOS7cbHd92RxGk.md
  31. 6
      src/data/roadmaps/api-design/content/load-testing@7JNEx_cbqnAx3esvwZMOd.md
  32. 4
      src/data/roadmaps/api-design/content/messaging-queues@IkPZel5zxXWIx90Qx7fZI.md
  33. 4
      src/data/roadmaps/api-design/content/microservices-architecture@PPeBbooE121zrgNwpVTiA.md
  34. 5
      src/data/roadmaps/api-design/content/oauth-20@TLuNtQ6HKYQXmglyVk8-t.md
  35. 2
      src/data/roadmaps/api-design/content/performance-metrics@nQpczZUcn-TvrfT80dv0Q.md
  36. 3
      src/data/roadmaps/api-design/content/postman@KQAus72RGqx5f-3-YeJby.md
  37. 4
      src/data/roadmaps/api-design/content/profiling-and-monitoring@-qdwBg7HvwlbLy3IKCRij.md
  38. 4
      src/data/roadmaps/api-design/content/rabbit-mq@H22jAI2W5QLL-b1rq-c56.md
  39. 4
      src/data/roadmaps/api-design/content/readmecom@LxWHkhlikUaMT2G8YmVDQ.md
  40. 4
      src/data/roadmaps/api-design/content/role-based-access-control-rbac@wFsbmMi5Ey9UyDADdbdPW.md
  41. 2
      src/data/roadmaps/api-design/content/session-based-auth@eQWoy4CpYP3TJL2bbhPB_.md
  42. 4
      src/data/roadmaps/api-design/content/simple-json-apis@TVR-SkErlOHbDKLBGfxep.md
  43. 12
      src/data/roadmaps/api-design/content/standards-and-compliance@yvdfoly5WHHTq2Puss355.md
  44. 4
      src/data/roadmaps/api-design/content/swagger--open-api@5RY7AlfRQydjxWK65Z4cv.md
  45. 2
      src/data/roadmaps/api-design/content/token-based-auth@QTH7sy9uQZWl6ieBz7erY.md
  46. 4
      src/data/roadmaps/api-design/content/uri-design@b3qRTLwCC_9uDoPGrd9Bu.md
  47. 2
      src/data/roadmaps/api-design/content/url-query--path-parameters@P-rGIk50Bg7nFmWieAW07.md
  48. 6
      src/data/roadmaps/api-design/content/versioning-strategies@itILK2SXvLvAjk1Kul7EK.md
  49. 4
      src/data/roadmaps/api-design/content/web-sockets@UQ8N7gcVpRLAYXgUNHBt5.md
  50. 4
      src/data/roadmaps/api-design/content/what-are-apis@r8M3quACGO2piu0u_R4hO.md

@ -5,4 +5,4 @@ API Gateways act as the main point of entry in a microservices architecture, oft
Learn more from the following resources: Learn more from the following resources:
- [@article@What does an API Gateway do?](https://www.redhat.com/en/topics/api/what-does-an-api-gateway-do) - [@article@What does an API Gateway do?](https://www.redhat.com/en/topics/api/what-does-an-api-gateway-do)
- [@article@What are API Gateways?](https://www.ibm.com/blog/api-gateway/) - [@article@What are API Gateways?](https://www.ibm.com/blog/api-gateway/)

@ -5,4 +5,4 @@ API Integration Patterns, in the context of API Design, refers to the common par
Learn more from the following resources: Learn more from the following resources:
- [@article@API Integration Patterns - Dzone](https://dzone.com/refcardz/api-integration-patterns) - [@article@API Integration Patterns - Dzone](https://dzone.com/refcardz/api-integration-patterns)
- [@article@API Integration Patterns](https://uk.devoteam.com/expert-view/api-integration-patterns/) - [@article@API Integration Patterns - Devoteam](https://uk.devoteam.com/expert-view/api-integration-patterns/)

@ -4,5 +4,5 @@ API keys and management is an integral part of API design. An API key is a uniqu
Learn more from the following resources: Learn more from the following resources:
- [@article@What is API key management?](https://www.akeyless.io/secrets-management-glossary/api-key-management/) - [@article@What is API Key Management?](https://www.akeyless.io/secrets-management-glossary/api-key-management/)
- [@article@API Key Management | Definition and Best Practices](https://infisical.com/blog/api-key-management) - [@article@API Key Management - Definition and Best Practices](https://infisical.com/blog/api-key-management)

@ -4,6 +4,6 @@ API Lifecycle Management is a crucial aspect in API design that oversees the pro
Learn more from the following resources: Learn more from the following resources:
- [@article@What is the API lifecycle?](https://www.postman.com/api-platform/api-lifecycle/) - [@article@What is the API Lifecycle?](https://www.postman.com/api-platform/api-lifecycle/)
- [@article@What is API lifescycle management?](https://swagger.io/blog/api-strategy/what-is-api-lifecycle-management/) - [@article@What is API Lifecycle Management?](https://swagger.io/blog/api-strategy/what-is-api-lifecycle-management/)
- [@video@Day in the lifecycle of an API](https://www.youtube.com/watch?v=VxY_cz0VQXE) - [@video@Day in the Lifecycle of an API](https://www.youtube.com/watch?v=VxY_cz0VQXE)

@ -4,5 +4,5 @@ When we talk about API design, one crucial aspect that demands our attention is
Learn more from the following resources: Learn more from the following resources:
- [@video@Top 7 Ways to 10x Your API Performance](https://www.youtube.com/watch?v=zvWKqUiovAM) - [@article@10 Tips for Improving API Performance](https://nordicapis.com/10-tips-for-improving-api-performance/)
- [@article@10 Tips for Improving API Performance](https://nordicapis.com/10-tips-for-improving-api-performance/) - [@video@Top 7 Ways to 10x Your API Performance](https://www.youtube.com/watch?v=zvWKqUiovAM)

@ -4,5 +4,5 @@ API Testing refers to the process of checking the functionality, reliability, pe
Learn more from the following resources: Learn more from the following resources:
- [@article@What is API testing?](https://www.postman.com/api-platform/api-testing/) - [@article@What is API Testing?](https://www.postman.com/api-platform/api-testing/)
- [@article@API Testing : What It is, How to Test & Best Practices](https://testsigma.com/guides/api-testing/) - [@article@API Testing : What It is, How to Test & Best Practices](https://testsigma.com/guides/api-testing/)

@ -5,4 +5,4 @@ Attribute Based Access Control (ABAC) is a flexible and powerful authorization m
Learn more from the following resources: Learn more from the following resources:
- [@article@What is Attribute Based Access Control?](https://www.okta.com/uk/blog/2020/09/attribute-based-access-control-abac/) - [@article@What is Attribute Based Access Control?](https://www.okta.com/uk/blog/2020/09/attribute-based-access-control-abac/)
- [@article@Attribute Based Access Control](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) - [@article@Attribute Based Access Control](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)

@ -1,3 +1,7 @@
# Authentication Methods in API Design # Authentication Methods in API Design
Application Programming Interfaces (APIs) are critical components in software development that allow different software systems to communicate and share functionality. To ensure secure communication, it's essential to authenticate the parties involved in the API transactions. The authentication process confirms the identity of the API user. There are numerous authentication methods available when designing an API, each with its own pros and cons. This includes Basic Authentication, API Key Authentication, OAuth, and JWT among others. Understanding these different methods and their best use cases is fundamental to designing secure and effective APIs. Application Programming Interfaces (APIs) are critical components in software development that allow different software systems to communicate and share functionality. To ensure secure communication, it's essential to authenticate the parties involved in the API transactions. The authentication process confirms the identity of the API user. There are numerous authentication methods available when designing an API, each with its own pros and cons. This includes Basic Authentication, API Key Authentication, OAuth, and JWT among others. Understanding these different methods and their best use cases is fundamental to designing secure and effective APIs.
Learn more from the following resources:
- [@article@API Authentication](https://www.postman.com/api-platform/api-authentication/)

@ -1,3 +1,7 @@
# Authorization Methods in API Design # Authorization Methods in API Design
In API design, authorization methods play a crucial role in ensuring the security and integrity of data transactions. They are the mechanisms through which an API identifies and validates a user, system, or application before granting them access to specific resources. These methods include Basic Authentication, OAuth, Token-based authentication, JSON Web Tokens (JWT), and API Key based, among others. So, understanding these methods enhances the ability to design APIs that effectively protect resources while allowing necessary access. Each method has its own pros and cons, usage scenarios and security features that make them more suitable for certain situations rather than others. In API design, authorization methods play a crucial role in ensuring the security and integrity of data transactions. They are the mechanisms through which an API identifies and validates a user, system, or application before granting them access to specific resources. These methods include Basic Authentication, OAuth, Token-based authentication, JSON Web Tokens (JWT), and API Key based, among others. So, understanding these methods enhances the ability to design APIs that effectively protect resources while allowing necessary access. Each method has its own pros and cons, usage scenarios and security features that make them more suitable for certain situations rather than others.
Visit the following resources to learn more:
- [@article@API Authorization Methods](https://konghq.com/blog/engineering/common-api-authentication-methods)

@ -4,6 +4,7 @@ Basic Auth, short for Basic Authentication, is a simple method often used in API
Learn more from the following resources: Learn more from the following resources:
- [@roadmap@Basic Authentication](https://roadmap.sh/guides/basic-authentication)
- [@article@Basic Auth Generation Header](https://www.debugbear.com/basic-auth-header-generator) - [@article@Basic Auth Generation Header](https://www.debugbear.com/basic-auth-header-generator)
- [@article@Basic Authentication - Swagger.io](https://swagger.io/docs/specification/authentication/basic-authentication/) - [@article@Basic Authentication - Swagger.io](https://swagger.io/docs/specification/authentication/basic-authentication/)
- [@article@Basic Authentication - Twillio](https://www.twilio.com/docs/glossary/what-is-basic-authentication) - [@article@Basic Authentication - Twillio](https://www.twilio.com/docs/glossary/what-is-basic-authentication)

@ -4,5 +4,5 @@ Batch Processing refers to the method of handling bulk data requests in API desi
Learn more from the following resources: Learn more from the following resources:
- [@article@API design guidance: bulk vs batch import](https://tyk.io/blog/api-design-guidance-bulk-and-batch-import/) - [@article@API Design Guidance: Bulk vs Batch Import](https://tyk.io/blog/api-design-guidance-bulk-and-batch-import/)
- [@video@Stream vs Batch processing explained with examples](https://www.youtube.com/watch?v=1xgBQTF24mU) - [@video@Stream vs Batch Processing Explained with Examples](https://www.youtube.com/watch?v=1xgBQTF24mU)

@ -4,5 +4,5 @@ API design has rapidly emerged as a vital component of software development. Whe
Learn more from the following resources: Learn more from the following resources:
- [@article@Best practices for REST API design](https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/) - [@article@Best Practices for REST API Design](https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/)
- [@article@Best practices in API design](https://swagger.io/resources/articles/best-practices-in-api-design/) - [@article@Best Practices in API Design](https://swagger.io/resources/articles/best-practices-in-api-design/)

@ -4,6 +4,6 @@ Building JSON/RESTful APIs involves designing and implementing APIs that adhere
Learn more from the following resources: Learn more from the following resources:
- [@article@A specification for building APIs in JSON](https://jsonapi.org/) - [@official@Specification for Building APIs in JSON](https://jsonapi.org/)
- [@article@How to make a REST API](https://www.integrate.io/blog/how-to-make-a-rest-api/) - [@article@How to Make a RESTful API](https://www.integrate.io/blog/how-to-make-a-rest-api/)
- [@video@What is a REST API?](https://www.youtube.com/watch?v=lsMQRaeKNDk&t=170s) - [@video@What is a REST API?](https://www.youtube.com/watch?v=lsMQRaeKNDk&t=170s)

@ -5,5 +5,5 @@ Caching in API design serves as a technique that allows you to store copies of d
Learn more from the following resources: Learn more from the following resources:
- [@article@Caching Strategies for APIs](https://medium.com/@satyendra.jaiswal/caching-strategies-for-apis-improving-performance-and-reducing-load-1d4bd2df2b44) - [@article@Caching Strategies for APIs](https://medium.com/@satyendra.jaiswal/caching-strategies-for-apis-improving-performance-and-reducing-load-1d4bd2df2b44)
- [@article@Using caching strategies to improve API performance](https://www.lonti.com/blog/using-caching-strategies-to-improve-api-performance) - [@article@Using Caching Strategies to Improve API Performance](https://www.lonti.com/blog/using-caching-strategies-to-improve-api-performance)
- [@video@Cache Systems Every Developer Should Know](https://www.youtube.com/watch?v=dGAgxozNWFE) - [@video@Cache Systems Every Developer Should Know](https://www.youtube.com/watch?v=dGAgxozNWFE)

@ -1,4 +1,4 @@
# CCPA under Standards and Compliance in API Design # CCPA Under Standards and Compliance in API Design
The California Consumer Privacy Act (CCPA) is a pivotal state statute meant to enhance privacy rights and consumer protection for individuals within California, United States. API Design greatly impacts compliance with CCPA, as improper management and exposure of user data can potentially violate this law. Crucially, designing APIs means considering data privacy, security, and user consent from the very foundation. Programmatically, CCPA compliance may involve structuring APIs to respond to user demands such as data access, data deletion, and opt-out requests. It imposes a significant responsibility on API developers to enforce user control over data and maintain rigorous standards of data protection. The California Consumer Privacy Act (CCPA) is a pivotal state statute meant to enhance privacy rights and consumer protection for individuals within California, United States. API Design greatly impacts compliance with CCPA, as improper management and exposure of user data can potentially violate this law. Crucially, designing APIs means considering data privacy, security, and user consent from the very foundation. Programmatically, CCPA compliance may involve structuring APIs to respond to user demands such as data access, data deletion, and opt-out requests. It imposes a significant responsibility on API developers to enforce user control over data and maintain rigorous standards of data protection.

@ -5,4 +5,4 @@ API design is a critical component of modern software development, enabling vari
Learn more from the following resources: Learn more from the following resources:
- [@article@API Vulnerability Overview](https://apimike.com/api-vulnerabilities) - [@article@API Vulnerability Overview](https://apimike.com/api-vulnerabilities)
- [@article@Top API Vulnerabilities and 6 Ways to Mitigate Them](https://brightsec.com/blog/top-api-vulnerabilities-and-6-ways-to-mitigate-them/) - [@article@Top API Vulnerabilities and 6 Ways to Mitigate Them](https://brightsec.com/blog/top-api-vulnerabilities-and-6-ways-to-mitigate-them/)

@ -5,4 +5,4 @@ In the context of API design, Content Negotiation refers to the process where th
Learn more from the following resources: Learn more from the following resources:
- [@article@Content Negotiation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation) - [@article@Content Negotiation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation)
- [@article@Content Negotiation in practice](https://softwaremill.com/content-negotiation-in-practice/) - [@article@Content Negotiation in Practice](https://softwaremill.com/content-negotiation-in-practice/)

@ -4,6 +4,6 @@ Contract Testing is a critical aspect of maintaining a robust and reliable API i
Learn more from the following resources: Learn more from the following resources:
- [@article@A complete guide to Contract Testing](https://testsigma.com/blog/api-contract-testing/) - [@article@Complete Guide to Contract Testing](https://testsigma.com/blog/api-contract-testing/)
- [@article@Get started with API Contract Testing](https://saucelabs.com/resources/blog/getting-started-with-api-contract-testing) - [@article@Geting Started with API Contract Testing](https://saucelabs.com/resources/blog/getting-started-with-api-contract-testing)
- [@article@Contract Testing](https://www.postman.com/templates/42247877-8529-429d-acba-4de20c3b5b3b/Contract-testing/) - [@article@Contract Testing](https://www.postman.com/templates/42247877-8529-429d-acba-4de20c3b5b3b/Contract-testing/)

@ -1,3 +1,9 @@
# Different API Styles # Different API Styles
Application Programming Interface (API) design isn't a one-size-fits-all endeavor. APIs can be structured in various styles, each with its own unique characteristics, advantages, and use cases. Early identification of the appropriate API style is crucial in ensuring a functional, efficient and seamless end-user experience. Commonly used API styles include REST, SOAP, GraphQL, and gRPC. Understanding these diverse API styles would help in making better design choices, fostering efficient overall system architecture, and promoting an intuitive and easy-to-use application. Application Programming Interface (API) design isn't a one-size-fits-all endeavor. APIs can be structured in various styles, each with its own unique characteristics, advantages, and use cases. Early identification of the appropriate API style is crucial in ensuring a functional, efficient and seamless end-user experience. Commonly used API styles include REST, SOAP, GraphQL, and gRPC. Understanding these diverse API styles would help in making better design choices, fostering
efficient overall system architecture, and promoting an intuitive and easy-to-use application.
Visit the following resources to learn more:
- [@article@API Styles](https://www.redhat.com/architect/api-styles)
- [@video@Top API Styles](https://www.youtube.com/watch?v=4vLxWqE94l4)

@ -1,10 +1,8 @@
# Error Handling / Retries # Error Handling / Retries
When creating effective API designs, addressing Error Handling and Retries forms an essential facet. This is primarily due to the fact that APIs aren't always error-free and instances of network hiccups or input inaccuracies from users can occur. Without robust error handling, such occurrences can easily lead to catastrophic application failure or unsatisfactory user experiences. When creating effective API designs, addressing Error Handling and Retries forms an essential facet. This is primarily due to the fact that APIs aren't always error-free and instances of network hiccups or input inaccuracies from users can occur. Without robust error handling, such occurrences can easily lead to catastrophic application failure or unsatisfactory user experiences. Error handling can refer to validating inputs, managing exceptions, and returning appropriate error message or status codes to the user. Meanwhile, the concept of retries comes into play to ensure maximum request success amidst transient failures. Through correctly implemented retries, an API can repeatedly attempt to execute a request until it is successful, thus ensuring seamless operation.
In this context, error handling can refer to validating inputs, managing exceptions, and returning appropriate error message or status codes to the user. Meanwhile, the concept of retries comes into play to ensure maximum request success amidst transient failures. Through correctly implemented retries, an API can repeatedly attempt to execute a request until it is successful, thus ensuring seamless operation. The criteria and mechanisms of retries, including the count, delay, and conditions for retries, are crucial aspects to solidify during the API design.
Learn more from the following resources: Learn more from the following resources:
- [@video@How to make resilient web applications with retries](https://www.youtube.com/watch?v=Gly94hp3Eec) - [@article@How To Improve Your Backend By Adding Retries to Your API Calls](https://hackernoon.com/how-to-improve-your-backend-by-adding-retries-to-your-api-calls-83r3udx)
- [@article@How To Improve Your Backend By Adding Retries to Your API Calls](https://hackernoon.com/how-to-improve-your-backend-by-adding-retries-to-your-api-calls-83r3udx) - [@video@How to Make Resilient Web Applications with Retries](https://www.youtube.com/watch?v=Gly94hp3Eec)

@ -4,6 +4,6 @@ Error Handling is a crucial aspect of API design that ensures the stability, usa
Learn more from the following resources: Learn more from the following resources:
- [@article@Best practices for API error handling](https://blog.postman.com/best-practices-for-api-error-handling/) - [@article@Best Practices for API Error Handling](https://blog.postman.com/best-practices-for-api-error-handling/)
- [@article@Best Practices for REST API Error Handling](https://www.baeldung.com/rest-api-error-handling-best-practices) - [@article@Best Practices for REST API Error Handling](https://www.baeldung.com/rest-api-error-handling-best-practices)
- [@video@Handling HTTP API Errors with Problem Details](https://www.youtube.com/watch?v=uvTT_0hqhyY) - [@video@Handling HTTP API Errors with Problem Details](https://www.youtube.com/watch?v=uvTT_0hqhyY)

@ -4,6 +4,6 @@ Event-driven architecture (EDA) is a software design concept that revolves aroun
Learn more form the following resources: Learn more form the following resources:
- [@article@Event-driven architecture style](https://learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles/event-driven) - [@article@Event Driven Architecture Style](https://learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles/event-driven)
- [@article@Event-driven architecture](https://aws.amazon.com/event-driven-architecture/) - [@article@Event-driven Architecture](https://aws.amazon.com/event-driven-architecture/)
- [@video@Event-Driven Architecture: Explained in 7 Minutes!](https://www.youtube.com/watch?v=gOuAqRaDdHA) - [@video@Event-Driven Architecture: Explained in 7 Minutes!](https://www.youtube.com/watch?v=gOuAqRaDdHA)

@ -1,8 +1,8 @@
# Functional Testing in API Design # Functional Testing in API Design
Functional testing in the context of API design involves validating the endpoints and key-value pairs of an API. It ensures the server response works as expected and assesses the functionality of the API -- whether it is performing all the intended functions correctly. Various approaches like testing request-response pairs, error codes, and data accuracy are used. Functional testing can provide invaluable insights into how well an API meets the specified requirements and whether it is ready for integration into applications. Functional testing in the context of API design involves validating the endpoints and key-value pairs of an API. It ensures the server response works as expected and assesses the functionality of the API whether it is performing all the intended functions correctly. Various approaches like testing request-response pairs, error codes, and data accuracy are used. Functional testing can provide invaluable insights into how well an API meets the specified requirements and whether it is ready for integration into applications.
Learn more from the following resources: Learn more from the following resources:
- [@article@API Functional Testing – Why Is It Important And How to Test](https://testsigma.com/blog/api-functional-testing/) - [@article@API Functional Testing – Why Is It Important And How to Test](https://testsigma.com/blog/api-functional-testing/)
- [@video@What Is API Functional Testing?](https://www.youtube.com/watch?v=CvJHDKMWofk) - [@video@What Is API Functional Testing?](https://www.youtube.com/watch?v=CvJHDKMWofk)

@ -4,6 +4,7 @@ GraphQL is an open-source data query and manipulation language for APIs, and a r
Learn more from the following resources: Learn more from the following resources:
- [@roadmap@Visit Dedicated GraphQL Roadmap](https://roadmap.sh/graphql)
- [@official@GraphQL Website](https://graphql.org/) - [@official@GraphQL Website](https://graphql.org/)
- [@opensource@Public GraphQL APIs](https://github.com/graphql-kit/graphql-apis) - [@opensource@Public GraphQL APIs](https://github.com/graphql-kit/graphql-apis)
- [@video@GraphQL explained in 100 seconds](https://www.youtube.com/watch?v=eIQh02xuVw4) - [@video@GraphQL Explained in 100 Seconds](https://www.youtube.com/watch?v=eIQh02xuVw4)

@ -1,10 +1,6 @@
# gRPC # gRPC
gRPC is a platform agnostic serialization protocol that is used to communicate between services. Designed by Google in 2015, it is a modern alternative to REST APIs. It is a binary protocol that uses HTTP/2 as a transport layer. It is a high performance, open source, general-purpose RPC framework that puts mobile and HTTP/2 first. gRPC is a platform agnostic serialization protocol that is used to communicate between services. Designed by Google in 2015, it is a modern alternative to REST APIs. It is a binary protocol that uses HTTP/2 as a transport layer. It is a high performance, open source, general-purpose RPC framework that puts mobile and HTTP/2 first. It's main use case is for communication between two different languages within the same application. You can use Python to communicate with Go, or Java to communicate with C#.
It's main use case is for communication between two different languages within the same application. You can use Python to communicate with Go, or Java to communicate with C#.
gRPC uses the protocol buffer language to define the structure of the data that is
Visit the following resources to learn more: Visit the following resources to learn more:

@ -5,5 +5,5 @@ HTTP Headers play a crucial role in API Design as they provide essential informa
Learn more from the following resources: Learn more from the following resources:
- [@article@HTTP Headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers) - [@article@HTTP Headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers)
- [@article@What are HTTP headers?](https://blog.postman.com/what-are-http-headers/) - [@article@What are HTTP Headers?](https://blog.postman.com/what-are-http-headers/)
- [@article@What are HTTP Headers & Understand different types of HTTP headers](https://requestly.com/blog/what-are-http-headers-understand-different-types-of-http-headers/) - [@article@What are HTTP Headers & Types of HTTP headers](https://requestly.com/blog/what-are-http-headers-understand-different-types-of-http-headers/)

@ -4,6 +4,6 @@ HTTP (Hypertext Transfer Protocol) Methods play a significant role in API design
Learn more from the following resources: Learn more from the following resources:
- [@article@HTTP request methods](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods) - [@article@HTTP Methods - MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods)
- [@article@HTTP Request Methods - W3Schools](https://www.w3schools.com/tags/ref_httpmethods.asp) - [@article@HTTP Request Methods - W3Schools](https://www.w3schools.com/tags/ref_httpmethods.asp)
- [@article@What are HTTP Methods?](https://blog.postman.com/what-are-http-methods/) - [@article@What are HTTP Methods? - Postman](https://blog.postman.com/what-are-http-methods/)

@ -5,4 +5,4 @@ HTTP or Hypertext Transfer Protocol is pivotal in the world of API design. HTTP
Visit the following resources to learn more: Visit the following resources to learn more:
- [@article@Evolution of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP) - [@article@Evolution of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP)
- [@article@HTTP: 1.0 vs. 1.1 vs 2.0 vs. 3.0](https://www.baeldung.com/cs/http-versions) - [@article@HTTP: 1.0 vs 1.1 vs 2.0 vs 3.0](https://www.baeldung.com/cs/http-versions)

@ -4,6 +4,7 @@ JSON Web Tokens, or JWT, are a popular and secure method of transferring informa
Learn more from the following resources: Learn more from the following resources:
- [@roadmap@JWT Authentication](https://roadmap.sh/guides/jwt-authentication)
- [@official@Introduction to JSON Web Tokens](https://jwt.io/introduction) - [@official@Introduction to JSON Web Tokens](https://jwt.io/introduction)
- [@article@JSON Web Tokens](https://auth0.com/docs/secure/tokens/json-web-tokens) - [@article@JSON Web Tokens](https://auth0.com/docs/secure/tokens/json-web-tokens)
- [@video@Why is JWT popular?](https://www.youtube.com/watch?v=P2CPd9ynFLg) - [@video@Why is JWT popular?](https://www.youtube.com/watch?v=P2CPd9ynFLg)

@ -4,6 +4,7 @@ Load Balancing plays a crucial role in the domain of API Design. It primarily re
Learn more from the following resources: Learn more from the following resources:
- [@article@What is load balancing?](https://www.cloudflare.com/en-gb/learning/performance/what-is-load-balancing/) - [@article@What is Load Balancing?](https://www.cloudflare.com/en-gb/learning/performance/what-is-load-balancing/)
- [@article@Load Balancers in API](https://learn.microsoft.com/en-us/rest/api/load-balancer/)
- [@article@API Gateway vs Load Balancer: Which is Right for Your Application?](https://konghq.com/blog/engineering/api-gateway-vs-load-balancer) - [@article@API Gateway vs Load Balancer: Which is Right for Your Application?](https://konghq.com/blog/engineering/api-gateway-vs-load-balancer)
- [@video@What is a load balancer?](https://www.youtube.com/watch?v=sCR3SAVdyCc) - [@video@What is a Load Balancer?](https://www.youtube.com/watch?v=sCR3SAVdyCc)

@ -4,6 +4,6 @@ Load testing is a crucial aspect of API design that ensures reliability, efficie
Learn more from the following resources: Learn more from the following resources:
- [@article@API load testing - a beginners guide](https://grafana.com/blog/2024/01/30/api-load-testing/) - [@article@API Load Testing - Beginners Guide](https://grafana.com/blog/2024/01/30/api-load-testing/)
- [@article@Test your API’s performance by simulating real-world traffic](https://blog.postman.com/postman-api-performance-testing/) - [@article@Test Your API’s Performance by Simulating Real-world Traffic](https://blog.postman.com/postman-api-performance-testing/)
- [@video@Load testing your API's](https://www.youtube.com/watch?v=a5hWE4hMOoY) - [@video@Load Testing API's](https://www.youtube.com/watch?v=a5hWE4hMOoY)

@ -4,5 +4,5 @@ Messaging Queues play a fundamental role in API design, particularly in creating
Learn more from the following resources: Learn more from the following resources:
- [@article@What is a message queue?](https://aws.amazon.com/message-queue/) - [@article@What is a Message Queue?](https://aws.amazon.com/message-queue/)
- [@video@REST API message queues explained](https://www.youtube.com/watch?v=2idPgA6IN_Q) - [@video@REST API Message Queues Explained](https://www.youtube.com/watch?v=2idPgA6IN_Q)

@ -4,6 +4,6 @@ When it comes to API Design, Microservices Architecture plays a crucial role. It
Learn more from the following resources: Learn more from the following resources:
- [@video@Microservices explained in 5 minutes](https://www.youtube.com/watch?v=lL_j7ilk7rc) - [@video@Microservices Explained in 5 Minutes](https://www.youtube.com/watch?v=lL_j7ilk7rc)
- [@article@What is Microservices Architecture?](https://cloud.google.com/learn/what-is-microservices-architecture) - [@article@What is Microservices Architecture?](https://cloud.google.com/learn/what-is-microservices-architecture)
- [@article@Microservice Architecture Style](https://learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles/microservices) - [@article@Microservice Architecture Style](https://learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles/microservices)

@ -4,6 +4,7 @@ OAuth 2.0 is an authorization framework that allows applications to obtain limit
Learn more from the following resources: Learn more from the following resources:
- [@roadmap@OAuth](https://roadmap.sh/guides/oauth)
- [@official@OAuth Website](https://oauth.net/2/) - [@official@OAuth Website](https://oauth.net/2/)
- [@article@What is OAuth 2.0?](https://auth0.com/intro-to-iam/what-is-oauth-2) - [@official@What is OAuth 2.0?](https://auth0.com/intro-to-iam/what-is-oauth-2)
- [@video@OAuth 2 Explained In Simple Terms](https://www.youtube.com/watch?v=ZV5yTm4pT8g) - [@video@OAuth 2 Explained In Simple Terms](https://www.youtube.com/watch?v=ZV5yTm4pT8g)

@ -5,4 +5,4 @@ API Design performance metrics play a critical role in ensuring APIs are efficie
Learn more from the following resources: Learn more from the following resources:
- [@article@API Performance Monitoring](https://www.catchpoint.com/api-monitoring-tools/api-performance-monitoring) - [@article@API Performance Monitoring](https://www.catchpoint.com/api-monitoring-tools/api-performance-monitoring)
- [@article@How does API monitoring improve API performance?](https://tyk.io/blog/api-product-metrics-what-you-need-to-know/) - [@article@How does API Monitoring Improves API Performance?](https://tyk.io/blog/api-product-metrics-what-you-need-to-know/)

@ -5,4 +5,5 @@ Postman is a popular tool in web development for designing, testing, and managin
Learn more from the following resources: Learn more from the following resources:
- [@official@Postman Website](https://www.postman.com/) - [@official@Postman Website](https://www.postman.com/)
- [@video@Postman Api Testing Tutorial for beginners](https://www.youtube.com/watch?v=MFxk5BZulVU) - [@official@Postman Docs](https://www.postman.com/api-documentation-tool/)
- [@video@Postman Tutorial for Beginners](https://www.youtube.com/watch?v=MFxk5BZulVU)

@ -4,5 +4,5 @@ Profiling and monitoring are critical aspects of API design and implementation.
Learn more from the following resources: Learn more from the following resources:
- [@article@Monitor health and performance of your APIs](https://learning.postman.com/docs/monitoring-your-api/intro-monitors/) - [@article@Monitor Health and Performance of your APIs](https://learning.postman.com/docs/monitoring-your-api/intro-monitors/)
- [@article@API profiling at Pintrest](https://medium.com/pinterest-engineering/api-profiling-at-pinterest-6fa9333b4961) - [@article@API profiling at Pintrest](https://medium.com/pinterest-engineering/api-profiling-at-pinterest-6fa9333b4961)

@ -1,8 +1,6 @@
# RabbitMQ in API Design # RabbitMQ in API Design
RabbitMQ is an open-source message-broker software/system that plays a crucial role in API design, specifically in facilitating effective and efficient inter-process communication. It implements the Advanced Message Queuing Protocol (AMQP) to enable secure and reliable data transmission in various formats such as text, binary, or serialized objects. RabbitMQ is an open-source message-broker software/system that plays a crucial role in API design, specifically in facilitating effective and efficient inter-process communication. It implements the Advanced Message Queuing Protocol (AMQP) to enable secure and reliable data transmission in various formats such as text, binary, or serialized objects. RabbitMQ comes in handy in decoupling application processes for scalability and robustness, whilst ensuring that data delivery occurs safely and seamlessly. It introduces queuing as a way of handling multiple users or service calls at once hence enhancing responsiveness and performance of APIs. Its queue system elegantly digests API request loads, allowing services to evenly process data while preventing overloading.
In API design, RabbitMQ comes in handy in decoupling application processes for scalability and robustness, whilst ensuring that data delivery occurs safely and seamlessly. It introduces queuing as a way of handling multiple users or service calls at once hence enhancing responsiveness and performance of APIs. Its queue system elegantly digests API request loads, allowing services to evenly process data while preventing overloading.
Learn more from the following resources: Learn more from the following resources:

@ -4,5 +4,5 @@ Readme.com is an invaluable tool in the realm of API Design, renowned for provid
Learn more from the following resources: Learn more from the following resources:
- [@official@readme.com](https://readme.com) - [@official@ReadMe Website](https://readme.com)
- [@opensource@readmeio](https://github.com/readmeio) - [@opensource@ReadMe](https://github.com/orgs/readmeio/repositories?type=source)

@ -5,5 +5,5 @@ Role-Based Access Control (RBAC) is a method of managing authorization in API de
Learn more from the following resources: Learn more from the following resources:
- [@article@Role-Based Access Control](https://auth0.com/docs/manage-users/access-control/rbac) - [@article@Role-Based Access Control](https://auth0.com/docs/manage-users/access-control/rbac)
- [@article@What is role-based access control (RBAC)?](https://www.redhat.com/en/topics/security/what-is-role-based-access-control) - [@article@What is Role-based Access Control (RBAC)?](https://www.redhat.com/en/topics/security/what-is-role-based-access-control)
- [@video@Role-based access control (RBAC) vs. Attribute-based access control (ABAC)](https://www.youtube.com/watch?v=rvZ35YW4t5k) - [@video@Role-based Access Control (RBAC) vs. Attribute-based Access Control (ABAC)](https://www.youtube.com/watch?v=rvZ35YW4t5k)

@ -8,6 +8,6 @@ Understanding Session Based Authentication is crucial for secure API design, esp
Learn more from the following resources: Learn more from the following resources:
- [@official@Session Based Authentication - Roadmap.sh](https://roadmap.sh/guides/session-based-authentication) - [@roadmap@Session Based Authentication](https://roadmap.sh/guides/session-based-authentication)
- [@video@Session Based Authentication - Roadmap.sh](https://www.youtube.com/watch?v=gKkBEOq_shs) - [@video@Session Based Authentication - Roadmap.sh](https://www.youtube.com/watch?v=gKkBEOq_shs)
- [@article@Session vs Token Authentication](https://www.authgear.com/post/session-vs-token-authentication) - [@article@Session vs Token Authentication](https://www.authgear.com/post/session-vs-token-authentication)

@ -4,5 +4,5 @@ Simple JSON (JavaScript Object Notation) APIs are a popular form of API or "Appl
Learn more from the following resources: Learn more from the following resources:
- [@video@JSON API: Explained in 4 minutes (+ EXAMPLES)](https://www.youtube.com/watch?v=N-4prIh7t38) - [@video@JSON API: Explained in 4 Minutes](https://www.youtube.com/watch?v=N-4prIh7t38)
- [@opensource@A specification for building JSON APIs](https://github.com/json-api/json-api) - [@opensource@Specification for Building JSON APIs](https://github.com/json-api/json-api)

@ -1,13 +1,9 @@
# Standards and Compliance in API Design # Standards and Compliance in API Design
When designing APIs, it's crucial to consider the concept of standards and compliance. Standards represent the set of rules and best practices that guide developers to create well-structured and easily maintainable APIs. They can range from the proper structure of the endpoints, the standardization of error responses, to naming conventions, and the usage of HTTP verbs. When designing APIs, it's crucial to consider the concept of standards and compliance. Standards represent the set of rules and best practices that guide developers to create well-structured and easily maintainable APIs. They can range from the proper structure of the endpoints, the standardization of error responses, to naming conventions, and the usage of HTTP verbs. Compliance on the other hand, emphasizes on meeting protocol requirements or standards such as REST or SOAP. Furthermore, operating within regulated industries can also necessitate certain compliance measures like GDPR, HIPAA and others. Compliance in API Design ensures interoperability and safety of data transmission between systems.
Compliance on the other hand, emphasizes on meeting protocol requirements or standards such as REST or SOAP. Furthermore, operating within regulated industries can also necessitate certain compliance measures like GDPR, HIPAA and others. Compliance in API Design ensures interoperability and safety of data transmission between systems.
In essence, Standards and Compliance in API Design contributes towards building more secure, robust, and efficient APIs that are user-friendly and universally understandable.
Learn more from the following resources: Learn more from the following resources:
- [@article@What is API compliance?](https://tyk.io/learning-center/api-compliance/) - [@article@What is API Compliance?](https://tyk.io/learning-center/api-compliance/)
- [@article@What is API compliance and why is it important?](https://www.traceable.ai/blog-post/achieve-api-compliance) - [@article@What is API Compliance and Why is it important?](https://www.traceable.ai/blog-post/achieve-api-compliance)
- [@article@REST API standards](https://www.integrate.io/blog/rest-api-standards/) - [@article@REST API Standards](https://www.integrate.io/blog/rest-api-standards/)

@ -5,5 +5,5 @@ Swagger, also known as OpenAPI (not to be confused with OpenAI), is a set of too
Learn more from the following resources: Learn more from the following resources:
- [@official@Swagger Website](https://swagger.io/) - [@official@Swagger Website](https://swagger.io/)
- [@article@What is Swagger?](https://blog.hubspot.com/website/what-is-swagger) - [@official@OpenAPI Inititive](https://www.openapis.org/)
- [@official@OpenAPI Inititive](https://www.openapis.org/) - [@article@What is Swagger?](https://blog.hubspot.com/website/what-is-swagger)

@ -4,6 +4,6 @@ Token-based authentication is a crucial aspect of API design. It involves provid
Learn more from the following resources: Learn more from the following resources:
- [@roadmap@Token Based Authentication](https://roadmap.sh/guides/token-authentication)
- [@article@What Is Token-Based Authentication?](https://www.okta.com/uk/identity-101/what-is-token-based-authentication/) - [@article@What Is Token-Based Authentication?](https://www.okta.com/uk/identity-101/what-is-token-based-authentication/)
- [@video@Session vs Token Authentication in 100 Seconds](https://www.youtube.com/watch?v=UBUNrFtufWo) - [@video@Session vs Token Authentication in 100 Seconds](https://www.youtube.com/watch?v=UBUNrFtufWo)
- [@video@Token based auth](https://www.youtube.com/watch?v=woNZJMSNbuo)

@ -4,5 +4,5 @@ URI (Uniform Resource Identifier) is a string of characters used to identify a n
Learn more from the following resources: Learn more from the following resources:
- [@article@Guidelines for URI design](https://css-tricks.com/guidelines-for-uri-design/) - [@article@Guidelines for URI Design](https://css-tricks.com/guidelines-for-uri-design/)
- [@article@Designing URIs](https://www.oreilly.com/library/view/restful-web-services/9780596809140/ch04.html) - [@article@Designing URIs](https://www.oreilly.com/library/view/restful-web-services/9780596809140/ch04.html)

@ -6,4 +6,4 @@ Learn more from the following resources:
- [@article@Understanding Path Variables and Query Parameters in HTTP Requests](https://medium.com/@averydcs/understanding-path-variables-and-query-parameters-in-http-requests-232248b71a8) - [@article@Understanding Path Variables and Query Parameters in HTTP Requests](https://medium.com/@averydcs/understanding-path-variables-and-query-parameters-in-http-requests-232248b71a8)
- [@article@Describing parameters](https://swagger.io/docs/specification/describing-parameters/) - [@article@Describing parameters](https://swagger.io/docs/specification/describing-parameters/)
- [@article@Path parameters](https://help.iot-x.com/api/how-to-use-the-api/parameters/path-parameters) - [@article@Path Parameters](https://help.iot-x.com/api/how-to-use-the-api/parameters/path-parameters)

@ -4,6 +4,6 @@ API Versioning is a critical component of API Design and Management. As the APIs
Learn more from the following resources: Learn more from the following resources:
- [@article@What is API versioning?](https://www.postman.com/api-platform/api-versioning/) - [@article@What is API Versioning?](https://www.postman.com/api-platform/api-versioning/)
- [@article@4 API versioning best practices](https://kodekloud.com/blog/api-versioning-best-practices/) - [@article@API Versioning Best Practices](https://kodekloud.com/blog/api-versioning-best-practices/)
- [@video@Versioning your APIs](https://www.youtube.com/watch?v=Np_Jr6AvCOc) - [@video@Versioning your APIs](https://www.youtube.com/watch?v=Np_Jr6AvCOc)

@ -5,5 +5,5 @@ Web Sockets provide a long-lived connection between a client and a server over w
Learn more from the following resources: Learn more from the following resources:
- [@article@The WebSocket API (WebSockets)](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) - [@article@The WebSocket API (WebSockets)](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API)
- [@article@What are websockets?](https://www.pubnub.com/guides/websockets/) - [@article@What are Web Sockets?](https://www.pubnub.com/guides/websockets/)
- [@video@How web sockets work](https://www.youtube.com/watch?v=pnj3Jbho5Ck) - [@video@How Web Sockets Work](https://www.youtube.com/watch?v=pnj3Jbho5Ck)

@ -4,5 +4,7 @@ APIs, or Application Programming Interfaces, provide a manner in which software
Visit the following resources to learn more: Visit the following resources to learn more:
- [@article@What is an API?](https://aws.amazon.com/what-is/api/) - [@article@Getting Started with APIs - Postman](https://www.postman.com/what-is-an-api/)
- [@article@API - IBM](https://www.ibm.com/topics/api)
- [@article@What is an API? - AWS](https://aws.amazon.com/what-is/api/)
- [@video@What is an API?](https://www.youtube.com/watch?v=s7wmiS2mSXY) - [@video@What is an API?](https://www.youtube.com/watch?v=s7wmiS2mSXY)

Loading…
Cancel
Save