API возвращает только ответы без содержимого - PullRequest
0 голосов
/ 21 октября 2019

Мои методы возвращают только ответы без содержимого.

Контроллер

[HttpGet("Floors/{floorId}", Name = "FloorById")]
public IActionResult GetFloor(int floorId)
{
    try
    {
        Floor floor = _repository.Floor.GetFloor(floorId);
        if (floor == null)
            return NotFound();
        return Ok(floor);
    }
    catch (Exception e)
    {
        return StatusCode(500, "text");
    }
}

Репозиторий

public Floor GetFloor(int floorId)
{
    return _context.Floors.FirstOrDefault(f => f.Id == floorId);
}

В идеале этот код должен возвращать ответ Ok с объектомтакже.

Вместо этого я получаю только одобренный ответ при использовании чванства. Даже не найденный.

1 Ответ

1 голос
/ 21 октября 2019

Swagger не может определить тип возвращаемого действия, основываясь на IActionResult.

Используйте атрибут ProducesResponseType:

[ProducesResponseType(typeof(Floor), 200)] // <-- THIS
[HttpGet("Floors/{floorId}", Name = "FloorById")]
public IActionResult GetFloor(int floorId) {
    try {
        Floor floor = _repository.Floor.GetFloor(floorId);
        if (floor == null)
            return NotFound();
        return Ok(floor);
    } catch (Exception e) {
        return StatusCode(500, "text");
    }
}
...