public async Task <IActionResult> Create([FromBody] Book book) { var validator = new BookValidator(); var brokenRules = validator.GetBrokenRules(book); if (brokenRules.Any()) { return(BadRequest(brokenRules.Select(b => b.Rule))); } await _applicationService.Add(book); return(CreatedAtRoute(nameof(GetById), book.Id)); }