【发布时间】:2019-05-09 06:12:37
【问题描述】:
我有一个名为 Garage 的对象,它可以包含许多 Vehicle 对象。 在 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
}));
}
我还有一个名为 Depot 的对象,它可以包含许多车库。在即将到来的 DepotsController 中,有没有办法“重用” GarageController 中的方法,还是我必须从头再来?
【问题讨论】:
-
您应该将您的代码移动到一个可重用的类中并从两个控制器中使用它。
-
考虑到不同的路线不会有问题吗?
-
您应该移动方法的内容,而不是可重用类中的方法本身。
标签: c# .net api asp.net-core controller