DEV Community

Kanhaiya Banjara
Kanhaiya Banjara

Posted on

⚑API Quick Reference⚑

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.

Top comments (1)

Collapse
 
patrick_61cbc6392b72286f6 profile image
Patrick

Your posts are consistently informative! The way you break down complex API design concepts has helped me a lot. In fact, I’ve begun using EchoAPI, and it’s been a game changer in simplifying my design process.