【发布时间】:2022-01-14 17:37:41
【问题描述】:
我开始使用 .Net 6 web api。 我写了一个非常简单的控制器:
[Route("[controller]")]
[ApiController]
public class TestController : ControllerBase
{
[HttpGet,Route("sample")]
public IActionResult ReturnSample(string ParameterOne, string ParameterTwo)
{
[... do something ...]
}
}
问题是谁的所有参数都是强制性的。
网址:https:///test/sample?ParameterOne=Value&ParameterTwo=Value
工作正常,一切正常
网址:https:///test/sample?ParameterOne=Value&ParameterTwo=
错误: {"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"出现一个或多个验证错误。","status":400,"traceId" :"00-dc73d9983b53750d2073c48bec522c70-98fe251af1accccf-00","errors":{"ParameterTwo":["ParameterTwo 字段是必需的。"]}}
如何允许空值作为参数的有效值。
谢谢 洛伦佐
【问题讨论】:
-
这个的用例是什么?你区分空字符串和null吗?
-
尝试在action中设置默认值为null的参数,即public IActionResult ReturnSample(string ParameterOne, string ParameterTwo = null)
标签: c# asp.net-web-api .net-6.0