To create a simple endpoint in FastAPI that returns a list of users, you’d define a list of user dictionaries, then create a GET route using the @app.get decorator. This route would return the list serialized as JSON when accessed.
In depth
In FastAPI, defining an endpoint is straightforward due to its intuitive syntax and built-in support for data validation and serialization. You start by using the FastAPI class to create an instance of your application. Then, you define a list of users, which could be represented as dictionaries containing fields like 'id' and 'name'. The @app.get decorator is used to specify that this endpoint responds to HTTP GET requests. This route automatically converts the Python list to JSON format when returning the response. It's crucial to ensure that the data returned is serializable; otherwise, you might encounter errors. Handling other HTTP methods and incorporating dependency injection for more complex use cases can also enhance your API's functionality.
Example scenario
Imagine you're building a simple user management service where you need to provide a list of users to a frontend application. You could define a FastAPI endpoint called '/users' that returns a hardcoded list of user dictionaries, each containing fields like 'user_id' and 'username'. When a client makes a GET request to this endpoint, it would receive a JSON response with all user details, which the frontend can then display in a user interface. This example illustrates how easily FastAPI can serve data to client applications.
Common mistakes
One common mistake is not returning the data in the proper JSON format. FastAPI automatically handles serialization, but if you try to return non-serializable objects (like custom class instances without a proper serialization method), it will lead to errors. Another mistake is neglecting to specify the correct HTTP methods, as using a POST method for a retrieval operation could confuse clients about the endpoint's purpose. Developers sometimes also forget to include appropriate response models for clarity, which can make the API harder to understand.
Follow-up questions
- What are some ways to enhance this endpoint to support query parameters for filtering users?
- Can you explain how to implement error handling in FastAPI endpoints?
- How would you add authentication to this endpoint?
- What tools or libraries could you use to test your FastAPI application?

Want all 2,000 questions in one PDF?
- Short answers, in-depth explanations, common mistakes and follow-ups
- 89 topics, from Beginner to Architect, with a clickable contents list
- 226 extra questions that are not on this website
- Free Bonus Pack: 30-day study plan, behavioral questions, salary scripts
Includes 226 extra questions that are not on this site, plus a free Bonus Pack.
Get both books for $9.99 (save $2.99):
The material stays free to read online. This is the organised, offline, print-ready PDF edition. Secure payment by PayPal; your personal download link is emailed after payment is confirmed. Digital product, no shipping.