Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core ASP.NET核心:根据需要标记[FromQuery]参数_Asp.net Core_Swagger_Query Parameters - Fatal编程技术网

Asp.net core ASP.NET核心:根据需要标记[FromQuery]参数

Asp.net core ASP.NET核心:根据需要标记[FromQuery]参数,asp.net-core,swagger,query-parameters,Asp.net Core,Swagger,Query Parameters,在我的控制器中,有一个方法take接受一个路由和一个查询参数作为参数: // ///我的方法 /// ///很好的路线参数描述。 ///很好地描述了查询参数。 [HttpPost(“somePath/{routeParameter}”)] 公共IActionResult MyMethod([FromRoute]字符串路由参数,[FromQuery]日期时间查询参数) { //做点什么 } 在通过Swashback XML从此签名生成的OpenApi.json/Swagger中,routePa

在我的控制器中,有一个方法take接受一个路由和一个查询参数作为参数:

//
///我的方法
/// 
///很好的路线参数描述。
///很好地描述了查询参数。
[HttpPost(“somePath/{routeParameter}”)]
公共IActionResult MyMethod([FromRoute]字符串路由参数,[FromQuery]日期时间查询参数)
{
//做点什么
}
在通过Swashback XML从此签名生成的OpenApi.json/Swagger中,
routeParameter
(路径)始终是必需的,但
queryParameter
(查询)被标记为可选的


如何根据需要标记查询参数?

这里有一个使用
[FromUri]
接收参数的替代方法

[HttpPost("somePath")]
public IActionResult MyMethod([FromUri] Paging paging, [FromUri] QueryParam param)
{
   // do something 
}
QueryParam.cs

public class QueryParam
{
    [Required]
    public string routeParameter{ get; set; }
}
大摇大摆的用户界面


这里有一个使用
[FromUri]
接收参数的替代方案

[HttpPost("somePath")]
public IActionResult MyMethod([FromUri] Paging paging, [FromUri] QueryParam param)
{
   // do something 
}
QueryParam.cs

public class QueryParam
{
    [Required]
    public string routeParameter{ get; set; }
}
大摇大摆的用户界面

如何将查询参数也标记为所需

只需使用[FromQuery,BindRequired]如下:

[HttpPost(“somePath/{routeParameter}”)]
公共IActionResult MyMethod([FromRoute]字符串路由参数,[FromQuery,BindRequired]日期时间查询参数)
{
//做点什么
}
以下是测试结果:

如何将查询参数也标记为所需

只需使用[FromQuery,BindRequired]如下:

[HttpPost(“somePath/{routeParameter}”)]
公共IActionResult MyMethod([FromRoute]字符串路由参数,[FromQuery,BindRequired]日期时间查询参数)
{
//做点什么
}
以下是测试结果:


这基本上与这个问题相反,路线参数应该是可选的:我的回答是否帮助您解决了问题?如果问题解决了,请接受它作为答案,否则,请告诉我你仍然存在的问题。这基本上与这个问题相反,路线参数应该是可选的:我的答案帮助你解决问题了吗?如果问题解决了,请接受它作为答案,否则,请告诉我您仍然存在的问题。