Я не могу выполнить успешный ReactJ, используя вызов Axios Post, когда данные передаются в мой веб-интерфейс asp.net core 2.2. Вызов успешно достигнет моей конечной точки API, когда все свойства составного слова (фамилии) будут дефисированы, однако данные не проходят. Только одно слово (компания) свойства получают данные. Я считаю, что это потому, что с дефисами свойства больше не совпадают. Однако, если свойства не переносятся, я получаю ошибку 400 или 415. При отправке звонка через Почтальон, где все свойства указаны в паскалях, у меня вообще не возникает никаких проблем.
Я много раз пытался заставить его работать без решений. Я добавил Json
Атрибуты к моим свойствам объекта .net. Я изменил атрибут, чтобы также иметь дефисы. Я попытался изменить оба моих свойства в реакции на одно слово и сопоставить их с атрибутом Json
, например, created
против CreatedDate
. Я также вставил в свой метод post точно такой же объект json, который использовался в моем PostMan
вызове, который был успешным.
.net post
[HttpPost]
[Route("AddThreshold", Name = "AddThreshold")]
public ActionResult<ThresholdDTO> AddThreshold([FromBody] ThresholdDTO threshold)
{
var thr = _thresholdService.AddThreshold(threshold);
if (thr == null)
return NoContent();
return Ok(threshold);
}
const handleAddSubmit = e => {
e.preventDefault();
let current_datetime = new Date();
let formatted_date =
current_datetime.getFullYear() +
"-" +
(current_datetime.getMonth() + 1) +
"-" +
current_datetime.getDate() +
" " +
current_datetime.getHours() +
":" +
current_datetime.getMinutes() +
":" +
current_datetime.getSeconds();
console.log(location);
let threshold = JSON.stringify({
"Threshold-Id": "",
Company: company.toString(),
"Threshold-Type": thresholdType.toString(),
"Threshold-Value": thresholdValue.toString(),
"Account-Number": account.toString(),
"Location-Number": location == "undefined" ? "" : location.toString(),
"Expected-Amount": expectedAmount.toString(),
"Created-Date": formatted_date.toString(),
"Created-By": "System",
"Updated-Date": "1900-00-00 00:00:00.000",
"Updated-By": ""
});
Axios({
method: "post",
url: "https://localhost:44394/Threshold/AddThreshold/",
data: threshold,
headers: { "Content-Type": "application/json" }
})
.then(function(response) {
//handle success
console.log(threshold);
props.handleAddClose();
})
.catch(function(response) {
//handle error
console.log(threshold);
});
};
AccountNumber: "87605177 (CenturyLink)"
Company: "Deere Employees Credit Union"
CreatedBy: "System"
CreatedDate: "2019-10-27 16:1:51"
ExpectedAmount: "90000"
LocationNumber: "5000"
ThresholdId: ""
ThresholdType: "Invoice Processing"
ThresholdValue: "10"
UpdatedBy: ""
UpdatedDate: "1900-00-00 00:00:00.000"
ВышеОбъект - это именно то, с чем почтальон успешен, но я получаю код 400
при использовании axios