Я использую WebAPI2
. Это мой контроллер Класс:
public class ValuesController : ApiController
{
[HttpPost]
public HttpResponseMessage LoginMethod()
{
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "This is a simple message");
return response;
}
}
Я могу проверить этот метод локально с почтальона, и он дает мне правильный вывод, но на сервере он не работает. Этот метод находится внутри ValuesController
, и я звоню таким образом (по локальной сети)
http://localhost:49476/api/values/LoginMethod/
и работает без проблем. На сервере я так звоню
http://example.com/api/values/LoginMethod/
выдает ошибку с кодом состояния 500 internal server error
:
{
"Message": "An error has occurred.",
"ExceptionMessage": "Value cannot be null.\r\nParameter name: nameValueCollection",
"ExceptionType": "System.ArgumentNullException",
"StackTrace": " at System.Web.Http.ApiController.<InvokeActionWithExceptionFilters>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__0.MoveNext()"
}
Это мой WebAPIConfig
файл:
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Пожалуйста, подскажите, где я не так делаю? Любая помощь приветствуется. Спасибо.