Useful Links
Computer Science
Web Development
Flask Web Development
1. Introduction to Flask
2. Setting Up the Development Environment
3. Your First Flask Application
4. Core Flask Concepts
5. Templates with Jinja2
6. Web Forms with Flask-WTF
7. Database Integration with SQLAlchemy
8. Structuring Larger Applications
9. User Authentication and Authorization
10. Building RESTful APIs
11. Error Handling and Logging
12. Testing Flask Applications
13. Advanced Flask Topics
14. Deployment and Production
Building RESTful APIs
REST Architecture Principles
Representational State Transfer
Resource-Oriented Design
Stateless Communication
Uniform Interface
Client-Server Architecture
Cacheability
Layered System
HTTP Methods in REST
GET for Resource Retrieval
POST for Resource Creation
PUT for Resource Updates
PATCH for Partial Updates
DELETE for Resource Removal
OPTIONS for Metadata
HEAD for Headers Only
API Design Principles
Resource Naming Conventions
URL Structure
HTTP Status Codes
Success Codes (2xx)
Client Error Codes (4xx)
Server Error Codes (5xx)
Content Negotiation
API Versioning
Creating API Endpoints
Defining API Routes
Resource Collections vs Individual Resources
Nested Resources
Query Parameters
Filtering and Searching
Sorting and Ordering
Pagination
Request and Response Handling
JSON Request Processing
Request Validation
Schema Validation
Data Type Validation
Required Field Validation
Error Handling
Validation Errors
Not Found Errors
Server Errors
Response Formatting
JSON Responses
Response Structure
Metadata Inclusion
Data Serialization
Manual Serialization
Serialization Libraries
Marshmallow
Flask-RESTful
Custom Serialization Methods
Handling Complex Data Types
Dates and Times
Relationships
File Data
API Authentication and Security
Token-Based Authentication
API Keys
Bearer Tokens
JWT Tokens
Authentication Headers
Rate Limiting
CORS (Cross-Origin Resource Sharing)
Input Sanitization
API Documentation
Documentation Standards
OpenAPI/Swagger
API Documentation Tools
Interactive Documentation
API Testing
Unit Testing APIs
Integration Testing
API Client Testing
Automated Testing Tools
Previous
9. User Authentication and Authorization
Go to top
Next
11. Error Handling and Logging