public ServerDataModule(IServerDataRepository serverDataRepository) : base("/serverdata") { _serverDataRepository = serverDataRepository; Get["/"] = _ => Response.AsJson <object>(serverDataRepository.GetAll()); //Get["/{id:int}"] = _ => FormatterExtensions.AsJson<object>(Response, serverDataRepository.Get(_.id)); Get["/{id:int}"] = _ => NegotiatorExtensions .WithModel(Negotiate.WithStatusCode(HttpStatusCode.OK), serverDataRepository.Get(_.id)); Post["/"] = _ => { var data = serverDataRepository.Add(this.Bind <ServerData>()); return(HttpStatusCode.OK); }; Put["/{id:int}"] = _ => { var data = this.Bind <ServerData>(); data.Id = _.id; serverDataRepository.Update(data); return(HttpStatusCode.OK); }; Delete["/{id:int}"] = _ => { serverDataRepository.Delete(_.id); return(HttpStatusCode.OK); }; }
//Why commented this - explained in the article //public ServerData PostServerData(ServerData serverData) //{ // return serverDataRepository.Add(serverData); //} public HttpResponseMessage PostServerData(ServerData serverData) { serverData = ServerDataRepository.Add(serverData); var response = Request.CreateResponse(HttpStatusCode.Created, serverData); var uri = Url.Link("DefaultApi", new { id = serverData.Id }); response.Headers.Location = new Uri(uri); return(response); }
public HttpResponseMessage POST(ServerInfo s) { refId = Request.Headers.GetValues("refid").FirstOrDefault <string>(); logs.TrackEvent("Request received at Http POST Verb with SeverInfo parameter id as: " + s.server_id + " refid:" + refId); //msg.Send(s.ToString()); if (serverDataRepository.Add(s)) { return(Request.CreateResponse(HttpStatusCode.Created, "entry created in database")); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }