I have the following class that I use in my WebApi2 service.
[DataContract()]
public class TokenRequest
{
[Required]
[DataMember(Name = "last_name")]
public String LastName { get; set; }
[Required]
[DataMember(Name = "badge_number")]
public String BadgeNumber { get; set; }
}
As you can see the class's properties are aliased with [DataMember(Name = "...")]
Using the following controller
[Route("Service/GetToken")]
[HttpPost]
public IHttpActionResult GetToken(TokenRequest request) { ... }
I had hoped to get a TokenRequest object with the following POST body
last_name=Stillwell&badge_number=0000
However, both request.LastName and request.BadgeNumber are null.
Now, if I make the request like so:
LastName=Stillwell&BadgeNumber=0000
request.LastName and request.BadgeNumber will have the correct values. Why isn't [DataMember(Name = "...")] pulling in my values when I use last_name or badge_number?