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));
            }
        }