如何通过HttpGet将对象作为参数传递给Web API



我正在开发。net 6.0 Web API应用程序。我需要传递对象,这是字符串列表的集合,目的是它将返回数据的API。我可以做与HttpPost,但由于我正在设计这个API为Get记录的目的,什么将是正确的方法?

public class JobRoleDataView
{
    public JobRoleDataView() { }
    public List<string> Roles { get; set; }
}

这个对象很快就会得到更多的属性,所以它不仅仅是List…

[HttpGet("SearchRecord")]
public async Task<IActionResult> SearchRecord(JobRoleDataView JobRoles)
{
  //remaining code
  return Ok(returnResponse);
}

error

   TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.

您可以使用[FromQuery]属性并将角色作为querystring传递。

 [HttpGet("SearchRecord")]
public async Task<IActionResult> SearchRecord([FromQuery]JobRoleDataView JobRoles)
{
  //remaining code
  return Ok(returnResponse);
}
}

请求url如下所示。https://localhost: 7009/预报/SearchRecord ?米歇尔角色= vishal&角色=

最新更新