ocwebservice

Last updated:

0 purchases

ocwebservice Image
ocwebservice Images
Add to Cart

Description:

ocwebservice

ocwebservice #
Flutter API calling package
Getting Started #
Add Package into your project #

dependencies:
ocwebservice: ^0.0.1
copied to clipboard
Basic api response structure #
//Suppose a URL(http://www.mysimple.com/api/sayhello) return bellow response.
{
"success": true,
"message": "request successful",
"data": {
"email": "[email protected]",
"name": "JOWEL"
}
}
// This is basic structure for API response, data can be a list or dictionary.
copied to clipboard
Code Example #
First create a model class
class SimpleModel {
String name;
String email;

SimpleModel({this.name,this.email});

//Create Factory method for make instance from Dic
factory SimpleModel.fromJson(Map<String,dynamic> dic) {
return SimpleModel(name: dic['name', email: dic['email']]);
}
}
copied to clipboard
Next, create APIResponse class . For that every api response class need to extends OCAPIResponse
//when data is a List of Dictionary/map
class SimpleAPIResponse extends OCAPIResponse<List<SimpleModel>> {
@override
List<SimpleModel> convertDataToModel(data) {
// here data is now a list of map
List<SimpleModel> simpleModelList = List<SimpleModel>();
List<dynamic> dataList = data;
// so, let's cast it & loop through the map
// convert the map into SimpleModel object & Add into list
dataList.forEach((element){
simpleModelList.add(SimpleModel.fromJson(data));
});

return simpleModelList; //
}
}

//when data is a Dictionary/map
class SimpleAPIResponse extends OCAPIResponse<SimpleModel> {
@override
SimpleModel convertDataToModel(data) {
// create model instance from data and return model instance
return SimpleModel.fromJson(data); // in api response , data is Dictionary.
// It can be a list also
}
}
copied to clipboard
Now let's create an API EndPoint for (http://www.mysimple.com/api/sayhello) url. Here,
'http://www.mysimple.com/api/' this is base api url
'sayhello' is path
A standard structure of EndPoint be path, requestType, body params if post request, headers
Let's see How can we make a OCEndPoint instance for sayhello api.
OCEndPoint sayHelloEndPoint = OCEndPoint(path: "sayhello",requestType: OCRequestType.POST,needAuth: false);
//It has few more parameters, Please check OCEndPoint class
copied to clipboard
Final step is to make a OCWebService instance by passing endpoint & api response instance
Call OCwebService fetch() method for extecute the request . fetch is Future class so, you can use it
directly in FutureWidget . You will get your mode data by ocwebservice.response.model
this model is actually the model you have passed in repose class
void test() async {

OCWebService<OCEndPoint, SimpleAPIResponse> sayHelloWebService = makeOCWebService<SimpleAPIResponse>(sayHelloEndPoint, SimpleAPIResponse());
//Call fetch method for start network request
await sayHelloWebService.fetch();
//Your model class instance you will get
sayHelloWebService.response.model.email; // SimpleModel
sayHelloWebService.response; //message, success you will get from here

}
copied to clipboard

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.