Viewmodel преобразовать в Json не удается - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь преобразовать viewmodel в httpcontent, чтобы передать viewmodal.Я хочу вызвать метод post через web api из другого web api, используя url, мой код указан ниже, метод post работает правильно, но viewmodal имеет значение null, пожалуйста, помогите мне передать viewmodal в метод postasync.

client.BaseAddress = new Uri("http://localhost:89**2/");
string content = JsonConvert.SerializeObject(myViewModel);
var buffer = System.Text.Encoding.UTF8.GetBytes(content);
var byteContent = new ByteArrayContent(buffer);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var result = client.PostAsync("api/abcd", byteContent).Result;

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

вы можете попробовать что-то вроде этого.

client.BaseAddress = new Uri("http://localhost:89**2/"); string content = JsonConvert.SerializeObject(myViewModel); var stringContent = new StringContent(content, Encoding.UTF8, "application/json"); var result = client.PostAsync("api/abcd", stringContent ).Result;

Мы считаем, что проблема в "client.PostAsync", но, возможно, это в API, который получаетреквизиция, если приведенный ниже код не решает проблему, вы бы поместили здесь код метода, который получает заявку?

0 голосов
/ 06 декабря 2018

Попробуйте использовать StringContent для своих записей.

client.BaseAddress = new Uri("http://localhost:89**2/");
client.DefaultRequestHeaders.Accept.Add(
    new MediaTypeWithQualityHeaderValue("application/json"));
var content = new StringContent(JsonConvert.SerializeObject(myViewModel), 
                                Encoding.UTF8, "application/json");
var result = client.PostAsync("api/abcd", content).Result;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...