【发布时间】:2014-04-02 22:01:00
【问题描述】:
public interface ISurvey
{
List<ISurveyItem> Items { get; set; }
int QueueId { get; set; }
SurveyType Type { get; set; } //an enum
SurveyResult ToSurveyResult();
void CopyToSurveyDto(Survey dbsurvey);
}
public interface ISurveyItemBase
{
int Sequence { get; set; }
string Template { get; set; }
string Label { get; set; }
int Id { get; set; }
}
public interface ISurveyItem:ISurveyItemBase
{
SurveyItemType Type { get; set; }//an enum
string Value { get; set; }
}
public class Survey : ISurvey
{
public List<ISurveyItem> Items { get; set; }
public int QueueId { get; set; }
public SurveyType Type { get; set; }
public SurveyResult ToSurveyResult()
{
//implimentation
}
public void CopyToSurveyDto(Data.Survey dbsurvey)
{
//implimentation
}
}
当我尝试通过 POST 将调查对象传递给我的 Web API 服务时,Items 属性被序列化为一个空列表。我想这与它不知道序列化项目的具体类型有关。有没有关于如何做到这一点的指示?
【问题讨论】:
-
ISurveyItem的定义是什么? -
一个可能的答案here。
-
为您添加了 ISurveyItem 界面。该链接确实看起来像是答案的路径,我只是不知道如何在我的 Web API 方法上实现它。
标签: c# asp.net-web-api json.net