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
?