首页 > 解决方案 > Asp.net 核心正在从请求正文中删除双反斜杠

问题描述

我的请求正文是:

{
  "value": "b\\a",
}

当我在中间件级别阅读它时,body = await reader.ReadToEndAsync();我得到了相同的请求正文字符串。

但是当我在控制器中使用绑定值时,它只有一个反斜杠。

[ProducesResponseType(201)]
[HttpPost("lol")]
public async Task<ActionResult> Create([FromBody] TokenDTO token)
{
    var a = token.value;
    if (a == "b\\\\a")
    {
        Console.WriteLine("EQUAL:" + a);
    }
    else
    {
        Console.WriteLine("NOT EQUAL:" + a);
    }

    return Created(token);
}

在这里,我收到了以下回复:NOT EQUAL:b\a

这是某种错误吗?或者我应该以某种方式解码请求正文?

我检查了中间件是否没有通过删除它来破坏它,问题仍然存在。

标签: c#asp.net-core

解决方案


推荐阅读