作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试发送带有正文的 DELETE 请求,但 http.delete
不支持向请求添加正文。
我在网上找到了这个解决方案,但我想返回 Response
而不是 StreamedResponse
。我怎样才能做到这一点?
static Future<http.Response> deleteFavorites({Map<String, int> body}) async {
UserRepository userRepository = UserRepository();
String token = await userRepository.storage.read(key: 'token');
final client = http.Client();
var response;
try {
response =
await client.send(http.Request("DELETE", Uri.parse(favoritesUrl))
..headers["access-token"] = token
..body = jsonEncode(body));
//
} finally {
client.close();
}
return response;
}
最佳答案
您可以使用 Response 类 fromStream 中的静态方法,它接受 StreamedResponse 并返回您想要的 Future,只需将返回更改为:
return Response.fromStream(response);
您可以查看文档 https://pub.dev/documentation/http/latest/http/Response-class.html .
希望对您有所帮助!
关于flutter - 如何将 Future<StreamedResponse> 转换为 Future<Response>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56889334/
我是一名优秀的程序员,十分优秀!