请求正文是一种参数。要添加一个,您可以执行以下操作之一...
req.AddBody(body);
req.AddBody(body, xmlNamespace);
req.AddParameter("text/xml", body, ParameterType.RequestBody);
req.AddParameter("application/json", body, ParameterType.RequestBody);
要检索 body 参数,您可以在req.Parameters
集合中查找Type
等于 的项目ParameterType.RequestBody
。
请参阅此处RestRequest
的课程代码。
以下是RestSharp 文档的内容ParameterType.RequestBody
:
如果设置了这个参数,它的值将作为请求的正文发送。参数的名称被忽略,附加的 RequestBody 参数也被忽略——只接受 1 个。
RequestBody 仅适用于 POST 或 PUT 请求,因为只有它们实际发送正文。
如果您也有 GetOrPost 参数,它们将覆盖 RequestBody – RestSharp 不会合并它们,而是将 RequestBody 参数丢弃。
要即时读取/更新 body 参数,您可以尝试:
var body = req.Parameters.FirstOrDefault(p => p.Type == ParameterType.RequestBody);
if (body != null)
{
Console.WriteLine("CurrentBody={0}", body.Value);
body.Value = "NewBodyValue";
}
RestRequest
或者失败了,创建一个具有不同主体的对象的新副本。