【发布时间】:2015-12-30 10:45:38
【问题描述】:
我正在尝试使用 RestSharp 和 C# 使用 REST API。 我正在使用的 API 文档提供了一个示例 XML 请求:
<?xml version='1.0' encoding='UTF-8'?>
<messages>
<accountreference>EX0000000</accountreference>
<from>07700900654</from>
<message>
<to>07700900123</to>
<type>SMS</type>
<body>Hello Mr Sands.</body>
</message>
<message>
<to>07700900124</to>
<type>SMS</type>
<body>Hello Mr Mayo.</body>
</message>
</messages>
我很难理解如何以他们想要的格式构建请求(称为“消息”的多个元素)
我已经为 RestSharp 创建了这些类来序列化:
public class messages
{
public string accountreference { get; set; }
public string from { get; set; }
public message message { get; set; }
}
public class message
{
public string to { get; set; }
public string body { get; set; }
}
这是我的 RestSharp 代码:
var client = new RestClient("http://api.url.com/v1.0")
{
Authenticator =
new HttpBasicAuthenticator(
UserName,
Password)
};
var request = new RestRequest("theresource", Method.POST) { RequestFormat = DataFormat.Xml };
request.AddBody(
new messages
{
accountreference = Configuration.AccountReference,
from = Configuration.From,
message =
new message { to = Configuration.Message.To, body = Configuration.Message.Body }
});
var response = client.Execute(request);
这在我只有 1 个消息元素时非常有用,但我不知道如何创建多个消息元素而不将它们嵌套在一个数组中,这不适用于 API。
【问题讨论】: