【发布时间】:2020-03-16 15:22:33
【问题描述】:
我有这个控制器有 2 个动作,两个 GET,同名。
[ApiVersion("2")]
[Route("v{version:apiVersion}/[controller]")]
public class FooController : BaseController
而这两个动作是这样的:
public IActionResult Get([FromServices]IBarService barService)
public IActionResult Get([FromServices]IBarService barService, string someParameter)
但我确实需要用输入甚至输出将这两个操作区分为不同的操作。 我也无法更改当前 API 的行为,这意味着最终用户应该可以访问以下列出的路径:
GET v2/Foo
GET v2/Foo?someParameter={someParameter}
首先我必须添加这一行以使其工作:
o.ResolveConflictingActions((apiDescriptions) => apiDescriptions.First());
它可以工作,但是当列出 OpenApiOperation 时,它只有第一个(原因很明显)
如何添加查询字符串参数以使它们像 2 个不同的路径一样工作?
【问题讨论】:
标签: api asp.net-core .net-core swagger swashbuckle