从 API 获取响应并处理错误/在 Flutter 中将 Bytesreem 转换为 Map

问题描述

我正在尝试使用 API 与 PHP 后端通信,但无法访问响应正文。

我从邮递员那里得到了基本代码。 这是身体反应的数据:

enter image description here

我需要访问消息,以及在 UI 中显示它们的错误,问题是 import tweepy import logging from source import sourceimg from config import create_api import time import glob import random import os logging.basicConfig(level=logging.INFO) logger = logging.getLogger() abspath = os.path.abspath(__file__) dname = os.path.dirname(abspath) os.chdir(dname) def postKasumi(api): logger.info("Generating image...") randomNum = random.randint(0,len(sourceimg)-1) logger.info("Uploading image...") api.update_status("#Anime " + sourceimg.get(randomNum)) logger.info("Done!") def main(): api = create_api() postKasumi(api) logger.info("Waiting...") if __name__ == "__main__": main() 它的类型是字节树,我无法将其转换为地图

我的代码

response.stream

解决方法

添加此至于错误,您的状态码不是 200

       try {
              if (response.statusCode == 200) {
                await response.stream.bytesToString().then((value) {
                  print(value);
                });
              } else {
        await response.stream.bytesToString().then((value) {
                  print(value);
    
    
    var jsonResponse = json.decode(response.body.toString());
    
    
               
        var nameError = jsonResponse["errors"]["name"][0];
        
        var emailError = jsonResponse["errors"]["email"][0];
        var usernameError = jsonResponse["errors"]["username"][0];
        var passwordError = jsonResponse["errors"]["password"][0];

//now can print any print(emailError);
                });
        }