Home > Blockchain >  Common method for flutter api calls
Common method for flutter api calls

Time:10-25

Is there any example that I can refer to about Common class/method for flutter API calls(GET,POST,...) in flutter? I have handled all the API requests in a common method in react native, I'm not sure how to implement it in flutter.

CodePudding user response:

You can create a class to handle it. For example, this is my class to handle all service for user model

import 'package:http/http.dart' as http;

class UserService {
  var baseUrl = URL.devAddress;

  Future<User> getUser() async {
    final response = await http.get(
        Uri.parse(baseUrl   "user/1")
    );
    if (response.statusCode == 200) {
      final data = json.decode(response.body);
      return data
    } else {
      throw Exception("Failed");
    }
  }
}

CodePudding user response:

you have to call getRequest using url parameter

Future<Response> getRequest(String url) async {
    Response response;
    try {
      response = await _dio.get(url,
          options: Options(headers: {
            HttpHeaders.authorizationHeader:
                'Bearer $accessToken'
          }));
      print('response $response');
    } on DioError catch (e) {
      print(e.message);
      throw Exception(e.message);
    }
    return response;
  }

here is the post method

Future<Response> posRequestImage(String url, data) async {

    try {
      response = await _dio.post(
        url,
        data: formData,
        options: Options(headers: {
          HttpHeaders.authorizationHeader:
              'Bearer $accessToken'
        }),
      );
      if (response.statusCode == 200) {
        return response;
      }
      print('post response $response');
    } on DioError catch (e) {
      print(e.message);
      throw Exception(e.response?.statusMessage);
    }
    return response;
  }
  • Related