[flutter] 플러터 GET 요청에 사용자의 검색어를 전달하는 방법은 무엇인가요?

HTTP GET 요청을 보낼 때, 쿼리 매개 변수를 사용하여 검색어를 전달할 수 있습니다. 쿼리 매개 변수는 URL 뒤에 “?” 기호를 사용하여 추가할 수 있습니다. 각 쿼리 매개 변수는 “key=value” 형식으로 작성되며, 여러 개의 매개 변수가 있을 경우 “&” 기호로 구분됩니다.

예를 들어, 사용자가 검색어를 “apple”로 지정하고 GET 요청을 보내려고 한다면, 다음과 같이 작성할 수 있습니다:

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

void getSearchResults(String searchTerm) async {
  var url = Uri.parse('https://api.example.com/search?term=$searchTerm');
  var response = await http.get(url);

  if (response.statusCode == 200) {
    // 요청이 성공했을 때 처리할 내용
  } else {
    // 요청이 실패했을 때 처리할 내용
  }
}

위의 코드에서 searchTerm 변수는 사용자의 검색어를 나타내며, 이를 URL에 쿼리 매개 변수로 포함하여 GET 요청을 보냅니다. 예를 들어, 위의 코드에서는 https://api.example.com/search?term=apple와 같은 요청이 보내질 것입니다.

조금 복잡한 검색어를 다루거나 URL 인코딩이 필요한 경우, Uri.encodeComponent() 메서드를 사용하여 검색어를 인코딩할 수도 있습니다. 예를 들어, 검색어에 공백이 포함된 경우 Uri.encodeComponent()를 사용하여 URL에서 공백을 나타내는 %20로 변환할 수 있습니다.

var searchTerm = 'red apple';
var encodedSearchTerm = Uri.encodeComponent(searchTerm);
var url = Uri.parse('https://api.example.com/search?term=$encodedSearchTerm');

이렇게 하면 검색어가 인코딩된 후 GET 요청의 URL에 포함됩니다.

위의 예시를 참고하여 플러터에서 GET 요청에 사용자의 검색어를 전달하는 방법을 구현해보세요.