연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
api_manager 
A simple flutter API to manage rest api request easily with the help of flutter dio.
Get started
Install
Add dependency

dependencies:
api_manager: $latest_version
Super simple to use
import 'package:api_manager/api_manager.dart';
void main() async {
ApiResponse response = await ApiManager().request(
requestType: RequestType.GET,
route: "your route",
);
print(response);
}
Config in a base manager
class ApiRepository {
static final ApiRepository _instance = ApiRepository._internal();
ApiManager _apiManager;
factory ApiRepository() {
return _instance;
}
ApiRepository._internal() {
_apiManager = ApiManager();
_apiManager.options.baseUrl = BASE_URL;
_apiManager.options.connectTimeout = 100000;
_apiManager.options.receiveTimeout = 100000;
_apiManager.responseBodyWrapper('data');
_apiManager.enableLogging(responseBody: true, requestBody: false);
_apiManager.enableAuthTokenCheck(() => "access_token");
}
}
Examples
Suppose we have a response model like this:
class SampleResponse{
String name;
int id;
SampleResponse.fromJson(jsonMap):
this.name = jsonMap['name'],
this.id = jsonMap['id'];
}
and actual api response json structure is:
{
"data": {
"name": "md afratul kaoser taohid",
"id": "id"
}
}
#Now we Performing a GET request :
Future<ApiResponse<SampleResponse>> getRequestSample() async =>
await _apiManager.request<SampleResponse>(
requestType: RequestType.GET,
route: 'api_route',
requestParams: {"userId": 12},
isAuthRequired: true,
responseBodySerializer: (jsonMap) {
return SampleResponse.fromJson(jsonMap);
},
);
#Now we Performing a POST request :
Future<ApiResponse<SampleResponse>> postRequestSample() async =>
await _apiManager.request<SampleResponse>(
requestType: RequestType.POST,
route: 'api_route',
requestBody: {"userId": 12},
isAuthRequired: true,
responseBodySerializer: (jsonMap) {
return SampleResponse.fromJson(jsonMap);
},
);
#Now er performing a multipart file upload request :
Future<ApiResponse<void>> updateProfilePicture(
String filePath,
) async {
MultipartFile multipartFile =
await _apiManager.getMultipartFileData(filePath);
FormData formData = FormData.fromMap({'picture': multipartFile});
return await _apiManager.request(
requestType: RequestType.POST,
isAuthRequired: true,
requestBody: formData,
route: 'api_route',
);
}