首页 > 其他分享 >.Net6添加Swagger

.Net6添加Swagger

时间:2023-10-26 15:48:05浏览次数:31  
标签:app 中间件 添加 Net6 WebApplication Swagger public

.Net6添加Swagger

一.添加Swagger引用

添加 Swashbuckle.AspNetCore
image

二.使用Swagger

1.新建TestController控制器

[ApiController]
[Route("[controller]/[action]")]
public class TestController : Controller
{
    /// <summary>
    /// 获取信息
    /// </summary>
    /// <returns></returns>
    [HttpGet]
    public string GetInfo()
    {
        return "OK";
    }

    /// <summary>
    /// 添加信息
    /// </summary>
    /// <param name="request">订单信息</param>
    /// <returns></returns>
    [HttpPost]
    public string AddInfo([FromBody] TestInfo request)
    {
        return "ok";
    }
}

2.新建TestInfo类

   public class TestInfo
{
    /// <summary>
    /// 名字
    /// </summary>
    public string Name { get; set; }
    /// <summary>
    /// 年纪
    /// </summary>
    public int Age { get; set; }
    /// <summary>
    /// 地址
    /// </summary>
    public decimal Adress { get; set; }
}

3.在Program.cs添加Swagger

using Microsoft.OpenApi.Models;
using System.Reflection;
//WebApplication表示整个Web应用程序,调用CreateBuilder()方法创建一个WebApplication对象
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
//WebApplication对象添加RazorPage服务,也可以添加其他服务,比如依赖注入,登录等
//builder.Services.AddRazorPages();
builder.Services.AddControllersWithViews();

//创建Swagger
builder.Services.AddSwaggerGen(options =>
{
	options.SwaggerDoc("v1", new OpenApiInfo
	{
		Version="v1",
		Title="API标题",
		Description="API描述"
	});
});
//构建一个WebApplication实例
var app = builder.Build();

// Configure the HTTP request pipeline.
//添加一个异常处理中间件,此中间件发生作用的条件是:当前运行环境必须是开发环境,如果Web应用程序出现问题,则跳转到Error.CSHTML页面
if (!app.Environment.IsDevelopment())
{
	//app.UseExceptionHandler("/Error");
	//The default HSTS value is 30 days.You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
	//app.UseHsts();
}

app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");
c.RoutePrefix = string.Empty;
c.DocExpansion(Swashbuckle.AspNetCore.SwaggerUI.DocExpansion.None);
c.DefaultModelsExpandDepth(-1);
});

app.UseHttpsRedirection();
//启用静态文件中间件,加上这行代码后,我们在浏览器中才能访问wwwroot目录下的文件,否则会报错
app.UseStaticFiles();
//启动路由中间件,启用后再浏览器中输入网址Web应用才能正确解析
app.UseRouting();
//启用权限校验中间件,当我们的网站是基于身份认证的话需要用到
app.UseAuthorization();
//启用RazorPages中间件,如果是Mvc应用,则使用app.UseMvc()中间件
//app.MapRazorPages();

app.MapControllerRoute(
	name: "default",
	pattern: "{controller=Home}/{action=Index}/{id?}");

//启动应用,当我们开始执行WebApp,浏览器就会帮我们打开网站Index页面,
//如果去掉这一行,就会提示没有此对象关联的进程
app.Run();

image
此时点击运行应该会出现如下效果
image

4.Swagger添加接口注释

右键选择编辑项目文件
image

添加 <GenerateDocumentationFile>true</GenerateDocumentationFile>
image

在Program.CS中添加以下代码

var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));

image

运行程序,效果如下:
image

5.修改默认端口

找到 launchSettings.json文件
image
image

标签:app,中间件,添加,Net6,WebApplication,Swagger,public
From: https://www.cnblogs.com/nuomibaibai/p/17789539.html

相关文章

  • .Net6 扩展Swagger
    .Net6扩展Swaggernet6集成了swagger的基础功能,但功能不够用因此只能自定义扩展方法了,如下1、集成Jwt授权将builder.Services.AddSwaggerGen();改成builder.Services.AddSwaggerGen(c=>{varscheme=newOpenApiSecurityScheme(){Description="......
  • 好用的图片懒加载,图片可动态添加
    js: /* *LazyLoad-jQuerypluginforlazyloadingimages * *Copyright(c)2007-2013MikaTuupola * *LicensedundertheMITlicense: * http://www.opensource.org/licenses/mit-license.php * *Projecthome: * http://www.appelsiini......
  • 每行文字前后添加双引号
    #原始文本aaaaaaaaaabbbbbbbbbbcccccccccc#要多一个空行设置正则表达式,点击全部替换查找目标:(.*)\r?\n|(?<!\n)\r替换成:"$1",  #匹配替换后"aaaaaaaaaa","bbbbbbbbbb","cccccccccc",#去掉最后的逗号,然后加上中括号就变成python的列表了["aaaaaaaaaa&qu......
  • Vue2 element-table 动态添加一行
    Vue2element-table动态添加一行<template><divclass="app-container"><!--表格--><el-table:data="tableData":height="fullHeight"border><el-table-columntype="index"label=&q......
  • c# Winform中如何把图片添加到resources中
    我们在Winform项目中中需要插入图片资源,但是新建的项目中找不到Resources文件夹,怎么才能出现呢?1:双击项目下的Resources.resx,出现视图2:单击"添加资源",选择"添加现有文件",找到你要添加的图片,确定之后保存就可以了3:这时候你会发现视图中出现添加的图片,解决方案......
  • centos7直接部署添加认证的kafka
    前言测试服务器:10.255.60.149一.安装jdk官网下载jdk1.8版本以上的https://www.oracle.com/java/technologies/downloads/测试系统版本为centos7,选择了最后一个下载后,使用rpm-ivh即可安装二.安装zookeeper和kafka软件版本:kafka_2.12-2.4.0(带zookeeper)下载链接:http://a......
  • 在 Windows 7 中,你可以使用命令行工具 cmd 来查询 添加安装 卸载 Windows 组件功能。
    在Windows7中,你可以使用命令行工具cmd来查询Windows组件功能。你可以使用dism命令来列出当前安装的所有Windows组件功能。以下是使用dism命令查询Windows组件功能的步骤:打开命令提示符(cmd):可以通过在开始菜单中搜索"cmd"并打开它,或者按下Win+R组合键,输入"c......
  • 美颜SDK集成指南:为应用添加视频美颜功能
    随着社交媒体和直播应用的兴起,视频美颜功能已成为用户追求的一项热门特性。用户希望能够在拍摄照片或进行实时视频直播时,使用美颜功能来增强其外观。为了满足这一需求,开发者可以考虑集成美颜SDK,为其应用增加这一吸引人的功能。本文将为您提供一份详尽的美颜SDK集成指南,以便为您的应......
  • VS添加SunnyUI控件时报错:创建组件UILabel失败
    在引用中将sunnyui和sunnyui.common移除在引用中重新从本地引用上面两个dll文件......
  • Linux 添加SPI显示屏并取消闪烁光标
    1、修改设备树(sun8i-h3-nanopi-m1.dts添加内容,确保SPI接口硬件上拉)&spi0{status="okay";st7735s@0{status="okay";compatible="sitronix,st7735s";reg=<0>;spi-max-frequency......