Nowadays JSON is more common than XML, Most of the JavaScript frameworks work well with JSON contents, AngularJS is an excellent example. Default WebAPI have IEnumerable<string> Get() and string Get(int id) methods
Take a look
Take a look
public class DefaultController : ApiController { // GET api/default2 public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; } // GET api/default2/5 public string Get(int id) { return "value"; } // POST api/default2 public void Post([FromBody]string value) { } // PUT api/default2/5 public void Put(int id, [FromBody]string value) { } // DELETE api/default2/5 public void Delete(int id) { } }
If you wish to return a JSON instead of string from WebAPI 2 may face some issues, So How can it resolved? You can return HttpResponseMessage instead of string or IEnumerable
[Route("api/Default/GetProductLookup/{id}")] public HttpResponseMessage GetProductLookup(string id) { string json = "Your JSON String"; var response = Request.CreateResponse(HttpStatusCode.OK); response.Content = new StringContent(json, Encoding.UTF8, "application/json"); return response; }Here is the whole class
public class DefaultController : ApiController { // GET api/default2 public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; } // GET api/default2/5 public string Get(int id) { return "value"; } [Route("api/Default/GetProductLookup/{id}")] public HttpResponseMessage GetProductLookup(string id) { string json = "Your JSON String"; var response = Request.CreateResponse(HttpStatusCode.OK); response.Content = new StringContent(json, Encoding.UTF8, "application/json"); return response; } // POST api/default2 public void Post([FromBody]string value) { } // PUT api/default2/5 public void Put(int id, [FromBody]string value) { } // DELETE api/default2/5 public void Delete(int id) { } }