[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 요청에 사용자의 검색어를 전달하는 방법을 구현해보세요.