Я использую React Client с C# WEB API.
Функция REACT
const deleteThisEmployee = empId => {
const formData = new FormData();
formData.append("id", empId);
fetch("http://localhost:54178/api/employee", {
method: "DELETE",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: formData
})
.then(resp => resp.json())
.then(
result => {
// SUCCESS
}
// FAIL
);
};
Настройки веб-API:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// add this to support JSON response and not XML
config.Formatters.JsonFormatter.SupportedMediaTypes
.Add(new MediaTypeHeaderValue("text/html"));
// Enable Cors
config.EnableCors(new EnableCorsAttribute("http://localhost:3000", "*", "*")); // React
}
}
И Контроллер:
public class EmployeeController : ApiController
{
// .. Some other verbs
public String Delete(int id)
{
// TODO
Console.WriteLine("Got the Employee ID : " + id);
// Continue with delete logic
}
}
Когда я пытаюсь удалить строку, я получаю
DELETE http://localhost:54178/api/employee 405 (Method Not Allowed)
Я проверил некоторые вопросы по SO, которые предлагали добавить в WEB.Config
<remove name="WebDAV" />
<remove name="WebDAVModule" />
Но это не помогло.
Есть идеи, что может вызвать это?