Кто-нибудь может помочь, когда я использую метод 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('');
}
});
Но моя модель и контроллер находятся внутри WebApi.
Не могли бы вы показать свое изображение почтальона и значение item ajax? Кроме того, убедитесь, что значения трех полей DateTime верны.

Если вы используете [ApiController], ошибки проверки модели автоматически вызывают ответ HTTP 400.
Вы можете отключить поведение по умолчанию, установив для свойства SuppressModelStateInvalidFilter значение true (см. Документ здесь).
В Postman я отправляю данные модели с помощью необработанного json, как показано ниже.
В контроллере используйте [FromBody]
[HttpPost]
public IActionResult Create([FromBody] M05PurchaseAgreement item)
И в виду, вам нужно передать данные json, ваш элемент похож на
var item = { "Status": "active", "OrderStatus": "active" };
Привет, спасибо за решение, но все равно не работает
Это должно помочь: Связывание сложных объектов.