using System.Web.Http;
using System.Net.Http;
using System.Runtime.Serialization;
public class DataController : ApiController
{
    [HttpPost]
    public HttpResponseMessage PostData(PostRequestModel model)
    {
        if (model == null)
        {
            return Request.CreateResponse(
                System.Net.HttpStatusCode.BadRequest, 
                new { Error = "Invalid request body" }
            );
        }
        // 业务逻辑处理
        return Request.CreateResponse(
            System.Net.HttpStatusCode.OK, 
            new { 
                Message = $"Received: {model.User.Name}, Roles: {model.Roles.Count}"
            }
        );
    }
}
[DataContract]
public class PostRequestModel
{
    [DataMember]
    public User User { get; set; }
    [DataMember]
    public List<string> Roles { get; set; }
    [DataMember]
    public Metadata Metadata { get; set; }
}
[DataContract]
public class User
{
    [DataMember(Name = "name")]
    public string Name { get; set; }
    [DataMember(Name = "age")]
    public int Age { get; set; }
}
[DataContract]
public class Metadata
{
    [DataMember(Name = "createdAt")]
    public string CreatedAt { get; set; }
    [DataMember(Name = "active")]
    public bool Active { get; set; }
}