public async Task <IActionResult> Post([FromBody] PostViewModel postModel) { if (ModelState.IsValid) { var currentUser = await _userManager.FindByIdAsync(_currentUserId); try { var post = Mapper.Map <Post>(postModel); //Save to the database _logger.LogInformation("Attempting to save a new post"); _repo.AddOrUpdateBlogPost(post, currentUser); Response.StatusCode = (int)HttpStatusCode.Created; return(Json(Mapper.Map <PostViewModel>(post))); } catch (Exception ex) { _logger.LogError("Failed to Save new post", ex); Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { Message = ex.Message })); } } Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { Message = "Failed to Save new post", ModelState = ModelState })); }