Я пытаюсь работать с REST API с помощью RestSharp и C#. Документация по API, который я использую дает запрос на образец XML:Создание запроса XML с помощью RestSharp
<?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.
Это не работает, полученный XML содержит набор элементов, вложенных в элемент . –
Возможно ли предоставить вам общие сведения об API, с которыми вы работаете. – Arvin
и, пожалуйста, убедитесь, что вы пробовали это - http://stackoverflow.com/questions/12284931/can-restsharp-send-a-liststring-in-a-post-request – Arvin