β‘API Quick Referenceβ‘
Kanhaiya Banjara
Posted on October 31, 2024
1. HTTP Verbs
β£ π GET : Retrieve data from the server
β£ π POST : Send data to the server to create a resource
β£ π PUT : Send data to the server to update a resource
β£ π PATCH : Send data to the server to update a resource partially
β£ π DELETE : Delete a resource from the server.
β£ π TRACE : Returns the full HTTP request received by the server for debugging and diagnostic purposes.
β£ π OPTIONS : Returns the HTTP methods supported by the server for the requested URL.
β£ π CONNECT : Converts the request connection to a transparent TCP/IP
tunnel for secure communication.
β£ π PURGE : Invalidates a cached resource.
β£ π LOCK : Locks the resource for exclusive use by the client.
β£ π UNLOCK : Unlocks the resource previously locked by the client.
β£ π MKCOL : Creates a new collection resource.
β£ π COPY : Copies the resource identified by the Request-URI to the destination URI.
2. HTTP Status Codes
β£ π¦1xx : Informational
β£ π¦2xx : Success
β£ π¦3xx : Redirection
β£ π¦4xx : Client Errors
β£ π¦5xx : Server Errors
3. Response Headers
β£ π Content-Type : Specifies the MIME type of the data in the response body.
β£ π Content-Length : Specifies the length of the response body in bytes.
β£ π Cache-Control : Specifies the caching behavior of the response.
β£ π Location : Specifies the URI of a resource that can be used to
retrieve the requested resource.
β£ π Server : Specifies the name and version of the server software that generated the response.
β£ π Access-Control-Allow-Origin : Specifies which origins are allowed to access the resource.
β£ π Set-Cookie : Specifies a cookie that should be stored by the client and sent back to the server with future requests.
β£ π Expires : Specifies the date and time after which the response is considered stale.
β£ π Last-Modified : Specifies the date and time the resource was last modified.
4. API Design
β£ π» REST : Representational State Transfer, a design pattern for
building web services.
β£ π» SOAP : Simple Object Access Protocol, a messaging protocol for
exchanging structured data.
β£ π» GraphQL : A query language and runtime for building APIs.
β£ π» API Gateway : A service that manages, protects, and scales APIs.
5. API Architectures
β£ π’ SOA : Service-Oriented Architecture, an architectural style for building distributed systems.
β£ π’ Microservices : An architectural style for building complex
applications as a suite of small, independent services.
β£ π’ Serverless : A cloud computing execution model where the cloud
provider manages the infrastructure and automatically allocates resources
as needed.
β£ π’ Event-Driven : An architectural style where the flow of data between components is triggered by events.
β£ π’ RESTful API : An architectural style that uses HTTP requests to GET, POST, PUT, and DELETE data.
6. API Design Patterns
⣠𧩠Adapter Pattern : A pattern that converts the interface of a class into another interface that clients expect.
⣠𧩠Decorator Pattern : A pattern that adds behavior to an individual object dynamically.
⣠𧩠Proxy Pattern : A pattern that provides a surrogate or placeholder for another object to control access to it.
⣠𧩠Chain of Responsibility Pattern : A pattern that delegates commands to a chain of processing objects.
⣠𧩠Observer Pattern : A pattern that defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
7. API Security
β£ π OAuth : An open standard for authorization used for protecting APIs.
β£ π JWT : JSON Web Tokens, a standard for securely transmitting
information between parties as a JSON object.
β£ π _ SSL/TLS_ : Secure Sockets Layer/Transport Layer Security, a protocol for establishing a secure connection between a client and a server.
β£ π API Key : A secret token used to authenticate API requests.
β£ π Rate Limiting : A technique used to limit the number of requests that can be made to an API over a specific period of time.
β£ π OpenID Connect : An authentication layer built on top of OAuth that allows users to be authenticated across multiple domains.
β£ π Cross-Origin Resource Sharing (CORS) : A mechanism that allows many resources (e.g., fonts, JavaScript, etc.) on a web page to be requested from another domain outside the domain from which the resource originated .
8. API Testing
β£ π§ͺ Postman : A popular tool for testing and debugging APIs.
β£ π§ͺ SoapUI : A tool for testing SOAP and REST web services.
β£ π§ͺ Swagger : A tool for designing, building, and testing APIs.
β£ π§ͺ _ JMeter_ : A tool for testing the performance of APIs.
β£ π§ͺ TestRail : A test management tool for planning, executing, and
tracking API tests.
β£ π§ͺ Dredd : A command-line tool for testing API documentation against its backend implementation.
β£ π§ͺ REST Assured : A Java-based library for testing RESTful APIs.
β£ π§ͺ Karate DSL : A testing framework for API testing using Gherkin syntax.
β£ π§ͺ HttpMaster : A tool for testing and debugging APIs.
β£ π§ͺ Assertible : A tool for testing and monitoring APIs with automated tests.
9. API Development
β£ π§π»βπ» Node.js : A JavaScript runtime for building server-side
applications.
β£ π§π»βπ» Express : A popular framework for building web applications and APIs with Node.js.
β£ π§π»βπ» Django : A Python web framework for building web applications and APIs.
β£ π§π»βπ» Flask : A lightweight Python web framework for building web
applications and APIs.
β£ π§π»βπ» Spring : A Java framework for building enterprise-level web
applications and APIs.
β£ π οΈ Swagger Editor : A tool for designing and documenting APIs using the OpenAPI specification.
β£ π οΈ _Postman _: A tool for testing and debugging APIs.
β£ π οΈ Insomnia : A tool for designing, testing, and debugging APIs.
β£ π οΈ Paw : A tool for designing and testing APIs on Mac OS.
β£ π οΈ API Blueprint : A high-level API description language for building RESTful APIs.
Posted on October 31, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.