Regular Price: £480 Batch Price: From £480 📅 View Dates & Prices Group Booking Discount: From £300 per person 🧮 Calculate & Book 1-to-1 Training: £600 📋 Booking Request Form Course Overview API Development with Python & FastAPI is a practical 12-hour instructor-led course designed to teach Python developers how to build modern REST APIs and backend services using FastAPI. Participants will learn how to design API endpoints, work with HTTP requests and JSON, validate data with Pydantic, build CRUD operations, connect APIs to relational databases, handle errors, implement security, test endpoints and generate interactive API documentation automatically. The course follows the complete development lifecycle from building an API locally through to deploying it to the cloud. Through hands-on exercises and a practical project, learners will create a database-backed FastAPI application and make it available through a public HTTPS endpoint. Requirements Participants should have previous Python programming experience before joining this course. Learners should be comfortable with Python concepts such as variables, conditions, loops, functions, lists, dictionaries, modules, classes and exception handling. Basic SQL and relational database knowledge is helpful, particularly for the database section. Previous experience with FastAPI, REST APIs or cloud deployment is not required. We highly recommend you complete the following course(s) before attending the API Development with Python & FastAPI course: Python Programming for Beginners Python Intermediate to Advanced You may also complete the following course(s) before attending the API Development with Python & FastAPI course but they are not mandatory: SQL for Beginners SQL Intermediate to Advanced Git & GitHub for Developers Course Content Introduction to APIs & REST Understanding Application Programming Interfaces (APIs) Client-server architecture Understanding REST APIs Resources and endpoints Understanding HTTP requests and responses HTTP methods: GET, POST, PUT, PATCH and DELETE Common HTTP status codes Understanding JSON Designing clear and consistent API endpoints Getting Started with FastAPI Introduction to FastAPI Creating a FastAPI project Running an API with Uvicorn Creating routes and endpoints Using path parameters Using query parameters Returning JSON responses Understanding Python type hints in FastAPI Using automatic Swagger UI and OpenAPI documentation Request Bodies & Data Validation Receiving JSON request bodies Introduction to Pydantic models Defining request schemas Validating strings, numbers and other data types Required and optional fields Default values Using response models Understanding automatic validation errors Separating API schemas from application logic Building CRUD REST APIs Understanding Create, Read, Update and Delete operations Creating resources with POST Retrieving resources with GET Updating resources with PUT and PATCH Deleting resources with DELETE Working with resource IDs Returning appropriate HTTP status codes Designing consistent RESTful endpoints Database Integration Connecting FastAPI to a relational database Introduction to ORM concepts Using SQLModel or SQLAlchemy with FastAPI Creating database models and tables Creating and managing database sessions Reading records from a database Inserting new records Updating and deleting records Using SQLite for development Introduction to PostgreSQL for deployed applications Error Handling & API Design Handling missing resources Using HTTPException Returning meaningful error responses Validating business rules Understanding API response consistency Organising routes and application code Introduction to routers with APIRouter Separating API, database and business logic API Security & Authentication Understanding API security Authentication vs authorisation Introduction to API keys and bearer tokens Understanding OAuth2 and JWT at a practical level Protecting API endpoints Managing passwords securely Using environment variables for secrets Understanding CORS Avoiding sensitive information in source code Testing & API Documentation Testing endpoints using Swagger UI Testing APIs with an API client Understanding automated API testing Using FastAPI's test client Testing successful and unsuccessful requests Understanding OpenAPI Customising API metadata and documentation Testing database-backed endpoints Working with External APIs Calling third-party APIs from Python Sending HTTP requests Passing query parameters Working with headers Processing JSON responses Handling external API errors Using data from external services in your own API Deploying FastAPI to the Cloud Local development vs production deployment Preparing a FastAPI application for deployment Creating a requirements.txt file Using environment variables for configuration Storing the application in GitHub Deploying FastAPI to a cloud hosting platform Configuring the production start command Connecting to a hosted PostgreSQL database Accessing the API through a public HTTPS address Testing the deployed /docs interface Viewing deployment and application logs Updating and redeploying the application Practical FastAPI Project Design a real-world REST API Create request and response models Build CRUD endpoints Connect the API to a relational database Add validation and error handling Protect selected endpoints Test the API Review the automatically generated documentation Push the project to GitHub Deploy the API to the cloud Connect to a production database Test the live public API Course Dates, Prices & Enrolment All Training Physical Classes Virtual Classes UTC British Time (UK, Ireland, Iceland) Central European Time (France, Germany, Sweden) Eastern European Time (Finland, Cyprus) Eastern Time (New York, Toronto, Montreal) Central Time (Chicago, Houston, Winnipeg) Mountain Time (Calgary, Denver, Edmonton) Mountain Time (Phoenix) Pacific Time (Los Angeles, Seattle, Vancouver) Singapore Time Arabic Standard Time (Qatar, Saudi Arabia) Gulf Standard Time (UAE, Oman) Australian Eastern Time (Sydney, Melbourne) Australian Central Time (Adelaide) Western Australia Time (Perth) New Zealand Time China Standard Time (China, Taiwan, Hong Kong) Scroll right for more details There is no date for this course at this moment. Please complete the BOOKING REQUEST FORM below or come back to this page again later. Note: Online classes are usually delivered through Zoom video conferencing. Price Calculator & Booking Request Form Calculate prices for Corporate, 1-on-1 or group training and request a booking. Do you have a special training requirement or unable to find any suitable training date? Please complete and submit the booking request form, if you want to: book a course on different dates book for a group of delegates book corporate training book a customised training book a one-on-one training The price person is less when you book a course for more people. You can find the price per person and the total cost by changing the values of the training hours and the number of people below: How many hours? How many people? Total Cost Price per person Preferred Dates and Times Any other information