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

Я использую базу данных 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");
 }

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

...