路由参数和主体的ServiceStack DTO模型绑定

时间:2013-04-11 08:28:55

标签: asp.net rest servicestack

我有一个Request DTO设置用于对导致更新的服务执行PUT。

我需要将路由参数和json有效负载作为PUT发送(此有效负载是下面的ApprovalRoleData对象,表示我想在服务器上反映的对象的新状态):

[Route("/qms/{QAID}/reviewers/{RoleType}", "PUT")]
public class UpdateReviewer
{
    public string QAID { get; set; }
    public string RoleType { get; set; }

    public ApprovalRoleData UpdatedRoleData { get; set; }
}   

在我的服务中,我有一个接受此DTO的Put()调用:问题是ApprovalRoleData对象没有被反序列化(但是QAID和RoleType是):

public object Put(UpdateReviewer request)
{
     string QAID = request.QAID;    //can see value
     string RT = request.RoleType;  //can see value

     ApprovalRoleData ard = request.UpdatedRoleData;  //null


}

是否有类似于WebAPI的方式来指定我希望模型绑定能够同时使用路由参数和正文?

旁注:

此外,获取基础流所以我只能用base.RequestContext.Get<IHttpRequest>().InputStream解析自己没有用,因为没有剩余的流要读(我假设ServiceStack的一部分做模型绑定可能消耗了当我到达它时流?)

0 个答案:

没有答案