当前位置: 首页 > news >正文

【C#.NET】VS2022创建Web API项目

C# Web API 是一种基于 .NET 平台(包括但不限于.NET Framework 和 .NET Core)构建 HTTP 服务的框架,用于创建 RESTful Web 服务。REST(Representational State Transfer)是一种软件架构风格,它利用HTTP协议的特性(如GET、POST、PUT、DELETE等方法)来操作资源。

创建新项目

选择ASP.NET Core Web Api

在这里插入图片描述

输入项目名称:自定义名称

  • 更换自己的项目位置
    在这里插入图片描述

选择框架:.NET 8.0(长期支持)

  • 其他安照默认配置;
  • 建议勾选不使用顶级语句
  • 点击创建即可!
    在这里插入图片描述

运行测试

  • 点击运行;自动进入Swagger Api页面
    在这里插入图片描述

配置Swagger

注释配置

  • 在Swager页面显示注释信息
    • 为提高代码的可读性,会在类和方法前添加注释
    • 方便前端调用调试
    /// <summary>
    /// 天气预报控制器
    /// </summary>
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        /// <summary>
        /// 获取天气预报
        /// </summary>
        /// <returns></returns>
        [HttpGet(Name = "GetWeatherForecast")]
        public IEnumerable<WeatherForecast> Get()
        {
        }
    }

  • 找到项目中调用Swagger的位置
    • Program.cs启动文件中
        public static void Main(string[] args)
        {
            var builder = WebApplication.CreateBuilder(args);

            // Add services to the container.

            builder.Services.AddControllers();
            // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle

            #region 配置Swagger
            builder.Services.AddEndpointsApiExplorer();
            builder.Services.AddSwaggerGen();
            #endregion

            var app = builder.Build();

            // Configure the HTTP request pipeline.
            if (app.Environment.IsDevelopment())
            {
                #region 使用Swagger
                app.UseSwagger();
                app.UseSwaggerUI();
                #endregion
            }

            app.UseHttpsRedirection();

            app.UseAuthorization();


            app.MapControllers();

            app.Run();
        }

  • 读取控制器api生成的xml文件
            #region 配置Swagger
            builder.Services.AddEndpointsApiExplorer();
            builder.Services.AddSwaggerGen(option =>
            {
                // xml文档绝对路径--读取控制器api生成的xml文件
                var file = Path.Combine(AppContext.BaseDirectory, "Downey.Books.WebApi.xml");
                // true : 显示控制器层注释
                option.IncludeXmlComments(file, true);
                // 对action的名称进行排序
                option.OrderActionsBy(o => o.RelativePath);
            });
            #endregion

  • 点击项目 - 属性
    • 生成–输出–勾选文档文件
    • 生成包含API文档的文件
      在这里插入图片描述
  • 点击运行;如下图配置完成
    在这里插入图片描述
  • Xml文件位置
    在这里插入图片描述

相关文章:

  • Spark大数据分析与实战笔记(第四章 Spark SQL结构化数据文件处理-02)
  • D3802ACF:高精度 PSR LED 恒流驱动电路详解
  • L2-3 龙龙送外卖(天梯赛)
  • mysql5.7无法启动报错处理无日志
  • 吴恩达机器学习笔记复盘(十二)逻辑回归的梯度下降和拟合问题
  • 《基于python游戏设计与实现》开题报告
  • 如何用JavaScript验证身份证号码?
  • vue 使用v-model实现父子组件传值——子父组件同步更新
  • 数据库基础知识点(系列三)
  • 创新NDT解决方案:XARION激光超声系统助力航空航天材料的高效监测
  • xml文件
  • Codeforces Round 1013 (Div. 3)(A-F)
  • 程序化广告行业(36/89):广告投放全流程及活动设置详解
  • MinGW与使用VScode写C语言适配
  • UI前端与数字孪生:打造智慧城市的双引擎
  • Fegin 400错误分析
  • idea 没有 add framework support(添加框架支持)选项
  • [Lc4_dfs] 括号生成 | 组合 | 目标和
  • docker创建registry镜像仓库2.8版本
  • 宝塔面板部署 Laravel 项目无法访问静态资源的解决方法
  • 云南石屏举办茶文化交流活动:弘扬企业家精神,激发市场活力
  • 七部门联合发布《终端设备直连卫星服务管理规定》
  • 马上评丨准入壁垒越少,市场活力越足
  • 中国人保一季度业绩“分化”:财险净利增超92%,寿险增收不增利
  • 【社论】人工智能,年轻的事业
  • 五月院线片单:就看五一档表现了