Django и Flutter с http Plugin

Я создал REST API с помощью Django и хочу использовать его во Fluter. Я создал конечные точки и протестировал их; они работают нормально, я также создал модели во Flutter. Я сделал конечную точку get all. Теперь я пытаюсь понять, как расшифровать конечную точку details и использовать ее во Flutter.

Чьи-нибудь мысли?

Когда вы получаете ответ от API, вы можете использовать json.decode для преобразования тела запроса из строки в json, а затем вы можете разобрать json для вашей модели, как показано в примере ниже:

// Model Example
class Model {
  final String name;

  Model.fromJson(dynamic json)
    : name = json['name'];
}

...
// Do the request, receive a [response]
final body = response.body;
final jsonBody = json.decode(body);
final model = Model.fromJson(jsonBody);

Если вам нужен более подробный пример, пожалуйста, пришлите часть вашего кода, и я смогу объяснить, основываясь на вашем контексте

В зависимости от того, что вы используете, если вы используете пакет http, то это пример

import 'dart:convert' as convert;

import 'package:http/http.dart' as http;

void main(List<String> arguments) async {
  // This example uses the Google Books API to search for books about http.
  // https://developers.google.com/books/docs/overview
  var url =
      Uri.https('www.googleapis.com', '/books/v1/volumes', {'q': '{http}'});

  // Await the http get response, then decode the json-formatted response.
  var response = await http.get(url);
  if (response.statusCode == 200) {
    var jsonResponse =
        convert.jsonDecode(response.body) as Map<String, dynamic>;
    var itemCount = jsonResponse['totalItems'];
    print('Number of books about http: $itemCount.');
  } else {
    print('Request failed with status: ${response.statusCode}.');
  }
}

если вы используете пакет Dio, вам не нужно декодировать dio сделает это за вас вот пример

import 'package:dio/dio.dart';

void getHttp() async {
  try {
    var response = await Dio().get('http://www.google.com');
    print(response);
  } catch (e) {
    print(e);
  }
}
Вернуться на верх