题
我使用 RestSharp 在ASP .NET MVC 2项目。试图创建RestRequest(使用POST方法),并添加两个枚举值(我的枚举类型 - OrderStatusFlags)到请求机构 - 使用内置的RestSharp XmlSerializer的:
var request = new RestRequest("orders/{vendorID}/{number}", Method.POST);
request.AddBody(previousOrderStatus);
request.AddBody(newOrderStatus);
但是调用请求参数AddBody方法后可以看到只有空的,但没有任何值。并且在调用MVC的操作方法中发生错误:
参数字典包含参数方法的空条目非空类型 'OrderStatusFlags' 的 'previousStatus' 'RestResponse PostOrderStatus(的Int32,System.String,OrderStatusFlags,OrderStatusFlags)' 在 'OrdersResourceEndpoint'。一个可选的参数必须是引用类型,可空类型,或声明为一个可选参数。 参数名称:参数
枚举看起来像这样:
public enum OrderStatusFlags : long
{
Pending,
Confirmed,
...
}
是否有人发生一个类似的情况呢?
解决方案
一对夫妇在这里的问题。首先,你只能叫AddBody()
一次或最后一次通话将优先考虑。 AddBody()
也只有用于发送XML作为请求体。什么是所需的XML模式,你需要发送到该网址是什么?你可以张贴一些示例XML,你想生成?
我觉得更有可能你真的想使用AddParameter()
添加一些POST参数,因为这是更为常见比XML请求主体。
不隶属于 StackOverflow