【问题标题】:Asp.Net Web Api - Passing String[] values from swagger to Asp.Net Web APIAsp.Net Web Api - 将字符串 [] 值从 swagger 传递到 Asp.Net Web API
【发布时间】:2021-06-03 10:09:38
【问题描述】:

我正在从我的 Asp.Net Web Api 调用外部 API。我正在使用 swagger 对其进行测试,并且从 swagger 我将 DepartmentCodes 数组作为 ["IT","HR"] 传递,当我使用 swagger 对其进行测试时,API 失败,因为的 DepartmenCodes 数组。

我在这里只发布部分代码,因为问题仅在于从 swagger 传递的 string[] 值。

public async Task<IHttpActionResult> GetUsers([FromUri] GetUserRequest getUserRequest)
{
   UserRequest userRequest = new UserRequest();
   userRequest.DepartmentCodes = getUserRequest.DepartmentCodes;
   using (var Client = new HttpClient())
   {
     //code to call external api
   }
}

Public Class UserRequest
{
  Public string[] DepartmentCodes {get;set;}
}

Public Class GetUserRequest
{
  Public string[] DepartmentCodes {get;set;}
}

当我在代码中对 DepartmentCodes 数组进行硬编码时,API 正在按预期工作并且我得到了结果。

public async Task<IHttpActionResult> GetUsers([FromUri] GetUserRequest getUserRequest)
{
   UserRequest userRequest = new UserRequest();
   userRequest.DepartmentCodes = new string[] {"IT", "HR"};
   //userRequest.DepartmentCodes = getUserRequest.DepartmentCodes;
   using (var Client = new HttpClient())
   {
     //code to call external api
   }
}

为了使 API 与 swagger 一起工作,我们是否必须对代码进行任何更改,或者我是否需要更改从 swagger 传递字符串数组的方式。目前从 swagger 我将字符串数组传递为[“IT,人力资源”]

【问题讨论】:

    标签: c# arrays asp.net-web-api swagger


    【解决方案1】:

    我想通了,当我尝试以下面的方式从 swagger 中发布字符串数组值时它起作用了

    IT
    HR
    

    不应有任何双引号、逗号或任何其他特殊字符...

    【讨论】:

      猜你喜欢
      • 2020-03-07
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      相关资源
      最近更新 更多