我正在从我的Asp.Net Web API调用外部Api。我正在使用swagger测试它,从swagger中,我以["IT","HR"]的身份传递DepartmentCodes的数组,当我使用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数组进行硬编码时,应用程序接口工作正常,并且我得到了结果。
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,HR“
发布于 2021-06-03 18:38:14
我弄明白了,当我尝试通过下面的方式发布swagger中的字符串数组值时,它起作用了
IT
HR不应该有任何双引号,逗号或任何其他特殊字符...
https://stackoverflow.com/questions/67819509
复制相似问题