我有一个ASP.NET Web API,我正在使用ASP.NET Web API Help Page自动为我的API生成文档。一切都很好,除了我的模型上的一个属性是只读的。我的模型看起来像这样:
[DataContract]
public class EventViewModel
{
[DataMember]
public int ProjectId { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string ProjectUrl
{
get
{
return MvcUrlHelper.BuildUrl(MvcUrlType.Project, new MvcUrlContent()
{
ProjectSlug = ProjectSlug,
OrganizationDomain = OrganizationDomain,
OrganizationSlug = OrganizationSlug
});
}
}
public string OrganizationSlug { get; set; }
public string OrganizationDomain { get; set; }
public string ProjectSlug { get; set; }
}
当我尝试为返回此模型的操作生成示例响应时,出现以下错误:
使用格式化程序时发生异常 'JsonMediaTypeFormatter'为媒体类型生成样本 '应用程序/ JSON'。异常消息:从中获取值时出错 'WebApi.Models.EventViewModel'上的'ProjectUrl'。
如果我注释掉ProjectUrl属性,则样本响应生成正常。知道如何告诉它将该属性视为普通字符串,或者更好地提供该属性的样本值应该是什么?