处理同一路由的不同响应类型-Flutter

问题描述 投票:0回答:1

我有一个 API,每次调用它时都会发送一张随机照片。但如果您最近看过所有照片,它会响应一个 json 对象,表示没有更多照片可用。在我的 Flutter 应用程序中,每次按下按钮时都可以正常获取照片(谢谢 StackOverflow),但老实说,我不知道如何处理响应为 json 的情况,因为我的 flutter 应用程序无法知道响应何时为 json ,所以我不能使用模型。如果有照片,这是工作代码:


import 'package:flutter/material.dart';
import 'dart:math';

class ImageDialog extends StatelessWidget {
  @override
  @override
  Widget build(BuildContext context) {
    return Dialog(
        child: FutureBuilder(
      future: _loadImage(),
      builder: (BuildContext context, AsyncSnapshot<Image> image) {
        if (image.hasData) {
          return image.data; // image is ready
        } else if (image.hasError) {
          return Text("No photo available"); // placeholder
        } else {
          return Text("Impossible");
        }
      },
    ));
  }

  Future<Image> _loadImage() async {
    
      return Image.network(
        'http://192.168.1.19:5000/photo',
        headers: {
          'Content-Type': 'application/json',
          'Accept': 'application/json',
          'Authorization':
              'Bearer token',
        },
        key: ValueKey(new Random().nextInt(100)),
      );
    
  }
}

提前谢谢:)

json image flutter widget
1个回答
0
投票

CW,因为这不是我的解决方案,但用户不太可能在 4 年后发布实际答案。这是他们在评论中所说的内容(稍作修改)。

[我]没有将我的图像直接发送到应用程序,而是[发送到] json 如果照片可用,则带有 url;如果没有,则带有错误代码。我是 然后静态提供图像,如果图像可用 [I] 正在发送显示所需照片的网址。

© www.soinside.com 2019 - 2024. All rights reserved.