What is Retrofit for Flutter and how does it work?
TL;DR: Retrofit (retrofit.dart) uses annotations and build_runner to generate type-safe Dio-based API clients from an abstract class definition. You declare endpoints as method signatures; the generator writes the implementation.
Full Answer
Retrofit eliminates the boilerplate of writing dio.get('/path'), handling response, and casting types for every endpoint.
Define an abstract class, annotate methods with @GET, @POST, etc., and run build_runner. The generated class handles all Dio calls, JSON mapping, and path parameters.
Retrofit works alongside json_serializable or Freezed. Model your response types with those libraries and Retrofit handles the network layer.
Code Examples
// Generated _ApiClient handles all Dio calls // Type-safe, no manual path string construction
Common Mistakes
- ✗Not running build_runner after changing method signatures
- ✗Forgetting @Body() on POST methods — the body won't be sent
Interview Tip
Retrofit is the Flutter equivalent of Retrofit for Android or OpenAPI-generated clients. Show you know it builds on Dio and json_serializable, not a standalone solution.