skip to Main Content

How to make api class where api response start with array ?
Api Response :-

             [
               {
                 "reqList": [
                              {
                                "_id": "123448478478",
                                "username": "12345",
                                "amount": 4100
                              },
                            ],
                  "_id": "636e2c5cf0142eed68343335",
                  "username": "umesh-rajput",
                  "amount": 95
                 }
              ]

2

Answers


  1. Chosen as BEST ANSWER
    Future<List<MODEL NAME>> getAllBetNotification() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    var token = prefs.getString('userToken');
    url = 'API URL';
    var response = await http.get(Uri.parse(url), headers: {
    'Authorization': 'YOUR TOKEN',
      });
     if (response.statusCode == 200 || response.statusCode == 201) {
     // print(response.body);
     var list1 = (jsonDecode(response.body) as List)
        .map((dynamic i) =>
            UserNotificationModel.fromJson(i as Map<String, dynamic>))
        .toList();
     return list1;
      } else {
       print('do not send notification');
       return [];
           } 
      }
    

  2. We can handle this response as a list of individual JSON objects inside the response array.

    This is general Pseudo code.

    class DataProvider{
       List<YourModel> getDate(String URL) async {
       var response = await http.get(url);
       if(resonse.statuscode == 200)
       {
        var List<YourModel> modelList = 
              response.body.map((jsonObject)=>YourModel.toJson(jsonObject);
       );
        return modelList;
       }
        return [];
      }
    }
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search