首页 > 其他分享 >webapi 设置swagger上请求参数的默认值

webapi 设置swagger上请求参数的默认值

时间:2024-05-31 22:55:22浏览次数:19  
标签:webapi 默认值 Microsoft item WebApiTest1 using swagger public

1. 创建一个Config文件夹,再文件夹下创建一个类,我这点取名 DefaultValue.cs

using Microsoft.OpenApi.Any;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;

namespace WebApiTest1.Config
{
    public class DefaultValue : ISchemaFilter
    {
        public void Apply(OpenApiSchema schema, SchemaFilterContext context)
        {
            if(schema == null)
            {
                return;
            }
            foreach (var item in schema.Properties)
            {  
          //如果是字符串类型,且默认值是null,将值设置为空
if(item.Value.Type == "string" && item.Value.Default == null) { item.Value.Default = new OpenApiString(""); //设置默认值为空 } } } } }

 2. Program.cs文件中配置

builder.Services.AddSwaggerGen(options =>
{
    options.SchemaFilter<DefaultValue>();
});

3. 定义的接口

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using WebApiTest1.Model;

namespace WebApiTest1.Controllers
{
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {

        [HttpPost]
        public string SearchUserInfo(SearchUsers req)
        {
            return "返回查询的信息";
        }
    }
}

4. SearchUsers.cs文件

namespace WebApiTest1.Model
{
    public class SearchUsers
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public char Sex { get; set; }
    }
}

 

标签:webapi,默认值,Microsoft,item,WebApiTest1,using,swagger,public
From: https://www.cnblogs.com/tlfe/p/18225383

相关文章

  • webapi 创建的基类成员是大写,返回给前端后变成小写的解决办法
    安装nuget:Microsoft.AspNetCore.Mvc.NewtonsoftJsonModel文件下创建的基类:namespaceWebApiTest1.Model{publicclassClass{publiclongId{get;set;}publicstringName{get;set;}publicstringDescription{get;set;}......
  • 【已解决】Swagger配置问题—Failed to start bean ‘documentationPluginsBootstrapp
    项目场景:swagger-demo编写SwaggerConfig.java后运行SwaggerDemoApplication.java不能成功问题描述ErrorstartingApplicationContext.Todisplaytheconditionsreportre-runyourapplicationwith'debug'enabled.org.springframework.context.ApplicationCont......
  • .net core的WebAPI+Vue2实现调用设备拍照上传图片功能
    在工作中有时候会遇到上传文件上传图片或者拍照上传图片功能。这时候底下的内容就有可能可以帮助到你。后端的支持上传图片和上传文件功能。前端如果你选择普通上传功能就是普通上传功能,我这里选择的是调用相机设备实现拍照上传图片功能。1.首先这是后端的控制器接口。1///<......
  • 若依微服务版使用swagger
    第一步,在使用的nacos模块下添加 swagger.enabled.true(貌似可有可无) 第二步:重启该模块,刷新页面,并且打开系统工具的系统接口第三步:进入swagger调试页面,选择要调试的模块和controller,找到要调试的方法,出现调试页面第四步:点击【试试看】按钮,点击【execute】按钮即可进行调试......
  • ABPVNext问题集锦-SwaggerUI的配置问题,配置Schema自动展开
    一,ABP框架中,运行的SwaggerUI中,默认情况下,不管Post还是Get等请求接口的Schema默认情况是折叠的,前端接入接口时需要一个个手动点开,如果参数过多比如100个参数 要点100次,使用不是太方便,或那种又有查询、又有新增,并且json里面各种套,对象里面有数组,数组里面套数据,  这种参数就很多了......
  • Gin与OpenAPI(Swagger)的使用
    一、背景1、swagger与openapi      Swagger:            一种用于描述RESTFULAPI的规范,它提供了一种简单的来描述API的请求和相应参数、错误码、返回数据类型等信息,是开发者可以方便了解API使用方式。     官网: https://swagger.io/  ......
  • 基于webapi的websocket聊天室(番外二)
    我比较好奇的是webapi服务器怎么处理http请求和websocket请求。有了上一篇番外的研究,这里就可以试着自己写个非常简易的webapi服务器来接收这两种请求。效果http请求消息打印响应解析websocket请求消息打印使用聊天室测试其实两种请求差不多,就只是一些头部字段......
  • netcore webapi部署到docker容器,api调用后显示中文乱码
    vs2022webapi部署到docker容器,api调用后显示中文乱码。原因是:源代码文件不是utf-8编码(用vscode打开是乱码,在vscode修改后,再提交,正常)解决方法:在中文环境下用过微软家Visualstudio的都知道,新建文件的保存编码都默认为当前系统语言,所以你的文件编码永远都是GB2312,非常令人蛋......
  • .net webapi 处理前端请求跨域问题
    1.打开 Program.cs文件,在 varapp=builder.Build();语句前添加如下代码builder.Services.AddCors(o=>o.AddPolicy("any",p=>p.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()));2.在varapp=builder.Build();语句后添加 app.UseCors();app.UseCors();......
  • 基于webapi的websocket聊天室(番外一)
    上一篇我已经实现了聊天室,并且在协议中实现了4种类型的消息传输。其实还可以添加video,audio,live等等类型。不过假如把目前的协议看作RCP1.0版的话,这个版本就只支持有限的4种消息。精力有限啊。也许RCP2.0就可以把video,audio类型加进去?这不是这篇番外考虑的。而是我在定义和实现......