🌿 API Quick Reference
✨ HTTP Verbs
GET
🟠 GET: Retrieve data from the server.
POST
🟢 POST: Send data to the server to create a resource.
PUT
🔵 PUT: Send data to the server to update a resource.
DELETE
🔴 DELETE: Delete a resource from the server.
PATCH
🟠 PATCH: Send data to the server to update a resource partially.
TRACE
🟠 TRACE: Returns the full HTTP Request received by the server for debugging.
OPTIONS
🟠 OPTIONS: Returns the HTTP methods supported by the server for the request URL.
CONNECT
🟠 CONNECT: Converts the request connection to a transparent TCP/IP tunnel for secure communication.
PURGE
🟡 PURGE: Invalidates a cached resource.
LOCK
🟡 LOCK: Locks the resource for exclusive use by the client.
UNLOCK
🟡 UNLOCK: Unlocks the resource previously locked by the client.
MKCOL
🟠 MKCOL: Creates a new collection resource.
COPY
🟠 COPY: Copies the resource identified by the request-URI to the destination URI.
✨ HTTP Status Codes
Informational
- 100: Informational.
Success
- 200: Success.
Redirection
- 300: Redirection.
Client Errors
- 400: Client errors.
Server Errors
- 500: Server errors.
✨ Response Headers
Content-type
🟠 Content-type: Specifies the MIME type of the data in the response body.
Content-length
🟠 Content-length: Specifies the length of the response body in bytes.
Cache-control
🟠 Cache-control: Specifies the caching behavior of the response.
Location
🟠 Location: Specifies the URI of a resource to retrieve the request resource.
Server
🟠 Server: Name and version of the server software generating the response.
Access-control-allow-origin
🟠 Access-control-allow-origin: Which origins are allowed to access the resource.
Set-cookie
🟠 Set-cookie: Specifies a cookie to be stored by the client and sent back with future requests.
Expires
🟠 Expires: Date/time after which the response is considered stale.
Last-modified
🟠 Last-modified: Date/time that the resource was last modified.
✨ API Design
REST
🟠 REST: Representational State Transfer, a design pattern for building web services.
SOAP
🟠 SOAP: Simple Object Access Protocol, a messaging protocol for exchanging structured data.
GraphQL
🟠 GraphQL: A query language and runtime for building APIs.
API Gateway
🟠 API Gateway: A service that manages, protects, and scales APIs.
✨ API Architectures
SOA
🟠 SOA: Service-Oriented Architecture, a style for building distributed systems.
Microservices
🟠 Microservices: An architectural style for building applications as a suite of small independent services.
Serverless
🟠 Serverless: Cloud execution model where the provider manages infrastructure and resources automatically.
Event-Driven
🟠 Event-Driven: Flow of data between components is triggered by events.
RESTful API
🟠 RESTful API: Uses HTTP requests to GET, POST, PUT, and DELETE data.
✨ API Design Patterns
Adapter Pattern
🟠 Adapter Pattern: Converts the interface of a class into another interface that clients expect.
Decorator Pattern
🟠 Decorator Pattern: Adds behaviors to an individual object dynamically.
Proxy Pattern
🟠 Proxy Pattern: Provides a surrogate or placeholder to control access to another object.
Chain of Responsibility
🟠 Chain of Responsibility Pattern: Delegates commands to a chain of processing objects.
Observer Pattern
🟠 Observer Pattern: Defines a one-to-many dependency between objects; dependents update automatically when the object changes.
✨ API Security
OAuth
🟠 OAuth: Open standard for authorization used for protecting APIs.
JWT
🟠 JWT: JSON Web Tokens, a standard for securely transmitting information between parties.
SSL/TLS
🟠 SSL/TLS: Protocol for establishing a secure connection between client and server.
API Key
🟠 API Key: Secret token limiting requests to an API over a period.
OpenID Connect
🟠 OpenID Connect: Authentication layer on top of OAuth for multi-domain user auth.
CORS
🟠 Cross-Origin Resource Sharing (CORS): Allows resources on a webpage to be requested from another domain.
✨ API Testing
Postman
🟠 Postman: Popular tool for testing and debugging APIs.
SoapUI
🟠 SoapUI: Tool for testing SOAP and REST web services.
Swagger
🟠 Swagger: Tool for designing, building, and testing APIs.
JMeter
🟠 JMeter: Tool for testing API performance.
TestRail
🟠 TestRail: Test management tool for planning, executing, and tracking API tests.
Dredd
🟠 Dredd: Command-line tool for testing API documentation against backend implementation.
REST Assured
🟠 REST Assured: Java-based library for testing RESTful APIs.
Karate DSL
🟠 Karate DSL: Testing framework for APIs using Gherkin syntax.
HttpMaster
🟠 HttpMaster: Tool for testing and debugging APIs.
Assertible
🟠 Assertible: Tool for testing and monitoring APIs with automated tests.