首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Wep API获取多个返回对象值?

如何从Wep API获取多个返回对象值?
EN

Stack Overflow用户
提问于 2016-04-19 15:07:30
回答 2查看 655关注 0票数 0

我的Wep API方法:

代码语言:javascript
复制
    [HttpGet]
            public object getData()
            {
              var firstObj = dbContext.Customer();
              var secondObj= dbContext.Department();
              var thirdObj= dbContext.Email();
              return new { firstObj,secondObj,thirdObj };
            }

    /* this is my client side call */
     using (var client = new HttpClient())
      {
       client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", CommonHelper.CurrentToken);
         client.BaseAddress = new Uri(CommonHelper.baseAddress);
         HttpResponseMessage response = await client.GetAsync("/OPUS/Accounts/getData");
     response.EnsureSuccessStatusCode(); 
}

我从不同的表返回了多个对象。我需要从WEP API中的单个方法中获取这些值

EN

回答 2

Stack Overflow用户

发布于 2016-04-19 15:36:36

尝试执行以下操作,返回一个包含足够多值的匿名对象:

代码语言:javascript
复制
[HttpGet]
public HttpResponseMessage getData()
{
  var firstObj = dbContext.Customer();
  var secondObj= dbContext.Department();
  var thirdObj= dbContext.Email();
  return new { firstObj,secondObj,thirdObj };
}

    /* this is my client side call */
using (var client = new HttpClient())
{
       client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", CommonHelper.CurrentToken);
       client.BaseAddress = new Uri(CommonHelper.baseAddress);
       HttpResponseMessage response = await client.GetAsync("/OPUS/Accounts/getData");
       response.EnsureSuccessStatusCode(); 
}
票数 1
EN

Stack Overflow用户

发布于 2016-05-17 17:29:34

我可以通过一个WEB API方法获得所有的对象。

代码语言:javascript
复制
using (var client = new HttpClient())
{
       client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", CommonHelper.CurrentToken);
       client.BaseAddress = new Uri(CommonHelper.baseAddress);
       HttpResponseMessage response = await client.GetAsync("/OPUS/Accounts/getData");
       response.EnsureSuccessStatusCode(); 

var Lookups = await response.Content.ReadAsAsync<object>();
                    JObject _jObject = JObject.Parse(Lookups.ToString());

                    JArray deptStatus = _jObject["firstObj"] as JArray;
                    DeptTypeLookups = deptStatus .ToObject<ObservableCollection<Department>>();

JArray custStatus = _jObject["secondObj"] as JArray;
                    custTypeLookups = custStatus .ToObject<ObservableCollection<CustDetail>>();
}

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36710942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档