500 Ошибка сервера при передаче данных в API - PullRequest
0 голосов
/ 19 декабря 2018
public APIController()
{
    db = new ApplicationDbContext();
}

ApplicationDbContext db;
[HttpGet]
public List<Category> GetCategories()s
{
    return db.Categories.ToList();
}

Я пытаюсь получить категории из веб-API.Я использую AJAX, но это дает исключение 500.

1 Ответ

0 голосов
/ 22 декабря 2018

Поскольку строка подключения верна и все настроено правильно, в коде, который я вижу, есть 2 возможных проблемы:

1 - Ваш контроллер Api называется APIController, который является зарезервированным словом в .NET Api

2- Ваша служба get пытается вернуть полный Объект из категорий, которые могут быть связаны с родительскими объектами, а родительские объекты связаны с другими связанными объектами, что приводит к возвращению всей базы данных.

Я предлагаю использовать select new в лямбда-выражениях следующим образом:

[HttpGet]
public List<Category> GetCategories()s
{
    return db.Categories.Select(a => new { a.Name, a.ID, a.Description }).ToList();
}

Таким образом, вы избегаете запросов ко всей базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...