Я использую System.Net.Http
, я нашел несколько примеров в Интернете. Мне удалось создать этот код сделать POST
запрос:Как передать объект HttpClient.PostAsync и сериализовать как тело JSON?
public static string POST(string resource, string token)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(baseUri);
client.DefaultRequestHeaders.Add("token", token);
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("", "")
});
var result = client.PostAsync("", content).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;
return resultContent;
}
}
все работает отлично. Но предположим, что я хочу передать третий параметр методу POST
, параметр под названием data
. Пары данных являются объект, как это:
object data = new
{
name = "Foo",
category = "article"
};
, как я могу это сделать без создания KeyValuePair
? Мой php RestAPI
ждет вход json, поэтому FormUrlEncodedContent
должен правильно отправить raw
json. Но как я могу это сделать с Microsoft.Net.Http
? Благодарю.
Если я правильно понял ваш вопрос, вы хотите, чтобы отправить содержимое JSON вместо формы кодируются содержания (и по расширению вы хотите, чтобы ваш анонимный тип был сериализован как JSON в этот контент)? – CodingGorilla
@CodingGorilla yes - анонимный тип. – IlDrugo