gpt4 book ai didi

asp.net-core - .NET CORE WEB API 接受整数列表作为 HTTP GET API 中的输入参数

转载 作者:行者123 更新时间:2023-12-05 00:45:51 25 4
gpt4 key购买 nike

我正在使用 .net core 3+ web api。

下面是我的操作如下所示,它使用 HTTP GET,我想传递几个字段,其中一个字段是整数列表。

[HttpGet]
[Route("cities")]
public ActionResult<IEnumerable<City>> GetCities([FromQuery] CityQuery query)
{...}

这里是 CityQuery 类 -

public class CityQuery
{
[FromQuery(Name = "stateids")]
[Required(ErrorMessage = "stateid is missing")]
public string StateIdsStr { get; set; }

public IEnumerable<int> StateList
{
get
{
if (!string.IsNullOrEmpty(StateIdsStr))
{
var output = StateIdsStr.Split(',').Select(id =>
{
int.TryParse(id, out var stateId);
return stateId;
}).ToList();
return output;
}
return new List<int>();
}
}
}

有没有一种通用的方法可以用来接受整数列表作为输入而不接受字符串然后解析它?

或者有更好的方法吗?我尝试谷歌搜索,但找不到太多。提前致谢。

最佳答案

这会有所帮助

    [HttpGet]
[Route("cities")]
public ActionResult<IEnumerable<City>> GetCities([FromQuery] int[] stateids)
{
...
}

但查询字符串将更改为https://localhost/api/controller/cities?stateids=1&stateids=2&stateids=3

如果您需要逗号分隔的整数查询字符串,您可以使用自定义模型绑定(bind)器

https://learn.microsoft.com/en-us/aspnet/core/mvc/advanced/custom-model-binding?view=aspnetcore-3.1

关于asp.net-core - .NET CORE WEB API 接受整数列表作为 HTTP GET API 中的输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62810278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com