在我的 flutter 项目中,我向后端服务器发出 API 请求,该请求返回生成的带有响应正文的 JWT 令牌。登录 API 方法要求应用程序向服务器提供 API 名称和参数名称(电子邮件和密码)。
标头将包含 content-type: application/json 和 Authorization: Bearer -some token- 。 而 JSON 正文需要采用这种形式:
{
"name":"generateToken",
"param":{
"email":"afifzuhair@gmail.com",
"pass":"afif123"
}
}
login.dart 代码:
void _login(String email, String password) async {
setState(() {
_isLoading = true;
});
var data, body, res, token;
data = {
"name": "generateToken",
"param": {"email": email, "pass": password},
};
// Send data package using Network class
res = await Network().authData(data, 'jwt-api'); //request
//response body
body = json.decode(res.body['response']);
//response header
token = json.decode(ascii.decode(base64
.decode(base64.normalize(res.headers['Authorization'].split(".")[1]))));
print("Token : " + token);
if (body['status'] == 200) {
// route to home screen when successful
Navigator.pushReplacementNamed(context, routeScreenMenuAlt);
} else {
_showMsg(body['message']);
}
setState(() {
_isLoading = false;
});
}
我写的dart代码是形成json,但是遇到错误
<块引用>未处理的异常:类型 '_InternalLinkedHashMap
好像我的 JSON 编码是错误的。有人知道映射吗?