Lección 33: Implementación del Servicio Web (API)
Toda aplicación móvil que necesita obtener datos de un servidor web debe conectarse a este y realizar los procesos necesarios. En este escenario nos ayuda una arquitectura llamada API Res o Servicios Web. La cual puede ser implementanda muy fácilmente con Laravel.
Pero que pasa si queremos usarla desde Flutter. Pues es simple debemos crear una estructura que permite resolver la lectura de datos JSON y permitirnos parsearlo para poder usarlo correctamente.
DIcho hecho vamos a crear nuestro archivo de servicio.
Código completo de api/Api.dart
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:http/http.dart' as http;
class ServicioApi{
final String _url = "http://arequipalocal.com/api/";
postData(data, apiUrl) async {
var _fullUrl = _url+apiUrl + await _getToken();
return await http.post(
_fullUrl,
body: jsonEncode(data),
headers:_setHeaders()
);
}
getData(apiUrl) async {
var _fullUrl = _url+apiUrl + await _getToken();
return await http.get(
_fullUrl,
headers:_setHeaders()
);
}
_getToken() async{
SharedPreferences _sesion = await SharedPreferences.getInstance();
var _token = _sesion.getString('token');
return '?token=$_token';
}
_setHeaders() => {
'Content-type' : 'application/json',
'Accept':'application/json'
};
}
1843 visitas