给定请求"foo?Bar=baz",我们的RequestResource在过去是用资源的属性"Bar"中的值"baz"填充的。
你知道为什么这个会坏吗?ServiceStack最近有什么重大变化吗?我们已经从3.9.17.0升级到3.9.32(在0.33上也失败了)。欢呼声
codez:
[DataContract(Name = "Response")]
public class ItemsServiceResource
{
public ItemsServiceResource()
{
PageInfo = new PageInfo
{
PageNumber = 1,
PageSize = 100
};
}
[DataMember]
public int UserId { get; set; }
[DataMember]
public PageInfo PageInfo { get; set; }
[DataMember]
[JsonProperty]
public List<Model.Item> Items { get; set; }
// this is the property that comes now as null instead of being populated
public string SearchTerm { get; set; }
}
public class ItemsService : RestServiceBase<ItemsServiceResource>
{
public override object OnGet(ItemsServiceResource request)
{
//do work
}
}
端点注册是:
public class AppHost
{
public AppHost()
: base("blah Host") {}
public override void Configure(Funq.Container container)
{
Routes
.Add<ItemsServiceResource>("/user/{userId}/items/")
}
}
@demisbellot刚刚在邮件列表中回复了我们,他的猜测是正确的:我们缺少searchteam属性中的[DataMember]属性。
显然这已经成为ServiceStack最新版本的选项。