任何人都可以提供帮助,当我在邮递员中使用post方法时,我只会收到“输入无效”的信息。请帮助,我在此上花了太多时间!!!
控制器:
[HttpPost]
public IActionResult Create(M05PurchaseAgreement item)
{
_context.M05PurchaseAgreement.Add(item);
_context.SaveChanges();
return CreatedAtRoute("GetTodo", new { agreementNo = item.AgreementNo }, item);
}
型号:
public class M05PurchaseAgreement
{
[Key]
public string AgreementNo { set; get; }
public string Status { set; get; }
public string OrderStatus { set; get; }
public string AccountStatus { set; get; }
public string StockID { set; get; }
public string RegistrationNo { set; get; }
public string Revision { set; get; }
public string CalendarPeriod { set; get; }
public string PurchaseType { set; get; }
public DateTime PurchaseDate { set; get; }
public string PurchaseSalesman { set; get; }
public decimal PurchasePrice { set; get; }
public string TaxMethod { set; get; }
public string PurchaseInvoice { set; get; }
public string EntryStaff { set; get; }
public DateTime EntryDate { set; get; }
public string LastEditStaff { set; get; }
public DateTime LastEditDate { set; get; }
public string Notes { set; get; }
public string BranchCode { set; get; }
public string Location { set; get; }
}
编辑-我使用Jquery
jQuery:
$.ajax({
type: 'POST',
url: 'https://localhost:44328/api/m05purchaseagreement',
accepts: 'application/json',
contentType: 'application/json',
data: JSON.stringify(item),
error: function (jqXHR, textStatus, errorThrown) {
alert(JSON.stringify(item));
},
success: function (result) {
$('#agreementNo').val('');
}
});
答案 0 :(得分:1)
答案 1 :(得分:0)
如果使用[ApiController]
,则模型验证错误将自动触发HTTP 400响应。
您可以通过将SuppressModelStateInvalidFilter
属性设置为true来禁用默认行为。请参见文档here。
在邮递员中,我使用原始json发布模型数据,如下所示。
在控制器中,使用[FromBody]
[HttpPost]
public IActionResult Create([FromBody] M05PurchaseAgreement item)
在视图中,您需要传递json数据,您的项目类似于
var item = { "Status": "active", "OrderStatus": "active" };
答案 2 :(得分:0)
如@Ralpharama所述,将主体类型设置为JSON。
类似地,我将标头Content-type添加到application / json。