public async Task <IActionResult> InitiateBattle([FromBody] InitiateBattleRequest request) { try { var battle = await _battleService.InitiateBattle( request.Dimension, request.NoOfShips, request.ShipLength); return(Created(Request.Path, battle)); } catch (InvalidBattleInitiationException ex) { _logger.LogError(ex.Message); return(Conflict(ex)); } catch (FailedBattleInitiationException e) { _logger.LogError(e.Message); return(BadRequest(e)); } }