【发布时间】: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