Я начинаю вчерашний день с флаттера, и сегодня у меня проблема с GET-запросом.
Похоже, я не могу получить данные из своего URL, я понятия не имею, почему, когда я вставляю их в в моем браузере все работает
Я пытался получить один User
объект, но у меня ничего не получалось: (
мой код,
User.dart
class User{
int id;
String firstName;
String lastName;
String email;
User(this.id, this.firstName, this.lastName, this.email);
User.fromJson(Map<String,dynamic> json){
id = json['id'];
firstName = json['firstName'];
lastName = json['lastName'];
email = json['email'];
}
}
моя функция GET:
Future<User> getCurrentUser() async {
String url = 'http://10.0.2.2:80/user/current';
final response =
await http.get(url, headers: {"Accept": "application/json"});
if (response.statusCode == 200) {
return User.fromJson(json.decode(response.body));
} else {
throw Exception('Failed to load post');
}
}
мой виджет:
class UserPageState extends State<UserPage>{
Future<List<dynamic>> _user;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Builder(
builder: (context) => Container(
child: FutureBuilder(
future: getCurrentUser(),
builder: (BuildContext context, AsyncSnapshot snapshot){
if(snapshot.hasData ){
return Container(
child: Center(child: Text(snapshot.data['firstName']),),
);
}else {
return Text('NOT LOAD');
}
},
),
),
),
);
}
}
когда я вставляю свой url
в браузер, он показывает мне:
{
createdAt: 1584905291338,
updatedAt: 1584905291338,
id: 3,
firstName: "name",
lastName: "surname",
email: "surname@name.com",
admin: false
}
Понятия не имею, что я могу сделать, ПОЖАЛУЙСТА, ПОМОГИТЕ МНЕ: (