Сложный объект POST для подкласса ApiController

Я работаю над методом API, который должен принимать Image объект модели, который имеет свойство List<Comment> Comments, Image POSTed из мобильного приложения работает нормально, но если я включу массив 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 ответ

Решение

Я считаю, что что-то не так с телом запроса:

Я попробовал это в Fiddler:

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

И я получил два счета за комментарии в моем методе действий WebAPI.

Убедитесь, что нет ошибки опечатки с объектом запроса, который вы публикуете, и Json действителен.

Другие вопросы по тегам