javascript - 使用 AXIOS 将 Array 对象作为 POST 传递给 .NET Web API 时遇到问题
问题描述
我无法将大型数组传递给 .NET WEB api。我了解如何发送一个对象并对其进行反序列化,但我想将整个字符串作为 JSON 对象发送到 MS SQL 2019 存储过程,并让 SQL 服务器使用 OPENJSON 处理该对象。我试过了。有和没有 JSON
var data = JSON.stringify([
{
"ID": "1",
"Affiliations": "Stony Brook",
"DBID": "SB ",
"Department": "Biochemistry & Cell Biology"
},
{
"ID": "2",
"Affiliations": "Stony Brook",
"DBID": "SB ",
"Department": "Biochemistry & Cell Biology"
},
{
"ID": "3",
"Affiliations": "Stony Brook",
"DBID": "SB ",
"Department": "Biochemistry & Cell Biology"
}
]);
使用更多数据持续更长时间
var config = {
method: 'post',
url: 'http://api-system/api/PostMembersValues',
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
我的 Web API 控制器是
<System.Web.Http.HttpPost> <System.Web.Http.Route("api/PostMembersValues")> Public Function PostValue(ByVal data As List(Of item)) As List(Of item)
或者
<System.Web.Http.HttpPost> <System.Web.Http.Route("api/PostMembersValues")> Public Function PostValue(<FromBody()> ByVal data As String) As String
我的数据库调用是
sql.CommandType = CommandType.StoredProcedure
sql.Parameters.AddWithValue("@json", value)
如果我将数组的一部分作为 GET 传递,则一切正常,除非我有 url 大小的限制
解决方案
推荐阅读
- sql - 默认的 Google Cloud SQL 实例不属于任何组织
- angular - 将数据从材质对话框传递到父组件
- c# - 如何从任务栏(WPF)隐藏打开的子窗口?
- amazon-web-services - 如何使用 AWS 以太坊区块链模板连接到以太坊实例?
- ssh - 在通过 SSH 端口转发访问的服务器上启动 WS 连接
- javascript - Chrome javascript地理位置未显示允许/阻止弹出窗口
- cron - 节点服务器不会以永远和 cron 启动
- php - 如何在有限的时间内验证/授权匿名用户?
- javascript - 如何更新作为数组的对象属性?
- android - Android studio Gradle 的依赖缓存可能已损坏,无法加载