2

我设置了一个请求 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 部分可能在我到达它时消耗了流?)

4

0 回答 0