如何使用具有多个输入参数的 HttpGet 属性? (并大摇大摆地工作)

How do I use HttpGet attribute with multiple input parameters ? (and work with swagger)

下面的代码可以很好地工作,我只有一个参数,但是我该如何处理两个输入参数?如果我只使用 [HttpGet],那么 none 的参数会被发送,尽管它在 Swagger 之外工作正常。帮助 ?

//[HttpGet]
[Consumes("application/json")]
[HttpGet("{caseId}")]
public ActionResult Get(string caseId, string fileName)
{
    return null;
}

尝试在您的方法签名中使用 FromUri 或查询字符串属性

[Consumes("application/json")]
[HttpGet("{caseId}")]
public ActionResult Get(string caseId, [FromUri] string fileName)
{
    return null;
}

[Consumes("application/json")]
[HttpGet("{caseId}")]
public ActionResult Get(string caseId, [QueryString] string fileName)
{
    return null;
}

现在应该大摇大摆地记录 caseId 是路由的一部分并且应该指定文件名。

我只是在试验这个。

我发现以下代码适用于 Swagger:

[HttpGet("{entityId}/{monthsOfHistory}")]
public async Task<ActionResult<DateTime>> GetAsync([FromRoute] int entityId, [FromRoute] int monthsOfHistory)