Сложный объект 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 действителен.