1
resposta

[Projeto] Exercício 3: Enviando múltiplos produtos em uma requisição

Enviando múltiplos produtos em uma requisição Lista de Map

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

void main() {
  List<Map<String, dynamic>> newProducts = [
    {"id": 5, "name": "Teclado", "price": 200.00},
    {"id": 6, "name": "Mouse", "price": 100.00},
  ];
  sendMultipleProducts(newProducts, "Periféricos");
}

Future<void> sendMultipleProducts(
  List<Map<String, dynamic>> products,
  String nameList,
) async {
  String url = 'https://api.github.com/gists/33b84374a96cadc4e3aee103458e32fd';
  String chave = chave;

  Response response = await post(
    Uri.parse(url),
    headers: {
      'Authorization': 'Bearer $chave',
      'Content-Type': 'application/json',
    },
    body: 
      json.encode({
        'description': '$nameList',
        'public': true,
        'files': {
          '${nameList.toLowerCase().replaceAll(' ', '')}.json': {
            'content': json.encode(products),
          },
        },
      }),
    
  );

  print(response.statusCode);

  if (response.statusCode == 200) {
    print('Lista de produtos atualizada com sucesso');
  } else {
    print('Erro ao enviar Lista de produtos');
  }
}


// curl -L \
//   -X PATCH \
//   -H "Accept: application/vnd.github+json" \
//   -H "Authorization: Bearer <YOUR-TOKEN>" \
//   -H "X-GitHub-Api-Version: 2022-11-28" \
//   https://api.github.com/gists/GIST_ID \
//   -d '{"description":"An updated gist description",
//        "files":{
//            "README.md":{
//              "content":"Hello World from GitHub"
//        }}}'
1 resposta

Olá, Charles, como vai?

Sua implementação ficou muito boa e atendeu muito bem ao que foi proposto no exercício. Você organizou de maneira clara o envio dos produtos em uma única requisição e também tratou corretamente a estrutura do JSON que a API do GitHub espera.

Parabéns pelo cuidado no desenvolvimento. Sempre que precisar, o fórum está à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!