public HttpResponseMessage Post(Contact contact) { int id = _repository.Create(contact); var response = new HttpResponseMessage(HttpStatusCode.Created); //response.Headers.Location = new Uri("/api/Contact/" + id); return response; }
public HttpResponseMessage Post(Contact contact) { if (this.ModelState.IsValid) { var newId = repository.Values.Max(x => x.Id) + 1; contact.Id = newId; repository.Add(newId, contact); var response = this.Request.CreateResponse(HttpStatusCode.Created, contact); //response.Headers.Location = new Uri(this.Url.Link("DefaultApi", new { id = contact.Id })); response.Headers.Location = this.Url.ApiLink(contact.Id); return response; } else { var validationResult = this.ModelState.SelectMany(item => item.Value.Errors.Select(x => x.ErrorMessage + " (" + item.Key + ")")); throw new HttpResponseException(this.Request.CreateResponse(HttpStatusCode.BadRequest, validationResult)); } }