Hi, I'm working on WebAPI, with a controller having C[HttpPost] R[HttpGet] U[HttpPut] D[HttpDelete]
-
-
-
- public class PersonController : ApiController
- {
- static IList<Person> personsList = LoadPersons();
-
-
-
-
-
- [HttpGet]
- [Route("api/Person/")]
- public IHttpActionResult GetPerson()
-
- {
- return Ok(personsList);
- }
-
-
-
-
-
-
- [HttpGet]
- [Route("api/Person/{entityId:int?}")]
- public IHttpActionResult GetPersonById([FromUri]int? entityId)
- {
- if (entityId != null)
- {
- var person = personsList.Where(p => p.EntityId == entityId).SingleOrDefault();
- return Ok(person);
- }
- return BadRequest("Invalid EntityId !!, can't have invalid chars");
- }
-
-
-
-
-
-
- [HttpPost]
- public IHttpActionResult SavePerson([FromBody]Person personData)
- {
- if (personData != null)
- {
- personsList.Add(personData);
- return Ok();
- }
- return BadRequest("Invalid !!");
- }
-
-
-
-
-
-
- [HttpPut]
- public IHttpActionResult UpdatePerson([FromBody]Person personData)
- {
- if (personData != null)
- {
- var person = personsList.Where(p => p.EntityId == personData.EntityId).SingleOrDefault();
- person.Email = personData.Email;
- return Ok(person);
- }
- return BadRequest("Invalid !!");
- }
-
-
-
-
-
-
- [HttpDelete]
- public IHttpActionResult RemovePerson(int? entityId)
- {
- if (entityId != null)
- {
- var delPerson = personsList.Where(p => p.EntityId == entityId).SingleOrDefault();
- personsList.Remove(delPerson);
- return Ok();
- }
- return BadRequest("Invalid !!");
- }
- private static List<Person> LoadPersons()
- {
- var persons = new List<Person>();
- persons.Add(new Person { Email = "ron's Email", EntityId = 01, Name = "ron" });
- persons.Add(new Person { Email = "saun's Email", EntityId = 02, Name = "saun" });
- persons.Add(new Person { Email = "jae's Email", EntityId = 03, Name = "jae" });
- return persons;
- }
- }
I'm able to do GET request and list person(s)
But when i try to do a POST/ PUT/ DELETE request i'm getting response as '"The requested resource does not support http method 'POST'/ 'PUT'/ 'DELETE''.
What am i missing here? help me to figure my mistake