#flutter #dart
#flutter #dart
Вопрос:
Код представляет строку кода, которая содержит ошибки в соответствии со строкой, указанной консолью
Ошибка отображается в трех частях. первый:
новый FlickrPhotoList.FromJSON (пакет: flutter_app_new_flutter/flickerPhotoList.dart:22:26)
import 'package:flutter_app_new_flutter/model.dart';
class FlickrPhotoList {
int page;
int pages;
int perpage;
int total;
List<FlickrPhoto> photo;
FlickrPhotoList({
this.page,
this.pages,
this.perpage,
this.total,
this.photo
});
factory FlickrPhotoList.fromJson(Map<String, dynamic> parsedJson) {
var list = parsedJson['photo'] as List;
List<FlickrPhoto> photoList = list.map((i) => FlickrPhoto.fromJson(i)).toList();
return FlickrPhotoList(
page: parsedJson['page'],
pages: parsedJson['pages'],
perpage: parsedJson['perpage'],
total: parsedJson['total'],
photo: photoList);
}
}
2-я ошибка показана ниже:
новый FlickrResult.FromJSON (пакет: flutter_app_new_flutter/flickerResult.dart:15:37)
import 'package:flutter_app_new_flutter/flickerPhotoList.dart';
class FlickrResult {
FlickrPhotoList photos;
String stat;
FlickrResult({
this.photos,
this.stat
});
factory FlickrResult.fromJson(Map<dynamic, dynamic> parsedJson) {
var photoList = FlickrPhotoList.fromJson(parsedJson['photos']);
return FlickrResult(
photos: photoList,
stat: parsedJson['stat']
);
}
}
вот третья ошибка:
_SearchState.getSearchWallpapers. (пакет: flutter_app_new_flutter/search.dart:47:33)
getSearchWallpapers(String query) async{
String requestUrl = "https://api.flickr.com/services/rest/?method=flickr.photos.searchamp;api_key=b099758ce0d1e1bf8697f8491f7fb5fcamp;format=jsonamp;nojsoncallback=1amp;safe_search=1amp;text=$query";
var file = await DefaultCacheManager().getSingleFile(requestUrl);
http.Response response = await http.get(requestUrl);
String lines = await file.readAsString();
setState(() {
Map userMap = jsonDecode(lines);
flickrData = FlickrResult.fromJson(userMap);
resultsCount = flickrData.photos.photo.length;
});
}
Ответ №1:
Это случилось со мной вчера, а не на каком-то веб-сайте, я исправляю это, возвращая ответ с заголовком. ошибка при отсутствии такого метода ошибка заключается в том, что ваша модель не соответствует ответу API с веб-сайта или сервер не предоставляет ваш запрос пример это ошибка
return FlickrPhotoList(
page: parsedJson['page'],
проверьте, что parsedJson предоставляет ‘страницу’; поэтому сначала запросите postman или любой другой и прочитайте ответ вашего API.
Второй будет работать, когда мы улучшим, когда для третьего, пожалуйста, также опубликуйте search.dart