c# - 如何将空字符串发送到 int params 错误
问题描述
我有一个带有 int 参数的端点
[HttpGet]
public IActionResult Test(int a=-1)
{
return Ok();
}
当我尝试向该资源发送一个空字符串时,我得到一个 400。我怎样才能获得默认值-1
?
{
"errors": {
"a": [
"The value '' is invalid."
]
},
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-bb8f5c4f34041e4a9c9ccbc241e711fa-f378875df6f8c541-00"
}
解决方案
您可以添加[Route("{a?}")]
到您的端点,它会忽略非数字值作为空字符串。
推荐阅读
- batch-file - 用于删除/删除 xx 天以前的文件夹的批处理文件
- reactjs - redux-saga:redux dispatched action 仅在页面加载或重新加载时运行和完成
- c# - 实现游戏暂停的首选方法
- c++ - 如何从乐谱中获得不同的五角星(openCV)
- python - 通过 jupyter 正确完成 Python .csv 标签
- ios - 在 swift4 中的 ViewController 之间传递数据
- linux - 基于共同的两列连接两个文件
- java - Libgdx Tiled Map Renderer 不绘制任何东西
- c++ - 训练 cv:ml::DTrees 时如何修复“断言失败”
- angular - Tree Grid JSON 格式 Angular 实现