React/SuperAgent - использование ViewModel для доступа к конкретным данным из Json

Я использую React и базу данных.Net Entity Framework. В SuperAgent я пытаюсь использовать ViewModel для получения определенных элементов из JSon-ответа на основе идентификатора пользователя. Когда я реализую эту ViewModel, он по-прежнему возвращает всю информацию. Чтобы продемонстрировать мою проблему, допустим, у меня есть API-вызов "http://{API-URL}/{user_id}, который возвращает все:

{
"name": "name",
"tel": "tel",
"address": "address"
"work": "work",
"extra1": "extra1",
"extra2": "extra2",
"extra3": "extra3",
"extra4": "extra4",
"extra5": "extra5",
"extra6": "extra6",
"extra7": "extra7" }

Теперь я хочу вернуть конкретные данные, скажем, имя, работа, extra1, extra2 и extra3. У меня есть ViewModel:

export class ExtrasViewModel {
name: string;
work: string;
extra1: string;
extra2: string;
extra3: string;
}

Мой сервис выглядит так:

class ApiService extends HttpService implements IApiService {
_apiControllerPath: string = "/api";
constructor() {
 super();
 this.setRequestApiControllerPath(`${this._apiControllerPath}`);
}

getSpecificExtras(user_id: string):Promise<Array<ExtrasViewModel>> {
return new Promise((resolve, reject) => {
  this.request
    .get(`${this.requestUrl}/${user_id}`)
    .then(r => resolve(r.body))
    .catch(e => reject(e));
});
}

Я пробую это так:

componentDidMount() {
apiService.getExtras(this.props.user_id).then(r => {
  console.log("Result");
 }

Но он все равно возвращает всю информацию. Любые идеи приветствуются. Что-то не хватает при звонке внутри сервиса?

0 ответов

Другие вопросы по тегам