我正在使用RestSharp在ASP .NET MVC 2项目。尝试创建RestRequest (使用POST方法)并添加两个枚举值(my类型- OrderStatusFlags)以请求主体--使用内置RestSharp XmlSerializer:
var request = new RestRequest("orders/{vendorID}/{number}", Method.POST);
request.AddBody(previousOrderStatus);
request.AddBody(newOrderStatus);但是在请求中调用AddBody方法后,参数只能看到空值,而看不到值。当调用MVC操作方法时会发生错误:
参数字典包含“OrdersResourceEndpoint”中非空类型'previousStatus‘的参数'OrderStatusFlags’的空条目,用于方法'RestResponse PostOrderStatus(Int32,System.String,OrderStatusFlags,OrderStatusFlags)‘。可选参数必须是引用类型、可空类型,或者声明为可选参数。参数名称:参数
恩姆看起来是这样的:
public enum OrderStatusFlags : long
{
    Pending,
    Confirmed,
    ...
}有没有人会发生类似的情况?
发布于 2010-10-05 18:56:44
这里有几个问题。首先,您只能调用AddBody()一次,否则最后一次调用将优先。AddBody()也仅用于将XML作为请求体发送。需要发送到该URL所需的XML架构是什么?您能发布一些您想要生成的示例XML吗?
我认为更有可能的是,您实际上希望使用AddParameter()添加一些POST参数,因为这比XML主体更为常见。
https://stackoverflow.com/questions/3865182
复制相似问题