小编Tar*_*rek的帖子

相同方法.NET Core Web API上的多种类型[FromBody]

我有一个带有POST方法的控制器,它将接收一个xml字符串,该字符串可以是2种类型。例如:

[HttpPost("postObj")]
    public async Task<IActionResult> postObj([FromBody]firstClass data)
    {
        if (data != null)...
Run Code Online (Sandbox Code Playgroud)

我希望能够在同一路由上绑定到多个类型([HttpPost(“ postObj”)]),以便可以在正文中具有firstClass xml的http://127.0.0.1:5000/api/postObj上接收,或正文中的secondClass xml,并采取相应措施。

我尝试用相同的路线但类型不同的方法制作另一种方法:

    [HttpPost("postObj")]
    public async Task<IActionResult> postObj([FromBody]secondClass data)
    {
        if (data != null)...
Run Code Online (Sandbox Code Playgroud)

但正如预期的那样,我收到“请求匹配多个操作导致歧义”。

我尝试读取正文并进行检查,然后将xml序列化为相应的对象,但这极大地降低了性能。

我期望每秒最多100个请求,并且使用FromBody进行绑定可以为我提供这些信息,但是手动读取正文并进行序列化仅给我约15个请求。

我该如何实现?

c# xml .net-core asp.net-core asp.net-core-webapi

5
推荐指数
2
解决办法
5450
查看次数

标签 统计

.net-core ×1

asp.net-core ×1

asp.net-core-webapi ×1

c# ×1

xml ×1