Выпуски Аксиоса и .Net Core - PullRequest
       12

Выпуски Аксиоса и .Net Core

0 голосов
/ 28 октября 2019

Я не могу выполнить успешный 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

1 Ответ

1 голос
/ 28 октября 2019

Проблема заключалась в том, что у моего значения updatedDate не было формата, приемлемого для атрибута Json, что привело к сбою всей записи.

...