几天来,当我从端点 加载数据时,我一直收到此错误。发生异常。 ClientException(连接在收到完整 header 之前关闭)
import 'package:http/http.dart' show Client;
Client client = Client();
Future<Platoons> fetchMeatifyById(String id) async {
final response = await client.get('$_baseApi/platoons/$id');
if (response.statusCode == 200 || response.statusCode == 201) {
return Platoons(json.decode(response.body));
} else {
throw Exception('Failed to load platoon');
}
}
最佳答案
为 Dart 使用另一个 Http 客户端解决了上述问题 Dio ,简单但功能强大,能够控制应用程序。
简单的 HTTP 请求
class CartApiProvider {
Dio _dio;
CartApiProvider(){
_dio = new Dio();
_dio.interceptors.add(MeatityHttpInterceptor());
}
Future<OrderDetailResponse> fetchOrderInfo(String orderNo) async {
try{
Response response = await _dio.get('/orders/$orderNo');
return OrderDetailResponse.fromJson(response.data);
}catch (error, stacktrace){
return OrderDetailResponse.withError(HttpErrorHandler.handleError(error));
}
}
}
关于HTTP 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54844472/