flash_api 0.0.5 copy "flash_api: ^0.0.5" to clipboard
flash_api: ^0.0.5 copied to clipboard

This is an api call plugin.

example/lib/main.dart

import 'dart:developer';

import 'package:flash_api/flash_api.dart';
import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  List datas = [];
  bool err = false;
  bool load = true;

  // Get liste of data
  get_data() async {
    var res = await apiGet('posts');

    setState(() {
      if (res['status'] == 200) {
        datas = res['data'].data;
        load = false;
      } else {
        setState(() {
          err = true;
          load = false;
        });
      }
    });
  }

  post_data() async {
    var data = await apiPost('posts', {'data1': "Data"});
    print(data);
  }

  delete_data() async {
    var data = await apiDelete('posts/1');
    print(data);
  }

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    get_data();
    post_data();
    delete_data();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        debugShowCheckedModeBanner: false,
        home: Scaffold(
            appBar: AppBar(
              title: const Text('Api Text'),
            ),
            body: load
                ? const Center(
                    child: CircularProgressIndicator(),
                  )
                : err
                    ? Center(
                        child: Column(
                          mainAxisAlignment: MainAxisAlignment.center,
                          children: const [
                            Icon(
                              Icons.warning,
                              color: Colors.amber,
                            ),
                            Text("Une erreure est survenue"),
                          ],
                        ),
                      )
                    : ListView.builder(
                        padding: const EdgeInsets.all(8),
                        itemCount: datas.length,
                        itemBuilder: (BuildContext context, int index) {
                          var data = datas[index];
                          return Card(
                            child: Padding(
                              padding: const EdgeInsets.all(8.0),
                              child: ListTile(
                                leading: CircleAvatar(
                                  backgroundColor: Colors.blue,
                                  radius:
                                      MediaQuery.of(context).size.width / 15,
                                ),
                                title: Text(
                                  "${data['title']} ...",
                                  maxLines: 1,
                                ),
                                subtitle: Text(
                                  data['body'],
                                  maxLines: 3,
                                ),
                              ),
                            ),
                          );
                        })));
  }
}
1
likes
110
pub points
37%
popularity

Publisher

unverified uploader

This is an api call plugin.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

dio, flutter, plugin_platform_interface

More

Packages that depend on flash_api