gpt4 book ai didi

android - 如何从 dart/flutter 将 int/integer 值作为 json 发布

转载 作者:行者123 更新时间:2023-12-03 04:27:56 26 4
gpt4 key购买 nike

我使用 asp.net core Web API 作为后端。有一个方法接受单个整数值。

Method([FromBody] int value)

我想发布来自 dart/flutter 的整数值。我使用 dart http 包尝试了以下操作。

Http.post(url, body:0,headers:{"content-type":"application/json"}

Http.post(url, body:{0},headers:{"content-type":"application/json"}

Http.post(url, body:convert.jsonEncode(0),headers:{"content-type":"application/json"}

Http.post(url, body:convert.jsonEncode({0}),headers:{"content-type":"application/json"}

我的上述所有尝试均因错误而失败“无效参数:无效请求正文“0””

最佳答案

当我尝试向以整数作为参数(年龄)之一的 API 发送 HTTP 请求时,我遇到了同样的问题。 Dart 希望我将 int 转换为字符串,但 API 不接受 int 作为字符串。因此我遇到了同样的错误并最终提出了这个问题。

我的解决方案是将输入存储在 map 中,添加 header {"content-type":"application/json"} 并在正文争论中传递 map 。

import 'dart:convert';
import 'package:http/http.dart' as http;


Future<String> register_user() async {
var req_body = new Map();

req_body['username'] = 'John Doe';
req_body['age'] = 20; /* The integer */

final response = await http.post(
'http://127.0.0.1:8081/user/register',
headers: {'Content-Type': 'application/json'},
body: jsonEncode(req_body));


if (response.statusCode == 200) {
var object = json.decode(response.body);

return object.toString();
} else if (response.statusCode == 422) {
return 'Error';
} else {
return 'Can not connect to server';
}
}

关于android - 如何从 dart/flutter 将 int/integer 值作为 json 发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58183559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com