当前位置 博文首页 > 文章内容

    使用vs2019加.net core 对WeiApi的创建

    作者: 栏目:未分类 时间:2020-07-03 11:03:33

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    vs2019创建webapi

    1.创建新的项目

     

     

    2.选择.NET CORE的ASP .NET CORE WEB应用程序

     

     

     3.定义项目名称和存放地点

     

     

     4.选择API创建项目

     

     

     

    5.删除原本的无用的类

     

     

     

     

    6.添加新的方法类

    7.设置路由

    using Microsoft.AspNetCore.Components;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    
    namespace WEBAPI.Controllers
    {
    
        /// <summary>
        /// 设置路由
        /// </summary>
        [Route("api/[controller]/[action]")]
        public class Calculation
        {
    
    
        }
    }

     

     

     

    8.下面开始写你所需要的接口方法

    我们分别创建一个post两个get的方法

    方法如下

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Logging;
    
    namespace WEBAPI.Controllers
    {
    
        /// <summary>
        /// 设置路由
        /// </summary>
        [Route("api/[controller]/[action]")]
        [ApiController]
        public class Calculation
        {
    
            /// <summary>
            /// 获取文本
            /// </summary>
            /// <returns></returns>
            [HttpGet]
            public ActionResult<string> Get()
            {
                return "Hello World!";
            }
            /// <summary>
            /// 两数相加
            /// </summary>
            /// <param name="num1">第一个数</param>
            /// <param name="num2">第二个数</param>
            /// <returns></returns>
            [HttpGet]
            public ActionResult<int> Sum(int num1, int num2)
            {
                return num1 + num2;
            }
            /// <summary>
            /// 两数相减
            /// </summary>
            /// <param name="param">参数</param>
            /// <returns></returns>
            [HttpPost]
            public ActionResult<int> Subtract(Param param)
            {
                int result = param.num1 - param.num2;
                return result;
            }
    
    
        }
    
        /// <summary>
        /// 参数
        /// </summary>
        public class Param
        {
            /// <summary>
            /// 第一个数
            /// </summary>
            public int num1 { get; set; }
            /// <summary>
            /// 第二个数
            /// </summary>
            public int num2 { get; set; }
        }
    }

     

    9.开始调试

     

     

     在调试中修改路径为api/Calculation/get

    开始运行,结果为

     

     

     别的方法自行加参数修改

     

     

    为了方便对api接口进行管理和调试,我使用了Swagger框架。为了更好地可视化运行我的接口

    1.为项目添加NuGet包    Swashbuckle.AspNetCore

     

     

     

     

    2.在Startup的ConfigureServices方法里加入下面的代码,注册Swagger生成器,定义一个文档,设置xml文档的注释路径

     

     

     

    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
                //配置Swagger
                //注册Swagger生成器,定义一个Swagger 文档
                services.AddSwaggerGen(c =>
                {
                    c.SwaggerDoc("v1", new OpenApiInfo
                    {
                        Version = "v1",
                        Title = "接口文档",
                        Description = "RESTful API"
                    });
                    // 为 Swagger 设置xml文档注释路径
                    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                    c.IncludeXmlComments(xmlPath);
                });
                services.AddMvc(x => x.EnableEndpointRouting = false);

     

     

    3.在Configure方法里加入下面的代码,启用

    中间件服务使用生成Swagger和SwaggerUI

     

     

     

     //启用中间件服务生成Swagger
                app.UseSwagger();
                //启用中间件服务生成Swagger,指定Swagger JSON终结点
                app.UseSwaggerUI(c =>
                {
                    c.SwaggerEndpoint("/swagger/v1/swagger.json", "Web App V1");
                    c.RoutePrefix = string.Empty;//设置根节点访问
                });
                app.UseMvc();

    4.然后右击项目继续选择属性,在生成中选择输出路径

    并且勾选xml文档

     

     5.清空调试的路径

     

     6.直接启动