如何将文本参数输入到 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
}
));
我有一个获取电影的 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
}
));