I have two HttpPost methods in my api controller and when i am hitting my api i am getting 500 internal server error.
But surprisingly when i remove one of the HttpPost methods i am able to successfully hit my api and retrieve the info i want.
Any idea what might be the problem?
these are the two methods
[HttpPost] [ActionName("PostUser")] public HttpResponseMessage PostUser([FromBody]string id) { var accessToken = id; var client = new FacebookClient(accessToken); dynamic result = client.Get("me", new { fields = "name,email" }); string name = result.name; string email = result.email; var existingUser = this.Repository.FindByUserIdentity(name); if (existingUser == null) { var newUser = new User { Username = name, Email = email, }; var success = this.Repository.CreateAccount(newUser); if (!success) { return Request.CreateResponse(HttpStatusCode.InternalServerError); } //return created status code as we created the user return Request.CreateResponse<User>(HttpStatusCode.Created, newUser); } return Request.CreateResponse(HttpStatusCode.OK); } [HttpPost] [ActionName("PostEmail")] public HttpResponseMessage PostEmail([FromBody]string id) { var accessToken = id; var client = new FacebookClient(accessToken); dynamic result = client.Get("me", new { fields = "email" }); string name = result.name; string email = result.email; var existingUser = this.Repository.FindByUserIdentity(name); if (existingUser == null) { var newUser = new User { Email = email }; var success = this.Repository.CreateAccount(newUser); if (!success) { return Request.CreateResponse(HttpStatusCode.InternalServerError); } //return created status code as we created the user return Request.CreateResponse<User>(HttpStatusCode.Created, newUser); } return Request.CreateResponse(HttpStatusCode.OK); } EDIT:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Competition", action = "all", id = UrlParameter.Optional } ); }