Flutter Dio Form Data发布400错误响应DioError[DioErrorType.response



有人知道这个调用失败的原因吗?它在邮递员那里工作,但在迪奥那里失败了。我试着把它包装在fromMap调用中,它和下面的一样。Form Data调用根本不适用于Dio吗?

createAccessToken(
{required String username, required String password}) async {
var requestBody = {
"username": username,
"password": password,
"clienttype": clientType,
"requestcontext": requestContext
};
//FormData formData = FormData.fromMap(requestBody);
try {
Response response =
await _dio.post<Map<String, dynamic>>(uri + 'authenticate.ashx',
data: requestBody,
options: Options(headers: {
"User-Agent": "curl/7.42.1",
"Accept": "application/x-www-form-urlencoded",
"Content-Type": "application/x-www-form-urlencoded"
}));
print('User created: ${response.data}');
String token = response.data['access_token'];
//accessToken = TokenData(response.data);
prefs.saveToken(response.data['access_token']);
} catch (e) {
print('Error creating token: $e');
}

}

此调用返回DioError(DioError[DioErrorType.response]:Http状态错误[400]

在邮递员。。。

邮差表格

PostMan标头

如有任何帮助,我们将不胜感激。

userLogin(
String password,
String mobile,
) async {
try {
String url = "url";
Dio dio = Dio();
dio.options.headers = {
'Accept': 'application/json',
'Content-Type': 'application/json',
};
var response = await dio.post(url, queryParameters: json.encode({
"password": password??"",
"mobile": mobile??"",
}));
if (response.statusCode == 200) {
return response.data;
} 
else{
print(response.data);
return "request failed";
}
}catch (e) {
return e.toString();
}

最新更新