Lor*_*ini 5 c# asp.net-web-api .net-6.0
我开始使用 .NET 6 Web API。我写了一个非常简单的控制器:
[Route("[controller]")]
[ApiController]
public class TestController : ControllerBase
{
[HttpGet,Route("sample")]
public IActionResult ReturnSample(string ParameterOne, string ParameterTwo)
{
[... do something ...]
}
}
Run Code Online (Sandbox Code Playgroud)
问题是所有参数都是强制性的。
网址:https://<server>/test/sample?ParameterOne=Value&ParameterTwo=Value
工作正常,一切OK
网址:https://<server>/test/sample?ParameterOne=Value&ParameterTwo=
错误:
{
"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title":"One or more validation errors occurred.",
"status":400,
"traceId":"00-dc73d9983b53750d2073c48bec522c70-98fe251af1accccf00",
"errors":{"ParameterTwo":["The ParameterTwo field is required."]}}
Run Code Online (Sandbox Code Playgroud)
如何允许空值作为参数的有效值?
谢谢洛伦佐
您可以设置第二个参数的默认值:
[HttpGet,Route("sample")]
public IActionResult ReturnSample(string ParameterOne, string? ParameterTwo = null)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10179 次 |
| 最近记录: |