首页 > 其他分享 >.net core8 knife4 web api文档

.net core8 knife4 web api文档

时间:2024-01-27 19:00:16浏览次数:27  
标签:XML web knife4 xml app core8 文档 using AspNetCore

knife4官网:https://github.com/luoyunchong/IGeekFan.AspNetCore.Knife4jUI

1.创建.net core8 web api项目

2.nuget包管理添加如下包:

Swashbuckle.AspNetCore.Swagger

Swashbuckle.AspNetCore.SwaggerGen

IGeekFan.AspNetCore.Knife4jUI

  

 

 

3.在项目右键-属性-生成-输出 勾选 文档文件如图:

 保持,关闭。

项目右键,重新生产,再打开可以看到xml路径,可以复制填入API文档路径。

4.修改Program.cs文件如图:

 相关代码:

using IGeekFan.AspNetCore.Knife4jUI;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.OpenApi.Models;
using System.IO;
using System.Reflection;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddSwaggerGen(c =>
{
    // 配置 Swagger 文档相关信息
    c.SwaggerDoc("v1", new OpenApiInfo
    {
        Title = "Knife4 Api文档测试项目",
        Version = "v2.0",
        Description = "Knife4测试"
    });

    // 配置 Swagger 生成的 XML 文档 【这样可是接口的注释展示出来】
    // 在项目属性中启用 XML 文档生成。右键点击项目,选择 "属性",在 "生成" 选项卡中勾选 "启用生成 XML 文档文件",
    // 并指定生成的 XML 文件的路径。请注意确保该 XML 文件存在,并与程序集名称一致。
    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";//获取xml名称
    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);//转换xml路径
    c.IncludeXmlComments(xmlPath, true);//true显示控制器的注释,否则不显示
    c.OrderActionsBy(o => o.RelativePath); // 对action的名称进行排序,如果有多个,就可以看见效果了。
});
builder.Services.AddControllers();

var app = builder.Build();

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();

    // app.UseSwaggerUI();
    app.UseKnife4UI(c =>
    {
        c.RoutePrefix = string.Empty;
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "接口版本");
    });
}

app.UseAuthorization();

app.MapControllers();

app.Run();

  

 5.控制器相关注释添加

 

6.运行看效果

 

 

 

到此,测试完成,其他的见官方文档进一步深入。谢谢。

如果你感觉写的有价值,请打赏,谢谢。

 

标签:XML,web,knife4,xml,app,core8,文档,using,AspNetCore
From: https://www.cnblogs.com/mrer/p/17991795

相关文章

  • 2、【实操】dash库设计web界面对mysql数据进行展示
    dash+mysql的简单应用python库简介:  dash:web界面的UI设计;  pymysql:MySQL数据库连接、操作引擎pandas:使用read.sql("sql",mysql_connection)函数将msyql的表单数据转换成DataFrame格式 第一步:  实现对MySQL数据库的连接,并对表单的数据进行展示    ......
  • Burp Suite Professional 2024.1.1 (macOS, Linux, Windows) - Web 应用安全、测试和
    BurpSuiteProfessional2024.1.1(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:https://sysin.org/blog/burp-suite-pro/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgB......
  • windowForm程序的webView2错误 System.IO.FileNotFoundException: 系统找不到指定的文
    最近开发公司的一个项目,要求打包在windows中执行的exe可执行文件开始我想到的是使用windowsForm里面webView嵌套网页执行,vs自带提供的WebBrowser的内核是ie7的,兼容性确实不好,后面使用Microsoft.Web.WebView2(通过NuGet安装)兼容性问题解决了。在我的电脑上可以完整的运行,但是在同......
  • spring boot swagger knife4j使用
    Swagger2已经在17年停止维护了,取而代之的是Swagger3(基于openApi3),这篇文章将介绍如何在java中使用OpenApi3(swagger3)以及与swagger2的对比。1.基本介绍1.1OpenAPIOpenApi是业界真正的api文档标准,其是由Swagger来维护的,并被linux列为api标准,从而成为行业标准。1.2Swag......
  • 转 | 我是一名前端,部门想让我转webgl方向,要不要考虑一下?
    https://www.zhihu.com/question/640467378/answers/updated 作者:Medy丶ghost链接:https://www.zhihu.com/question/640467378/answer/3372989459来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。说一个大部分前端无法接受的事实。90%的前端搞不......
  • WebGL之三维正射投影(高级)
    一,前言1,绘制一个正方体的数据,我们以前,上,右逆时针绘制,对面的用顺时针绘制。  2,数据准备cubeModel.js/***获得正方体所有顶点位置*@paramsideLength边长*/window.getCubeVertexesPosition=(sideLength)=>{//前constFRONT=[0.0,0.0,0.0......
  • 使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
    前言:什么是集成配置系统?集成配置系统的主要目的是将应用程序的配置信息与代码分离,使得配置信息可以在不需要修改代码的情况下进行更改。这样可以提高应用程序的灵活性和可维护性。ASP.NETCore提供了一种灵活的配置系统,可以轻松地将配置信息从不同的来源加载到应用程序中,并且......
  • [西湖论剑 2022]web部分题解(更新中ing
    [西湖论剑2022]NodeMagicalLogin环境!启动!(ノへ ̄、)这么一看好像弱口令啊,(不过西湖论剑题目怎么会这么简单,当时真的傻),那就bp抓包试一下(这里就不展示了,因为是展示自己思路,这里就写了一下当时的NC思路,其实是不对的┭┮﹏┭┮)不是BP弱口令?那好吧,我们先看一下源码,比赛的时候是给了源......
  • webug4.0显错注入
    首先访问:http://192.168.195.139/control/sqlinject/manifest_error.php?id=1进入到这个靶场可以通过在url栏id=1处改数字、加单引号、#号、*号等等来判断注入点。如改成id=2,就会出现以下结果如果改成id=1)括号无反应,看来是屏蔽了id=1"双引号无反应id=1'单引号有结果,id=......
  • Java web 应用程序的部署方式有哪些
    当我们开发完一个JavaWeb应用程序后,接下来需要将其部署到服务器上,以便用户可以通过浏览器访问。本文将介绍几种常见的JavaWeb应用程序的部署方式。一、独立容器独立容器是最常见的部署方式之一,它是指将JavaWeb应用程序打包成一个独立的WAR文件,然后将该WAR文件部署到独立的Servle......