首页 > 其他分享 >netcore Swagger 安装备案

netcore Swagger 安装备案

时间:2024-11-08 14:34:07浏览次数:1  
标签:swagger netcore public api new Swagger options id 备案

vs nuget 内安装 Swashbuckle.AspNetCore 

在program.cs内加入下边 几行基本就可以了

//builder.Services.AddSwaggerGen();
// <snippet_Services>
builder.Services.AddSwaggerGen(options =>
{
    options.SwaggerDoc("v1", new OpenApiInfo
    {
        Version = "v1",
        Title = "ToDo API",
        Description = "An ASP.NET Core Web API for managing ToDo items",
        TermsOfService = new Uri("https://example.com/terms"),
        Contact = new OpenApiContact
        {
            Name = "Example Contact",
            Url = new Uri("https://example.com/contact")
        },
        License = new OpenApiLicense
        {
            Name = "Example License",
            Url = new Uri("https://example.com/license")
        }
    });

    options.CustomSchemaIds(x => x.FullName);
    options.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());

    // using System.Reflection;
    var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename), true); //假如需要显示控制器注释,就添加true
   
});
// </snippet_Services>

var app = builder.Build();
app.UseSwagger();
app.UseSwaggerUI();  

 加入到主页,项目启动默认是swagger

// 如果没有其他路由匹配,重定向到Swagger UI
// 注意:这应该是Configure方法中的最后一个中间件
app.Use(async (context, next) =>
{
    if (context.Request.Path == "/")
    {
        context.Response.Redirect("/swagger"); // 这里的URL应该与RoutePrefix相对应
    }
    else
    {
        await next();
    }
});

控制器例子

using Microsoft.AspNetCore.Mvc;

// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860

namespace SwaggerDemo1.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class Test2Controller : ControllerBase
    {
        // GET: api/<Test2Controller>
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/<Test2Controller>/5
        [HttpGet("{id}")]
        public string Get(int id)
        {
            return "您输入的是: "  + id;
        }

        // POST api/<Test2Controller>
        [HttpPost]
        public void Post([FromBody] string value)
        {
        }

        // PUT api/<Test2Controller>/5
        [HttpPut("{id}")]
        public void Put(int id, [FromBody] string value)
        {
        }

        // DELETE api/<Test2Controller>/5
        [HttpDelete("{id}")]
        public void Delete(int id)
        {
        }
    }
}

错误解决

打开faech err  查看似乎是找不到swagger.json 文件, 结果搜目录就是找不到, 这个文件是启动时自动生成的,一般也不在目录内找到. 所以问题查找应该在输出中查找原因

 错误 查看运行里边的日志错误,一般来说是有控制器不符合 swagger 标准导致, 如果不想让一个不标准的控制器加入到swagger 管理可以使用下边属性特性

 [ApiExplorerSettings(IgnoreApi = true)] 

这意味着Swagger将不会包括这个控制器中的任何操作(方法)在自动生成的API文档中。

 

标签:swagger,netcore,public,api,new,Swagger,options,id,备案
From: https://www.cnblogs.com/zuochanzi/p/18534997

相关文章

  • 【SpringCloud】SpringBoot集成Swagger 常用Swagger注解
    概述:SpringBoot集成Swagger常用Swagger注解导语相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有......
  • 一文看懂做大模型备案的关键点【评估测试题+备案源文件】
    文章目录(一)适用主体(二)语料安全(三)模型安全(四)安全措施要求(五)词库要求(六)安全评估要求(七)附录大模型备案材料源文件2024年3月1日,我国通过了《生成式人工智能服务安全基本要求》(以下简称《AIGC安全要求》),这是目前我国第一部有关AIGC服务安全性方面的技术性指导文件,对语料安全......
  • 后端整合 Swagger + Knife4j 接口文档
    什么是接口文档?写接口信息的文档,每条接口包括:请求参数响应参数错误码接口地址接口名称请求类型请求格式备注who谁用?一般是后端或者负责人来提供,后端和前端都要使用为什么需要接口文档?有个书面内容(背书或者归档),便于大家参考和查阅,便于沉淀和维护,拒绝口口相......
  • 10.23 每日总结(备案信息添加)
    之前几个月向公安和ICP分别备案。但是自己的网站一直没来得及跳转备案信息。现在补上。 另外,今天学习时长两小时。学习SpringCloud的OpenFeign整合Sentinel。修改cart-service模块的application.yml文件,开启Feign的sentinel功能:feign:sentinel:enabled:true#开启fe......
  • Ubuntu24.04部署AspNetCore运行环境记录
    最近腾讯云轻量服务器centos7.9到期了,续费太贵,于是整了一个ubuntu24.04服务器,来继续折腾,主要是上面部署的前几年写的垃圾小程序,要不然也懒得折腾了。此篇文章就是记录运行环境安装的过程。安装mysql5.7.44本来想安装8.0的,直接使用apt安装方便快捷,但是想了想还是使用5.7吧,之前......
  • Django Swagger文档库drf-spectacular
    在使用DRF的时候,通常的文档有:默认文档RestFrameWork、CoreAPI、Swagger,Swagger是最流行的API文档库,在绝大多数服务端开发中都有用到,之前我们使用了CoreAPI来生成文档,一方面是它不够流行,没办法和其他工具结合,另一方面可能是我不熟悉,所有有些接口并不能按照我们的要求来使用。因此我......
  • 深度讲解-互联网算法备案指南和教程
    随着人工智能和大数据技术的迅猛发展,互联网算法在内容推荐、用户画像、智能客服等领域发挥着越来越重要的作用。然而,算法的广泛应用也带来了潜在的安全风险和合规挑战。为了规范互联网算法的开发与应用,国家互联网信息办公室等相关部门发布了《互联网算法备案管理规定》,要求具备......
  • 大模型备案安全评估报告编写说明
     一、语料安全评估(一)评估内容1.文本训练语料规模训练语料存储规模,按文本格式存储时的语料大小。训练语料数量,按词元(Token)计数。2.各类型语料规模训练语料中的中文文本、英文文本、代码、图片、音频、视频及其他语料的规模。3.训练语料来源训练语料来源的组成情况......
  • 想自己完成大模型备案的企业需关注的重点步骤「干货仅供参考」
    文章目录一、什么是大模型备案二、大模型备案主体三、大模型备案流程四、大模型备案所需材料汇总五、大模型备案时间成本对比六、备案建议七、附录大模型备案材料随着人工智能技术的发展,大模型在语音识别、图像处理、自然语言处理等领域应用日益广泛,为进一步保障和监......
  • 咱就是说不想用swagger,替换swagger和postman的api接口神器 -- Apifox
    简介:        在当今快速发展的软件开发领域,寻找有效的API文档和测试工具对于提高开发效率和保证软件质量至关重要。        Swagger长久以来一直是开发者的首选,但新兴的工具Apifox逐渐显示出其独特的优势和潜力。本文将深入探讨如何使用Apifox来替换Swagger,......