如何从web api获得响应 [英] How to get response from web api
本文介绍了如何从web api获得响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在mvc控制器中使用了一个web api。但是没有返回任何数据。请帮助我使用我的api链接。
我是什么尝试过:
I am consumed a web api in mvc controller.But no data has been returned.please help me to consume my api link.
What I have tried:
public class HomenewController : Controller
{
// GET: Homenew
string url = "https://api.yourmembership.com/reference/2_25/Sa_Members_Groups_Add.htm ";
public async Task<ActionResult> Index()
{
List<Employee> EmpInfo = new List<Employee>();
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage Res = await client.GetAsync(url);
if (Res.IsSuccessStatusCode)
{
var EmpResponse = Res.Content.ReadAsStringAsync().Result;
EmpInfo = JsonConvert.DeserializeObject<List<Employee>>(EmpResponse);
}
return View(EmpInfo);
}
}
}
}
模型api link
Model for the api link
public class Employee
{
public String ID { get; set; }
public String GroupCode { get; set; }
public Boolean AddAsMember { get; set; }
public Boolean IsPrimaryGroup { get; set; }
public Boolean AddAsGroupAdmin { get; set; }
public String AddGroupRepTitle { get; set; }
}
推荐答案
首先检查你从api传递的属性控制器?
你可以在api控制器中尝试这种类型的代码:
First you check your which properties are you passing from the api controller?
And You can try this type code in api controller:
/// <summary>
/// This method for Get All employee .
/// </summary>
[HttpGet]
[Route("GetEmployee")]
public HttpResponseMessage GetEmployee()
{
try
{
////get employee.
var employeeCollection = employeeService.GetEmployee().ToList();
////check object
if (employeeCollection.Count > 0 && employeeCollection != null)
{
////dynamic list.
dynamic employees = new List<ExpandoObject>();
////bind dynamic property.
////return response from employee service.
foreach (var employeeDetail in employeeCollection)
{
////bind dynamic property.
dynamic employee = new ExpandoObject();
////map ids
employee.ID = employeeDetail.ID;
employee.GroupCode = employeeDetail.GroupCode;
employee.AddAsMember = employeeDetail.AddAsMember;
employee.IsPrimaryGroup = employeeDetail.IsPrimaryGroup;
employee.AddAsGroupAdmin = employeeDetail.AddAsGroupAdmin;
employee.AddGroupRepTitle = employeeDetail.AddGroupRepTitle;
////set customers values in list.
employees.Add(employee);
////return customers service
return this.Request.CreateResponse<List<ExpandoObject>>(HttpStatusCode.OK, (List<ExpandoObject>)employees);
}
}
else
{
////case of record not found.
return this.Request.CreateResponse(HttpStatusCode.NotFound);
}
}
catch (Exception ex)
{
//// handel exception log.
Console.Write(ex.Message);
////return case of exception.
return this.Request.CreateResponse(HttpStatusCode.InternalServerError, new { Message = "Exception : " + ex.Message });
}
}
hope it's useful for you...
这篇关于如何从web api获得响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文