asp.net-mvc - 具有多个参数的 Post 方法
问题描述
我无法使用 MVC Web API 中的 Post 方法在数据库中插入多行。我已经为它编写了代码,但是当我通过邮递员插入多行进行测试时,它给出了错误。在第一行,变量“delegatetable”显示为空,因为错误即将到来。我没有通过实体框架进行数据库连接,我创建了一个 DelegateTable 类。
public HttpResponseMessage Post(List<DelegateTable> delegatetable)
{
try
{
using (var delegateContext = new ShowContext())
{
foreach (DelegateTable item in delegatetable)
{
DelegateTable delegates = new DelegateTable();
delegates.Salutation__c = item.Salutation__c;
delegates.First_Name__c = item.First_Name__c;
delegates.Last_Name__c = item.Last_Name__c;
delegates.Account_Name__c = item.Account_Name__c;
delegates.Contact_Email__c = item.Contact_Email__c;
delegates.Category__c = item.Category__c;
delegates.Conference_Type__c = item.Conference_Type__c;
delegates.Conference_Selection__c = item.Conference_Selection__c;
delegates.Payment_Statuss__c = item.Payment_Statuss__c;
delegates.Barcode__c = item.Barcode__c;
delegateContext.SaveChanges();
}
var message = Request.CreateResponse(HttpStatusCode.Created, delegatetable);
message.Headers.Location = new Uri(Request.RequestUri.ToString());
return message;
}
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
}
}
我传递的 Json 数据如下
[
{
"attributes": {
"type": "Registration__c",
"url": "/services/data/v43.0/sobjects/Registration__c/a3h8E0000009VuVQAU"
},
"Salutation__c": "Dr.",
"First_Name__c": "Test",
"Last_Name__c": "Test",
"Account_Name__c": "Test",
"Contact_Email__c": "test123@gmail.com",
"Category__c": "Test",
"Conference_Type__c": null,
"Conference_Selection__c": null,
"Payment_Statuss__c": null,
"Barcode__c": "Test"
},
{
"attributes": {
"type": "Registration__c",
"url": "/services/data/v43.0/sobjects/Registration__c/a3hD0000001kEfOIAU"
},
"Salutation__c": "Mr.",
"First_Name__c": "Demo",
"Last_Name__c": "Demo",
"Account_Name__c": "Demo",
"Contact_Email__c": "Demo@gmail.com",
"Category__c": "Demo",
"Conference_Type__c": null,
"Conference_Selection__c": null,
"Payment_Statuss__c": null,
"Barcode__c": null
}
]
解决方案
您可以尝试将有效负载重新格式化为 JSON 数组,因为问题可能是有效负载无法转换为列表。尝试这个:
{
"delegates" :
[
{
"attributes": ..., ...
},
{ "attributes": ..., ...
},
...
]
}
推荐阅读
- python - 如何应用适当的阈值来去除二元板上的边缘
- python - 使用条件添加两个不同大小的df列
- docusignapi - 在 DocuSign 嵌入式发件人屏幕中强制执行用户和文档特定选项卡/字段
- r - 将数据帧从长格式转为宽格式
- aem - 用于访问资产标签的 SQL2 查询
- python - 如何在输出窗口的开头打印出一些东西?
- python-3.x - 在 python 中使用 selenium 制作 gmail 登录机器人时出现蓝牙错误。但即使是基本搜索“Email” id 元素也找不到
- maven - 保留最后修改时间戳的 Maven 程序集插件
- google-api - Youtube API 配额限制过快(100 倍)
- python - 在数据框中计算两天之间的月份