我正在使用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");
}
但是它仍然返回所有信息。任何想法表示赞赏。服务内部的呼叫是否缺少某些东西?