public async Task <IActionResult> CreateAsync([FromBody] CreateTagRequest model) { if (!ModelState.IsValid) { return(Bad(ModelState)); } if (await _tagsService.AnyAsync(new TagSpecification(x => x.Title.ToLower().Equals(model.Title.ToLower())))) { return(Bad(ModelState)); } var tag = _mapper.Map <Tag>(model); await _tagsService.InsertAsync(tag); var response = new CreatedResponse <int> { Id = tag.Id }; var baseUrl = $@"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent()}"; var locationUrl = baseUrl + "/" + ApiRoutes.TagsController.GetTag.Replace("{id}", tag.Id.ToString()); return(Created(locationUrl, response)); }