Я пытаюсь [EnableQuery]
на маршруте (Пользователь) с идентификатором в качестве примера, если я делаю:
GET /users/1?$expand=Character
Я хотел бы получить пользователя с идентификатором 1 с его символом, нов настоящее время он возвращает меня null для символа:
{"character":null,"id":1,"username":"Iterer","password":"motdepasse","characterId":1}
Но на (глобальном) маршруте, чтобы получить всех пользователей:
GET /users?$expand=Character
Я получаю символ пользователя, как вы можете видеть:
[{"character":{"id":1,"name":"Name"},"id":1,"username":"Iterer","password":"motdepasse","characterId":1}]
Вот действия моего контроллера:
// GET: api/Users
[HttpGet]
[EnableQuery]
public ActionResult<IQueryable<UserEntity>> GetUsers()
{
return Ok(_context.Users);
}
// GET: api/Users/5
[HttpGet("{id}")]
[EnableQuery]
public ActionResult<IQueryable<UserEntity>> GetUserEntity(long id)
{
var userEntity = _context.Users.Where(u => u.Id == id).FirstOrDefault();
if (userEntity == null)
{
return NotFound();
}
return Ok(userEntity);
}
Оба используют интерфейс IQueryable, но я до сих пор не понимаю, почему он не работает, вот полный контроллер:
https://github.com/myerffoeg/gaium-api/blob/master/Gaium/Controllers/UsersController.cs
и мой файл запуска:
https://github.com/myerffoeg/gaium-api/blob/master/Gaium/Startup.cs
Более того, если у вас есть несколько рекомендаций, которыми можно поделиться, мы будем благодарны!