首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用TModel和IEnumerable<TModel>在ASP.NET核中区分路由到同一POST方法

如何用TModel和IEnumerable<TModel>在ASP.NET核中区分路由到同一POST方法
EN

Stack Overflow用户
提问于 2020-04-06 11:07:57
回答 1查看 32关注 0票数 0

我在.Net Core2.2WebAPI上有一个控制器。

有一个POST方法负责创建一个实体。当前的需求是添加另一个POST方法,以便能够创建许多。下面是我的示例代码(没有使用其他路由):

代码语言:javascript
复制
[Route("api/[controller]")]
public class SampleController: BaseController
{
    [HttpPost]
    public Task<IActionResult> Create([FromBody] SampleModel model) {...}

    [HttpPost]
    public Task<IActionResult> CreateMany([FromBody] IEnumerable<SampleModel> models) {...}
}

就异常消息而言,这两条路径都是不明确的。但对我来说,这似乎并不平静、清晰。事实上,actions的论点是不同的类型。也许我错过了什么,或者这是一个自然的限制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-06 11:18:12

在HTTP中没有“操作”和“参数”。

当您的应用程序接收到api/Sample的POST请求时,应用程序基础结构必须将请求发送到某个地方。CreateCreateMany使用相同的路径,因此不可能选择其中的一条。

您可以为这些操作之一修改路由,例如使用HttpPost("CreateMany")],或者删除第一个操作,因为它是多余的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61058396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档