Метод Api Post не работает в ядре .net core azure - PullRequest
1 голос
/ 15 мая 2019

Я использую ядро ​​.net для выставления API.Когда я вызываю api от почтальона, какой-то метод не срабатывает, появляется сообщение об ошибке 404 not found.

  [HttpPost]
    public async Task<bool> AddLogs([FromBody]List<LogModel> model)
    {
        var result = false;
        foreach (var item in model)
        {
            result = await _logService.Insert("Logs", item);
        }

        return result;
    }

   public class LogModel: TableEntity
{
    public int Status { get; set; }
    public bool IsBreak { get; set; }
    public string Location { get; set; }
    public DateTime StartDateAndTime { get; set; }
    public DateTime EndDateAndTime { get; set; }
    public string Remarks { get; set; }
    public int Id { get; set; }
  }

Когда я вызываю api 'AddLogs', появляется сообщение об ошибке get not found.

Нопри попытке

 [HttpPost]
    public async Task<bool> Post()
    {
        return true;
    }

будет возвращено истинное значение.

Но я заметил, что при вызове в localhost API AddLogs работает нормально.Это ударит API.Но когда я публикуюсь на лазурном, это показывает, что я не найден.

1 Ответ

0 голосов
/ 16 мая 2019

Я тестирую на своем сайте, и он работает хорошо.

Причина этого заключается в том, что шаблон развертывания или стандартный веб-API ASP.NET Core не включает документ по умолчанию в корневой каталог веб-сайта.Например, index.htm, defualt.aspx, default.htm являются документами по умолчанию, и IIS будет доставлять их, если при доступе к URL-адресу не указан конкретный файл.

Вы можете установить [HttpPost("AddLogs/")], чтобы указать AddLogsдействие, если у вас есть несколько методов httppost.Не забудьте также добавить следующий код в метод Configure.

app.UseMvc(routes =>
{
    routes.MapRoute(name: "default", template: "api/{controller}/{action}/{id?}");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...