区块链技术博客
www.b2bchain.cn

C#.NET Web API从发布请求返回 – c#程序员分享

本文介绍了C#.NET Web API从发布请求返回 – c#程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

我向要返回JSON数据的路由发出POST请求。

    [HttpPost("api/v1/testGetAll")]     public object Test([FromBody]object filteringOptions)     {         return myService.GetLogs(filteringOptions).ToArray();     } 

路由工作正常,过滤工作正常,当我在邮递员中测试路由时,我得到了正确的响应。但是,这只是一个后端,我想从我的自定义API网关调用此路由。

我面临的问题是获得确切的答复。相反,我得到的是成功状态,标题,版本,请求消息等。

    public object TestGetAll(string ApiRoute, T json)     {         Task<HttpResponseMessage> response;         var url = ApiHome + ApiRoute;         using (var client = new HttpClient())         {             client.BaseAddress = new Uri(url);             client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));             try             {                 response = client.PostAsync(url, new StringContent(json.ToString(), Encoding.UTF8, "application/json"));                  return response.Result;             }             catch (Exception e)             {                 ...             }         }     } 

如何获得准确的内容?

参考方案

您需要从响应中读取内容。

var contentString = response.Result.Content.ReadAsStringAsync().Result; 

如果需要,可以将字符串响应反序列化为要返回的对象。

public async Task<TResult> TestGetAll<TResult>(string apiRoute, string json) {     // For simplicity I've left out the using, but assume it in your code.      var response = await client.PostAsJsonAsync(url, json);      var resultString = await response.Content.ReadAsStringAsync();      var result = JsonConvert.DeserializeObject<TResult>(resultString);      return result; } 

我已经将项目和一组单元测试从ASP.NET Web API升级到ASP.NET Web API 2。我们将自定义DelegatingHandler用于自定义身份验证机制。它将Thread.CurrentPrincipal和HttpContext.Current.User设置为适当的System.Security.Claims.ClaimsPrincipal。…

遍历程序集的最佳方法是什么,对于程序集中列出的每个类,它都是“超类”? 参考方案 Assembly assembly = typeof(DataSet).Assembly; // etc foreach (Type type in assembly.GetTypes()) { if (type.BaseType == null) { Console.Writ…

因此,在ASP.NET MVC中,我有一个Controller动作,如下所示:public JsonResult People() { var people = db.People.ToList(); return Json(people); } 并在退出时将返回如下内容:[ { "ID": 1, "Name": &#…

我有Web API应用程序,并且想要实现电子邮件确认。现在,我有了采用address的方法-客户端主机,它将位于回调URL uriBuilder中,并将由用户从邮件中打开:public async Task<IdentityResult> RegisterAsync(string email, string userName, string pa…

我创建了一个具有附加功能的Java Web服务。我还创建了一个ASP.NET Web API,该API调用Java Web服务并显示结果。可以说,我输入http://localhost:8080/addition/9/6作为带有Java Web服务功能应添加的输入参数的URL。我得到的输出数据为{"firstNumber":9,&#034…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » C#.NET Web API从发布请求返回 – c#程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们