Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Integração entre Flutter e Spring Boot

Bom dia Professor.

Esse curso é muito bom, mas eu queria usar o Flutter apenas como frontend e deixaria o sistema de dados para o backend. Queria saber como fazer a junção dos dois. Tenho um projeto de aplicativo mobile que eu quero começar e me indicaram o flutter como o frontend mas fácil para programar, Estava pensando em usar o IONIC, mas quando me falaram do flutter, comecei a cursa-lo e até agora estou gostando. O senhor pode me ajudar com essa junção?

1 resposta
solução!

Oii Edgard, tudo bem?

A integração entre Flutter e Spring Boot é uma escolha excelente, pois ambos são ferramentas poderosas para frontend e backend, respectivamente.

Vou te dar um luz pra fazer a junção entre Flutter e Spring Boot:

  1. Configuração do Backend (Spring Boot):

    • Crie um projeto Spring Boot.
    • Configure os endpoints RESTful no seu projeto Spring Boot. Esses endpoints serão responsáveis por fornecer os dados que o seu aplicativo Flutter vai consumir.
    • Exemplo de um endpoint simples em Spring Boot:
      @RestController
      @RequestMapping("/api")
      public class MyController {
          
          @GetMapping("/greeting")
          public String greeting() {
              return "Hello from Spring Boot!";
          }
      }
      
  2. Configuração do Frontend (Flutter):

    • No seu projeto Flutter, você pode usar o pacote http para fazer requisições HTTP ao seu backend.
    • Adicione a dependência no seu pubspec.yaml:
      dependencies:
        http: ^0.13.3
      
    • Faça uma requisição HTTP ao seu backend:
      import 'package:flutter/material.dart';
      import 'package:http/http.dart' as http;
      import 'dart:convert';
      
      void main() => runApp(MyApp());
      
      class MyApp extends StatelessWidget {
        @override
        Widget build(BuildContext context) {
          return MaterialApp(
            home: Scaffold(
              appBar: AppBar(
                title: Text('Flutter & Spring Boot'),
              ),
              body: Center(
                child: FutureBuilder<String>(
                  future: fetchGreeting(),
                  builder: (context, snapshot) {
                    if (snapshot.connectionState == ConnectionState.waiting) {
                      return CircularProgressIndicator();
                    } else if (snapshot.hasError) {
                      return Text('Error: ${snapshot.error}');
                    } else {
                      return Text('Response: ${snapshot.data}');
                    }
                  },
                ),
              ),
            ),
          );
        }
      
        Future<String> fetchGreeting() async {
          final response = await http.get(Uri.parse('http://localhost:8080/api/greeting'));
          if (response.statusCode == 200) {
            return json.decode(response.body);
          } else {
            throw Exception('Failed to load greeting');
          }
        }
      }
      
  3. Testes e Ajustes:

    • Tenha certeza de que o backend Spring Boot está rodando e acessível.
    • Lembre de testar a comunicação entre o Flutter e o Spring Boot.
    • Ajusta os endpoints e o código Flutter conforme necessário para atender às suas necessidades específicas.

Lembrando que essa é apenas uma ideia de como você pode fazer. Talvez você precise fazer alguns ajustes para o seu projeto pessoal.

Ah no discord da Alura está sempre tendo grupos de estudos e trocas de ideias, sinta-se livre para participar.

Um abraço e bons estudos.

Um abraço e bons estudos.