.net core API可选路由参数

发布于 2025-01-11 05:35:19 字数 759 浏览 0 评论 0原文

我有一个 .net core api 和 swagger。不,我想添加一个过滤器类,包括可选的过滤器参数。

[HttpGet("", Name ="get-index")]
[ProducesResponseType(typeof(IEnumerable<MyModelGet>), (int)HttpStatusCode.OK)]
[ProducesResponseType(typeof(void), (int)HttpStatusCode.NoContent)]
public IActionResult GetIndex([FromRoute] MyFilter? filter){
    ...
}

过滤器类的属性是可选的/nullabel:

public class MyFilter {
    public int? size{
        get; set;
    } = null;
    ...
}

但在 Swagger 中,所有属性都是必需的:

在此处输入图像描述

有什么方法(例如注释)可以使此字段可选吗?

I have a .net core api with swagger. No I want to add a Filter-Class including optional filter-parameters.

[HttpGet("", Name ="get-index")]
[ProducesResponseType(typeof(IEnumerable<MyModelGet>), (int)HttpStatusCode.OK)]
[ProducesResponseType(typeof(void), (int)HttpStatusCode.NoContent)]
public IActionResult GetIndex([FromRoute] MyFilter? filter){
    ...
}

The properties of the filter-class are optional/nullabel:

public class MyFilter {
    public int? size{
        get; set;
    } = null;
    ...
}

But in Swagger all Properties are required:

enter image description here

Is there any way (e.g. a Annotation) to make this fields optional?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱给你人给你 2025-01-18 05:35:19

[FromQuery] 替换 [FromRoute] 解决了我的问题。

Replacing the [FromRoute] by [FromQuery] solved my issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文