React / SuperAgent-使用ViewModel从Json访问特定数据

时间:2018-09-27 09:56:29

标签: reactjs superagent

我正在使用React和.Net Entity Framework数据库。对于SuperAgent,我试图使用ViewModel从基于用户ID的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 个答案:

没有答案