public HttpResponseMessage Post(string value) { Repository repository = new Repository(); // se nada for enviado no corpo do post, retorna 400 if (string.IsNullOrEmpty(value)) return new HttpResponseMessage(HttpStatusCode.BadRequest); // parsing Book book = null; try { book = JsonConvert.DeserializeObject<Book>(value); } catch (Exception) { // adição minha, caso não consiga converter corretamente também envia um erro return new HttpResponseMessage(HttpStatusCode.BadRequest); } // caso o carro informado não existe, retorna 404 ICar[] cars = new Repository().GetAvailableCars(); if (!cars.Any(x => x.Category == book.Car.Category && x.Model == book.Car.Model && x.Year == book.Car.Year)) return new HttpResponseMessage(HttpStatusCode.NotFound); // tudo certo, salvando o agendamento repository.Book(book); return new HttpResponseMessage(HttpStatusCode.OK); }