如何在flutter http post请求中发送自定义标头

Cod*_*and 5 http dart flutter

我的flutter项目中有http包。我想发送带有自定义标头的发布请求。这是我的代码片段。它将明确我使用 http 进行自定义标头的问题。它总是运行 else 语句,这意味着响应类型不是 200,并且它给我提供了无效令牌的错误。但在邮递员上,效果很好

Map data = {
    'user_fullname': _name,
    'user_address': _address,
    'user_mobile': _phone,
  };
  var tokenData = {
    'User_token': token,
    'Content-Type': 'application/x-www-form-urlencoded'
  };

  final response = await http.post(url, body: data, headers: tokenData);
  if (response.statusCode == 200) {
    print(response.body);
  } else {
    print(response.body);
  }
Run Code Online (Sandbox Code Playgroud)

邮递员测试

小智 0

在你的情况下必须使用 try...catch 异常。

并且您可以参考下面的一篇。

import 'package:http/http.dart' as http; 
Run Code Online (Sandbox Code Playgroud)

而http请求是...

  var client = new http.Client();
    try{
       var response = await client.post(
         "Your Url", 
         headers: {"User_token" : token /*, ...etc*/},
         body : {
           'user_fullname': _name,
           'user_address': _address,
           'user_mobile': _phone,
         }
       );
      if(response.statusCode == 200 || response.statusCode == 201){
          //enter your code
      }
    } on Exception catch (err){
       print("Error : $err");
    }
Run Code Online (Sandbox Code Playgroud)

我希望对你有帮助。

授权图片