Несколько моделей API для C # - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть контроллер API, который вызывает сторонний API, а затем десериализует его через две модели API в C #.Я использую JsonObject и JsonProperties в моделях API.

Теперь мне нужно собрать свойства из обеих моделей в моем ответе клиенту.В контроллере я создал два объекта C #, каждый из которых получает информацию от моделей API.Я хочу создать объект, содержащий определенные свойства из обоих объектов.Кто-нибудь может посоветовать лучшую практику для достижения этой цели?

var personJson = await personResponse.Content.ReadAsStringAsync();
var companyJson = await companyResponse.Content.ReadAsStringAsync();

var UserObject = JsonConvert.DeserializeObject<Person.RootObject>(personJson);
var CompanyObject = JsonConvert.DeserializeObject<Company.RootObject>(companyJson);

1 Ответ

0 голосов
/ 28 сентября 2018

Вы можете создать class для данных, которые вам нужно вернуть, и заполнить их, но во многих случаях достаточно использовать анонимный объект, который затем будет сериализован для вас платформой.Пример:

return new
{
    UserId = UserObject.Id,
    UserFullname = UserObject.FirstName + " " + UserObject.LastName,
    CompanyId = CompanyObject.Id,
    CompanyName = CompanyObject.Name
};

Вы можете сделать это так далеко, как вам нужно, даже включая массивы, словари, списки, вложенные (под) объекты и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...