Я создаю приложение CRUD в качестве учебного упражнения в React, которое взаимодействует с ASP API в фоновом режиме. Я использую fetch для вызовов API. Все вызовы [GetAll] и [GetById] работают нормально, но я не могу заставить работать свои [Сообщения]. Я могу отправить Json данные из тела через Postman, и Action в API получит их нормально, но когда я пытаюсь запустить те же данные из проекта React, это не работает.
Действие на контроллере выглядит так:
[Route("colours/new")]
[HttpPost]
public ActionResult AddColour([FromBody]ColourModel colour)
{
colour.DateAdded = DateTime.Now;
_storageRepository.AddNewColour(colour);
return Content("Your colour has been added");
}
Я проверяю процесс в React Dev Tools в моем браузере, и я вижу, что когда я привязываю свой Json значения заполнены. Однако, когда он достигает точки останова на контроллере API, объект имеет значение NULL. Как я уже упоминал ранее; Действие получило дату от Postman без проблем, и я нацелен на правильное действие из моего приложения React, потому что оно попадает в мою точку останова.
import { handleResponse, handleError } from "./apiUtils";
const baseUrl = process.env.REACT_APP_API_URL + "/colours/";
export function saveColour(colour) {
const data = JSON.stringify(colour);
return fetch(baseUrl + "new", {
method: "POST",
headers: { "content-type": "application/json" },
body: data,
})
.then(handleResponse)
.catch(handleError);
}
и handleResponse + handleError выглядят так:
export async function handleResponse(response) {
if (response.ok) return response.json();
if (response.status === 400) {
const error = await response.text();
throw new Error(error);
}
throw new Error("Network response was not ok.");
}
export function handleError(error) {
console.error("API call failed. " + error);
throw error;
}
Может ли кто-нибудь увидеть, где я могу ошибиться? Почему мой объект Json поступает в API как ноль?
Заранее спасибо
Jed