我一直在创建一个应用程序,在过去的两天里一直在解决这个问题,没有任何进展。从internet获取数据时,请使用http。get请求给了我一个异常。这就是我试图集成到我的应用程序中的Rapid API(IMDB)。我将为您提供我的代码,以便更好地理解。
下面是get请求:
class NetworkGetRequest {
static Future<Map<String, Object>> getRequestWithQueryParameter(Map<String, dynamic> queryParameters, String url) async {
Map<String, Object> result = new Map();
final headers = {
"content-type": "application/json",
"x-rapidapi-key": <YOUR-API-KEY>,
"x-rapidapi-host": "movie-database-imdb-alternative.p.rapidapi.com",
"useQueryString": true
};
try {
final uri = Uri.https(url, "", queryParameters);
var response = await http.get(uri, headers: headers);
Map<String, Object> responseMap = jsonDecode(response.body);
result['data'] = responseMap;
return result;
} catch (e) {
result['error'] = 'Exception : ' + e.toString();
return result;
}
}
以下是我调用API的方式:
Map<String, Object> result = new Map();
Map<String, dynamic> queryParam = {
'i': 'tt12361974',
'r': 'json',
'plot': 'full'
};
String url = 'movie-database-imdb-alternative.p.rapidapi.com';
result = await NetworkGetRequest.getRequestWithQueryParameter(queryParam, URL);
这是我从中得到的一个例外:
type '_InternalLinkedHashMap<String, Object>' is not a subtype of type 'Map<String, String>?'
这就是我期望从服务器得到的JSON:
{
"Title": "Zack Snyder's Justice League",
"Year": "2021",
"Rated": "R",
"Released": "18 Mar 2021",
"Runtime": "242 min",
"Genre": "Action, Adventure, Fantasy",
"Director": "Zack Snyder",
"Writer": "Jerry Siegel, Joe Shuster, Zack Snyder",
"Actors": "Henry Cavill, Ben Affleck, Gal Gadot",
"Plot": "Determined to ensure Superman's ultimate sacrifice was not in vain, Bruce Wayne aligns forces with Diana Prince with plans to recruit a team of metahumans to protect the world from an approaching threat of catastrophic proportions. The task proves more difficult than Bruce imagined, as each of the recruits must face the demons of their own pasts to transcend that which has held them back, allowing them to come together, finally forming an unprecedented league of heroes. Now united, Batman, Wonder Woman, Aquaman, Cyborg and The Flash may be too late to save the planet from Steppenwolf, DeSaad and Darkseid and their dreadful intentions.",
"Language": "English, Icelandic, French",
"Country": "United States, United Kingdom",
"Awards": "1 nomination",
"Poster": "https://m.media-amazon.com/images/M/MV5BYjI3NDg0ZTEtMDEwYS00YWMyLThjYjktMTNlM2NmYjc1OGRiXkEyXkFqcGdeQXVyMTEyMjM2NDc2._V1_SX300.jpg",
"Ratings": [
{
"Source": "Internet Movie Database",
"Value": "8.1/10"
},
{
"Source": "Metacritic",
"Value": "54/100"
}
],
"Metascore": "54",
"imdbRating": "8.1",
"imdbVotes": "308,599",
"imdbID": "tt12361974",
"Type": "movie",
"DVD": "N/A",
"BoxOffice": "N/A",
"Production": "N/A",
"Website": "N/A",
"Response": "True"
}
我相信API或RapidAPI没有问题,除了未处理的期望之外,一切都很好。请转到这个问题,以解决此异常。
未处理的异常:InternalLinkedHashMap
我想从实时数据库中获取数据,数据以地图的形式存在 虽然Product类只是一个普通类,其PRICE属性为Double,但其他所有属性都是String。执行此代码时,会产生以下错误。 I/flatter(4228):类型“\u InternalLinkedHashMap”不是类型“String”的子类型 我可以使用什么样的数据结构/方法/解决方法? 产品类别
当我启动我的应用程序时,我收到了这个错误消息。自从上次跑步以来,我没有做任何改变,当时一切都很好。有人知道怎么解决这个问题吗?非常感谢。 错误:无法确定任务“:app:processDebugResources”的依赖项 无法解析配置“:app:debugRuntimeClasspath”的所有任务依赖项。无法解析io。grpc:grpc核心:[1.28.0]。所需人员:项目:应用程序 > 尝试:
我正在尝试从此API获取数据: 我设法使用wp_remote_get()来提出请求,但我一直没有得到任何结果,除了一个错误: 我只是指出,我已经使用了作曲家来设置作曲家。我的XAMPP适当文件夹中的json文件,其中包含请求: 在我的代码中,我包括API密钥的参数,如下所示,但由于某些原因,该参数不起作用:
收到评论后,我已将以下代码部署到我的Firebase项目中,并已成功部署!。但没有向我发送任何通知。请在此处查看我的Firebase实时数据库截图以更好地理解。 [现已解决:它将只向一个ID(即我的管理设备)发送通知] 工作代码: 有关更多详细信息,请参阅此视频链接 注意:如果您的应用程序已打开并最小化,则会显示通知,但如果应用程序已打开且您正在使用,或者如果应用程序已终止,则强制关闭,则不会工作
有什么方法可以方便地将参数/查询作为映射传递 http.get只接受url和标头,不像python get中的有效负载字典可以用作参数。我想简单地实现它,比如: 或任何没有字符串操作的其他方法。 更新:我尝试使用构造函数。但这会带来错误。我需要通过的地图是 错误: 类型“int”不是类型“Iterable”的子类型 到目前为止,我只能通过将int 298改为字符串'298'来实现。
所以…我得到了一个调用Api,其中还包括7天的预测。我设法显示了当前的天气(温度和图标),但如何获得未来4天的天气预报? 我的API:https://api.openweathermap.org/data/2.5/onecall?lat=lat 我的型号: 我的回答是: 响应对象: 来自OneCall API的JSON: