首页 新闻 搜索 专区 学院

.net core swagger如何隐藏参数中的某个属性?

0
[已解决问题] 解决于 2018-11-05 09:50

参数是一个对象,想隐藏某个属性不再swaager里面显示,该怎么实现?
如下面这个类,我想隐藏Paging这个属性,在接口文档里面不显示该属性,

public class QueryModel
    {
        /// <summary>
        /// 分页信息
        /// </summary>
        public QueryPagingModel Page { get; set; } = new QueryPagingModel();

        /// <summary>
        /// 转换为Paging对象
        /// </summary>
        /// <returns></returns>
        public Paging Paging
        {
            get
            {
                if (Page == null)
                    return null;

                var paging = new Paging(Page.Index, Page.Size);
                if (Page.Sort != null && Page.Sort.Any())
                {
                    foreach (var sort in Page.Sort)
                    {
                        paging.OrderBy.Add(new Sort(sort.Field, sort.Type));
                    }
                }

                return paging;
            }
        }
oldli的主页 oldli | 初学一级 | 园豆:175
提问于:2018-11-01 20:42
< >
分享
最佳答案
0

实现Swagger 的 IOperationFilter 接口, 然后添加到 OperationFilter 里面就行了

奖励园豆:5
Mirck | 初学一级 |园豆:139 | 2018-11-02 09:15

IOperationFilter 里面获取的参数是把对象拆分后的,比如Paging,获取到的是Paging.Index这样的,还是没办法过滤,可能是我找的不对~

oldli | 园豆:175 (初学一级) | 2018-11-02 13:30
其他回答(1)
0
dudu | 园豆:38815 (高人七级) | 2018-11-01 21:15

这个试过了,不行的,他隐藏的是相应的model,不是查询时候的

支持(0) 反对(0) oldli | 园豆:175 (初学一级) | 2018-11-02 13:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册