IEnumerable作为NET Core API的URI参数

问题描述

在.NET Core 3.x中为 GET 端点接收IEnumerable作为URI参数的最佳方法是什么

在更深的上下文中:我想做的是根据许多GUID筛选出数据。

到目前为止,我已经拥有

    [HttpGet]
    public ActionResult Get(int allowedMissing,IEnumerable<Guid> ids)
    .
    .
    .

我这样使用Postman呼叫端点: /endpoint?allowedMissing=2&ids=cab0cfcb-8eb2-4313-8064-e7b0841d4f8a&ids=b2b944c2-6b4a-4c32-9a2f-472b891e4843

这将导致415 Unsupported Media Type不会碰到控制器内部的任何断点。

解决方法

好的,因此在Action中接收IEnumerable的默认设置似乎在body中,并且如果作为查询发送,则需要用FromQuery装饰参数。

更改此设置可以解决我的问题:

[HttpGet]
public ActionResult Get(int allowedMissing,[FromQuery] IEnumerable<Guid> ids)
.
.
.

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...