API's Flashcards
(7 cards)
1
Q
Definition of API
A
An API is a set of rules and protocols that allows different software applications to communicate with each other
2
Q
Types of APIs:
A
- Public: Openly available for any developers.
- Private: Restricted for internal use within an organization.
- Partner: Shared with specific partners.
- Composite APIs: Combine multiple APIs into one, allowing complex operations to be executed with a single call.
3
Q
API Architectures
A
- REST: Representational State Transfer, a widely-used architectural style leveraging standard HTTP methods.
- GraphQL: A query language for APIs allowing clients to specify exactly what data they need.
- SOAP: Simple Object Access Protocol, a protocol for exchanging structured information.
- gRPC: A high-performance RPC framework using HTTP/2.
- WebSockets: Enables real-time, two-way communication between client and server.
- Webhooks: Allow servers to send callbacks to clients when events occur.
- AMQP: Advanced Message Queuing Protocol for messaging.
- MQTT: Lightweight messaging protocol for small sensors and devices.
4
Q
API Security
A
- Authentication: Verifies the identity of a user or application.
- OAuth: Standard for token-based authorization.
- JWT: JSON Web Tokens for secure data transmission.
- Basic Authentication: Uses username and password.
- Rate Limiting: Controls the number of API calls a client can make in a certain time.
- Encryption: Secures data in transit using protocols like TLS/SSL.
- Authorization: Ensures that authenticated users have permission to perform specific actions.
5
Q
Principles to create robust APIs
A
- RESTful Conventions: Following REST principles for resource design.
- Versioning: Managing API updates without breaking existing clients.
- Pagination: Handling large data sets efficiently.
- HATEOAS: Hypermedia as the engine of application state, guiding clients through available actions
6
Q
API Documentation
💡Guides developers on how to use APIs:
A
- Swagger: OpenAPI specification, a powerful tool for API documentation.
- Postman: Platform for testing APIs.
- OpenAPI Specification: Standard that defines how APIs should be described.
- Redoc: API documentation generator.
7
Q
API Testing
A
- Postman: For manual and automated testing.
- SoapUI: Testing SOAP and REST APIs.
- Katalon Studio: Automation testing.
- Insomnia: REST client for debugging APIs.
- JMeter: Performance testing.
- Pact: Consumer-driven contract testing.
- Karate: API testing automation.
- Rest-Assured: Java library for testing REST services.
- Newman: CLI agent for Postman collections.
- Cypress: End-to-end testing.