【问题标题】:What all special characters that .net core Web API allows.net 核心 Web API 允许的所有特殊字符
【发布时间】:2021-02-22 01:33:05
【问题描述】:

这是 POST 方法请求正文,我试图发送特殊字符但我收到错误。

                {
  
                     "name": "@!#%^#)(?><%$"*",
     
                      "description": "string",

                }

错误:

{

“错误”:

{

“名称”:[ “解析值后遇到意外字符:*。路径‘名称’,第 2 行,位置 14。”

]

},

"title": "出现一个或多个验证错误。",

“状态”:400,

}

//这是我的Get方法

[HttpGet]

public async Task<IActionResult> GetByNameAsync( [FromQuery] string name)
{
_service.GetByName(name)
 return Ok();
}

【问题讨论】:

    标签: asp.net-core-webapi


    【解决方案1】:

    由于您的名字包含双引号,您需要在您的" 之前添加\

    你可以试试下面的Json:

    {
    "name": "@!#%^#)(?><%$\"*",
    "description": "string"
    }
    

    请使用对象在后台接收参数。

    类:

    public class Model
    {
        public string name { get; set; }
        public string description { get; set; }
    }
    

    发布操作:

    [HttpPost]
    public IActionResult Test([FromBody]Model model)
    {   
      //...
      return Ok();
    }
    

    结果:

    【讨论】:

    • 但是如果我想使用我保存的相同特殊字符的名称来使用 GET 怎么办。它说没有找到记录,搜索没有发生。请帮助我
    • URL 编码是要走的路。
    • 我尝试使用 POST 方法而不是 GET ,我们不能通过 POST 得到它
    • 您的主要问题是什么?没有get方法可以绑定成功吗?
    • 我有 getByName 方法来获取名称,但是遇到特殊字符,无法获取数据。
    猜你喜欢
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多