Как повторно использовать методы в ApiController? - PullRequest
0 голосов
/ 09 мая 2019

У меня есть объект под названием Гараж, который может иметь много объектов Транспортного средства.В ApiController "GaragesController" у меня есть следующие методы:

   [ProducesResponseType(typeof(IList<VehicleResponse>), 200)]
   [HttpGet("{GarageId}/vehicles")]

    public async Task<IActionResult> GetGarageVehicles([FromQuery] FindVehiclesByGarageQuery query)
    {
        return Ok(await _findVehiclesByGarageQueryHandler.Handle(query));
    }

    [ProducesResponseType(typeof(VehicleResponse), 200)]
    [HttpGet("{garageid}/vehicles/{vehicleid}")]

    public async Task<IActionResult> GetDepotGarage(int garageid, int vehicleid)
    {

        return Ok(await _findVehicleByGarageQueryHandler.Handle(new FindVehicleByGarageQuery
        {
            GarageId= garageid,
            VehicleId = vehicleid

        }));
    }

У меня также есть объект Called Depot, который может содержать много гаражей.В предстоящем DepotsController, есть ли способ «повторно использовать» методы в GarageController, или я должен повторить это снова?

1 Ответ

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

Вы можете инкапсулировать повторно используемый код в метод и поместить его в класс, доступный для ваших контроллеров.

После этого вы можете создавать отдельные методы действий с конкретными маршрутами в различных контроллерах и вызывать их.метод многократного использования (помещенный в этот отдельный класс) в теле метода действия в соответствии с потребностями.

Таким образом, вы можете повторно использовать код и сохранять маршруты и действия различными для разных контроллеров.

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