首页 > 解决方案 > Flutter/Dart http 客户端 - 内容类型标头发送两次

问题描述

任何使用默认 Dart http 客户端的简单网络调用,例如,退出请求:

Future <void> signOut() async {

  final body = jsonEncode(SignOutRequest()..deviceId = await DeviceId.getID);

  String authHeader = globals.token.tokenType + " " + globals.token.accessToken;
  
  await http.post(globals.url + '/auth/sign_out',
      headers: {HttpHeaders.acceptHeader: globals.apiVersion,
        HttpHeaders.contentTypeHeader: globals.apiVersion,
        HttpHeaders.authorizationHeader: authHeader},
      body: body);

}

从我看到的实际标题中可以看出:

accept:api-version
accept-encoding:gzip
authorization:bearer token
content-length:31
content-type:api-version; charset=utf-8
Content-Type:api-version; charset=utf-8

所以内容类型设置了 2 次(内容类型和内容类型)。如果我不设置任何内容类型,则 text/plain 设置两次。这是某种错误,还是有意的?

标签: httpdartpostheadercontent-type

解决方案


推荐阅读