重载api端点[重复]

Posted

技术标签:

【中文标题】重载api端点[重复]【英文标题】:Overloading an api endpoint [duplicate] 【发布时间】:2021-06-07 16:20:26 【问题描述】:

是否可以重载 api 端点?

我希望端点/路由完全相同,但输入参数不同。比如……

    [HttpPost]
    [Route("change-xxx")]
    public async Task<IHttpActionResult> ChangeXxx(MyCPModel1 request)

还有……

    [HttpPost]
    [Route("change-xxx")]
    public async Task<IHttpActionResult> ChangeXxx(MyCPModel2 request)

当我以这种方式尝试时,我收到“找到与请求匹配的多个操作”错误。

【问题讨论】:

感谢@gunr2171,但这是使用 MVC。我确定这是一个类似的解决方案吗? 请查看链接帖子上的 cmets,其中说即使该问题早在 2009 年就被问到,但它今天仍然适用于每个版本的 ASP.Net。 【参考方案1】:

简答 - 不,不可能重载 Web API 端点。您不能有两个端点具有完全相同的路径和动词。错误消息“找到与请求匹配的多个操作”证实了这一点。

【讨论】:

以上是关于重载api端点[重复]的主要内容,如果未能解决你的问题,请参考以下文章

启用 CORS 不适用于 Spotify Web API [重复]

可以 ping,但不能连接到来自同一网络的另一台机器上托管的端点 [重复]

如何从同一个类中的另一个构造函数调用抽象类的构造函数(方法重载)[重复]

Node JS:一直在运行服务器[重复]

Spring Security permitAll()不匹配排除网址[重复]

在 Swift 中解码 JSON API - 重复的结构名称