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

2024-05-18

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

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

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

这是CityQuery class -

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

如果您需要带有整数的逗号分隔查询字符串,您可以选择自定义模型绑定器

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET CORE WEB API 接受整数列表作为 HTTP GET API 中的输入参数 的相关文章

随机推荐

  • 如何用C++实现自然排序算法?

    我正在对由文本和数字组成的字符串进行排序 我希望排序将数字部分排序为数字 而不是字母数字 例如我想要 abc1def abc9def abc10def 而不是 abc10def abc1def abc9def 有谁知道这个的算法 特别是在c
  • p2p 通信中的对等方如何相互验证?

    WebRTC 中的对等点如何相互验证 WebRTC 中的 DTLS 使用自签名证书 RFC 5763 https www rfc editor org rfc rfc5763具有详细信息 简而言之 证书指纹与 SDP 的 a fingerp
  • 跟踪循环迭代

    抛硬币 成功 你赢100 否则你输50 你会一直玩 直到你口袋里有钱a 的价值如何a在任何迭代中都被存储 a lt 100 while a gt 0 if rbinom 1 1 0 5 1 a lt a 100 else a lt a 50
  • Java .drawImage:如何“取消绘制”或删除图像?

    我需要在程序运行时不断在不同位置重绘某个图像 因此 我设置了一个 while 循环 该循环应该在屏幕上移动图像 但它只是一遍又一遍地重新绘制图像 我究竟做错了什么 有没有办法在将旧图像绘制到新位置之前删除旧图像 JFrame frame b
  • 如何使用 Spring Crud/Jpa Repository 实现 DDD

    我想通过使用 Spring 实现 DDD 来创建一个应用程序 假设我有一个业务实体 Customer 和一个接口 CustomerRepository 由于春天提供了CrudRepository and JpaRepository默认情况下
  • 为什么我不能在 Realm 属性上使用 private

    我正在尝试在 RealmSwift 中存储一个枚举案例 但 Realm 不支持枚举 本文 https medium com it works locally persisting swift enumerations with realm
  • SQLite CreateDatabase 不支持错误

    我将 Entity Framework 4 2 CF 与 SQLite 一起使用 但是当我尝试启动该应用程序时 出现 提供商不支持 CreateDatabase 错误 这是我的模型映射 protected override void OnM
  • 覆盖XMLHttpRequest以实现跨域请求

    我想知道是否有一个 JavaScript 库可以覆盖XMLHttpRequest并允许透明地处理所有跨域请求 并通过我的同源服务器端代理无缝转发它们 我想要的是有一个通用的解决方案 可以与any用于发出跨域请求的 JavaScript 库
  • 如何获取 Python 中所有内置函数的列表?

    我正在尝试整理一个关于如何获取 Python 中所有内置函数的列表的规范示例 该文档很好 但我想用可证明的方法来演示它 在这里 我本质上将内置函数定义为默认命名空间的成员 这些成员可用且与旨在在模块中使用的函数的风格特征一致 即 它们提供一
  • SQL Server:将表达式转换为数据类型 bigint 时出现算术溢出错误

    这是我的查询顺序 SELECT CASE WHEN BarCode IS NOT NULL AND ExternelBarCode IS NULL THEN BarCode WHEN BarCode IS NULL AND Externel
  • 创建 Facebook 测试用户时访问令牌出现问题

    我正在尝试为我的 Facebook 应用程序创建测试用户 他们在 11 月份的博客文章 http developers facebook com blog post 429 中宣布了此功能 并在此处记录了该功能 http developer
  • 如何在使用 ajax 和 JQuery 时加密发布数据?

    服务器端我们可以对用户进行身份验证 但我希望 ajax 或 JQuery 发送数据时数据安全 就像在客户端一样 某人只能看到加密格式的任何调用的参数 那么我该怎么做呢 我在这个网站上看到过这个场景 EDIT 当数据来自服务器时 我们可以忽略
  • SSRS - RDLC Tablix 行不会跨页面拆分

    我有一个包含两列数据的 Tablix 部分名称和部分文本 对于某些部分 部分文本变得如此之大 以至于代表该部分的行占据了页面的 2 3 或更多 报告打印得很好 直到这些大行中的其中一个必须在页面末尾拆分并继续在下一页上 在这种情况下 并且仅
  • 尝试获取 Google accessToken

    看起来 无论我做什么 谷歌都在竭尽全力阻止我完成这个研究项目 我的项目让我使用 Google 电子表格作为数据库 并使用所述电子表格中的数据执行程序化的 Google 图片搜索 并向最终用户显示一些结果 设置说明 我开始按照此处的说明进行操
  • 非 hdfs 文件系统上的 hadoop/yarn 和任务并行化

    我已经实例化了 Hadoop 2 4 1 集群 并且发现运行 MapReduce 应用程序的并行化方式会有所不同 具体取决于输入数据所在的文件系统类型 使用 HDFS MapReduce 作业将生成足够的容器 以最大限度地利用所有可用内存
  • 如何使用 jQuery 进行同步请求?

    为什么不返回该函数的responseText function LoadBookmarksAsXml return ajax type GET async false url http www google com bookmarks ou
  • Android Things 5​​.1 - 9 位 UART

    我正在尝试使用 Android Things 支持 9 位 UART 当我尝试将数据大小设置为 9 时 我收到 IO 异常 唯一有效的配置是 7 位和 8 位 我知道可以使用奇偶校验错误中断进行 9 位模拟 但在 Android 上 我没有
  • 从日期变量创建月末日期

    我有一个包含日期变量的大型数据框 它反映了该月的第一天 有没有一种简单的方法来创建代表该月最后一天的新数据框日期变量 以下是一些示例数据 date start month seq as Date 2012 01 01 length 4 by
  • 如何清除 Slatejs v0.50+ 中的编辑器?

    我不知道如何删除 Slate v0 50 中编辑器中的所有内容 我曾经能够做这样的事情 editor moveToRangeOfDocument delete 我现在该怎么做 你需要先开始Location编辑器 然后结束Location 最
  • .NET CORE WEB API 接受整数列表作为 HTTP GET API 中的输入参数

    我正在使用 net core 3 Web api 下面是我的操作的样子 它使用 HTTP GET 我想传递几个字段 其中一个字段是整数列表 HttpGet Route cities public ActionResult