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; }
}