[flutter] 플러터에서 GET 메소드를 사용하여 특정 아티스트의 음악 정보를 가져오는 방법은 무엇인가요?

먼저, http 패키지를 사용하여 GET 요청을 보낼 수 있는지 확인해야 합니다. pubspec.yaml 파일에서 http 패키지를 import 하도록 추가해주세요.

dependencies:
  flutter:
    sdk: flutter
  http: ^0.13.0

이제, 아티스트의 음악 정보를 가져오기 위해 GET 요청을 보내야 합니다. 다음은 GET 요청을 보내는 예제 코드입니다.

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';

class ArtistMusicScreen extends StatefulWidget {
  final String artistName;

  ArtistMusicScreen({required this.artistName});

  @override
  _ArtistMusicScreenState createState() => _ArtistMusicScreenState();
}

class _ArtistMusicScreenState extends State<ArtistMusicScreen> {
  List<dynamic> musicList = [];

  @override
  void initState() {
    super.initState();
    fetchMusicData();
  }

  void fetchMusicData() async {
    var url = Uri.parse('https://api.example.com/artist/${widget.artistName}/music');
    var response = await http.get(url);

    if (response.statusCode == 200) {
      var data = json.decode(response.body);
      setState(() {
        musicList = data['musicList'];
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.artistName),
      ),
      body: ListView.builder(
        itemCount: musicList.length,
        itemBuilder: (context, index) {
          return ListTile(
            title: Text(musicList[index]['title']),
            subtitle: Text(musicList[index]['album']),
          );
        },
      ),
    );
  }
}

위 코드에서는 ArtistMusicScreen이라는 StatefulWidget을 생성하고, artistName을 매개변수로 받습니다. initState에서는 fetchMusicData 메소드를 호출하여 GET 요청을 보내고, 응답을 받은 후 musicList에 음악 정보를 저장합니다.

build 메소드에서는 musicList를 사용하여 ListView.builder를 생성하여 음악 목록을 표시합니다.

해당 코드에서 https://api.example.com/artist/${widget.artistName}/music는 아티스트의 음악 정보를 가져오기 위한 API URL 입니다. 실제 사용하는 API의 URL로 변경해주세요. 또한, 가져오는 데이터의 형식에 따라 json.decode(response.body)에서 데이터 응답을 파싱하도록 수정해야 합니다.

플러터에서 GET 메소드를 사용하여 특정 아티스트의 음악 정보를 가져오는 방법을 알려드렸습니다. 추가적인 질문이 있다면 언제든지 물어보세요.