POST复杂对象到ApiController子类

时间:2015-07-13 14:16:56

标签: c# asp.net-apicontroller

我正在开发一个API方法,该方法应该接受Image模型对象,该对象具有属性List<Comment> Comments。从移动应用程序发布的Image工作正常,但如果我包含一组Comment个对象,则它们不会显示在Image的实例上。我对C#并不是非常棒,所以任何帮助都会受到赞赏。

图片类

public class Image
{
    public int? ImageId { get; set; }
    [Required]
    public string Image { get; set; }
    [Required]
    public string ContentType { get; set; }
    [Required]
    public string Filename { get; set; }
    [Required]
    public DateTime DateTaken { get; set; }
    [Required]
    public int UserId { get; set; }
    [Required]
    public int CompanyId { get; set; }
    [Required]
    public int LocationId { get; set; }
    public decimal? Lat { get; set; }
    public decimal? Long { get; set; }
    public List<ApiComment> Comments { get; set; }
}

评论类

public class ApiComment
{
    [Required]
    public string Comment { get; set; }
    [Required]
    public DateTime DateCreated { get; set; }
    [Required]
    public int UserId { get; set; }
}

ImagesController的开头

public class ImagesController : ApiController
 {
    [System.Web.Http.HttpPost]
    public ActionResult Post(Image image)

1 个答案:

答案 0 :(得分:0)

我认为您的请求的请求正文有问题:

我在小提琴手中试过这个:

{ "Comments" : [{ "Comment" : "Hello"}, {"Comment" : "World"}]}

我的 WebAPI 操作方法中的评论有两个计数。

检查您发布的请求对象是否存在拼写错误,并且Json有效。