如何将文本参数输入到 GET api 和 space

how to input text parameter to GET api with space

我有一个获取电影的 http 服务 api 数据它工作正常但是如果我输入 2 个单词 “蝙蝠侠”无法正常工作,因为它将 return 为空,但如果我只输入 1 个单词“蝙蝠侠”,它就可以正常工作,我仍然是查询查询事物的新手

如果你有答案,你能用我的完整代码回答吗?因为我理解一些逻辑很慢

这是我的代码

Future searchMovie(movieName) async {

Uri url = Uri.parse('https://api.themoviedb.org/3/search/movie?api_key={key}&query=$movieName');

var response = await http.get(url);
if (response.statusCode == 200) {
  List data = jsonDecode(response.body)['results'];
  List<SearchMovieModel> searchedMovies = [];

  for (var item in data) {
    searchedMovies.add(SearchMovieModel.fromJson(item));
  }

  return searchedMovies;
} else {
  throw Exception('Error get data');
}

}

URL space 的编码等价物是 %20 try The%20Batman

你可以这样试试

  String query ='The Batman';
  await get(Uri.parse('https://api.themoviedb.org/3/search/movie').replace(
     queryParameters:  {
       'api_key' :'key',
        'query' : query    
       }
  ));