如何通过传递变量(参数)获取api数据?
How to fetch api data by passing variables (parameters)?
我正在为运动员获取 api 数据,我需要为其传递唯一 player id
。目前,我必须手动传递 pid
一次只能获取一个玩家的数据。但我想获取多个玩家数据并将其显示在 listView
.
API 终点是:https://cricapi.com/api/playerStats?apikey=&pid=0000.
我能够解析以上 url,获取结果并正确显示在 UI 中,但我想获取多个玩家数据,而不仅仅是一个。
要获取的代码 api:
FetchJson() async {
var response = await http.get('https://cricapi.com/api/playerStats?
apikey=&pid=1111');
if (response.statusCode == 200) {
String responseBody = response.body;
var responseJson = jsonDecode(responseBody);
name = responseJson['name'];
playingRole = responseJson['playingRole'];
battingStyle = responseJson['battingStyle'];
country = responseJson['country'];
imageURL = responseJson['imageURL'];
Json 片段是:
{
"pid": 1111,
"country": "Australia",
"profile": "\n\n blah",
"imageURL": "https://www.cricapi.com/playerpic/1111.jpg",
我想要实现的是,动态显示多个玩家配置文件而不是在代码中传递硬编码 pid
,这样 UI 将在 listview
中显示多个玩家.
如何在 url 端点动态传递不同的 pid
?
通过使用 String
插值并接收 id 作为参数。您可以阅读更多相关信息 here。
FetchJson(int playerId) async {
var response = await http.get('https://cricapi.com/api/playerStats?
apikey=&pid=$playerId');
if (response.statusCode == 200) {
String responseBody = response.body;
var responseJson = jsonDecode(responseBody);
name = responseJson['name'];
playingRole = responseJson['playingRole'];
battingStyle = responseJson['battingStyle'];
country = responseJson['country'];
imageURL = responseJson['imageURL'];
我正在为运动员获取 api 数据,我需要为其传递唯一 player id
。目前,我必须手动传递 pid
一次只能获取一个玩家的数据。但我想获取多个玩家数据并将其显示在 listView
.
API 终点是:https://cricapi.com/api/playerStats?apikey=&pid=0000.
我能够解析以上 url,获取结果并正确显示在 UI 中,但我想获取多个玩家数据,而不仅仅是一个。
要获取的代码 api:
FetchJson() async {
var response = await http.get('https://cricapi.com/api/playerStats?
apikey=&pid=1111');
if (response.statusCode == 200) {
String responseBody = response.body;
var responseJson = jsonDecode(responseBody);
name = responseJson['name'];
playingRole = responseJson['playingRole'];
battingStyle = responseJson['battingStyle'];
country = responseJson['country'];
imageURL = responseJson['imageURL'];
Json 片段是:
{ "pid": 1111, "country": "Australia", "profile": "\n\n blah", "imageURL": "https://www.cricapi.com/playerpic/1111.jpg",
我想要实现的是,动态显示多个玩家配置文件而不是在代码中传递硬编码 pid
,这样 UI 将在 listview
中显示多个玩家.
如何在 url 端点动态传递不同的 pid
?
通过使用 String
插值并接收 id 作为参数。您可以阅读更多相关信息 here。
FetchJson(int playerId) async {
var response = await http.get('https://cricapi.com/api/playerStats?
apikey=&pid=$playerId');
if (response.statusCode == 200) {
String responseBody = response.body;
var responseJson = jsonDecode(responseBody);
name = responseJson['name'];
playingRole = responseJson['playingRole'];
battingStyle = responseJson['battingStyle'];
country = responseJson['country'];
imageURL = responseJson['imageURL'];