使用vs2019加.net core 对WeiApi的创建过程详解

所属分类: 网络编程 / ASP.NET 阅读数: 411
收藏 0 赞 0 分享

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.直接启动

更多精彩内容其他人还在看

ASP.Net 之Datalist删除功能详解附代码

ASP.Net 之Datalist删除功能详解附代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

ASP.NET(C#)验证数字的两种方法

ASP.NET(C#)验证数字的两种方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

此页的状态信息无效,可能已损坏 的处理办法及原因分析

此页的状态信息无效,可能已损坏 的处理办法及原因分析,需要的朋友可以参考一下
收藏 0 赞 0 分享

MultiLine 换行后实现读取不换行的具体思路

输入内容中有换行,保存到数据库,直接查看感觉没有换行,但查询结果“以文本格式显示结果”你就会发现 其实是有换行的,下面与大家分享下具体的解决方法
收藏 0 赞 0 分享

swfupload ajax无刷新上传图片实例代码

在这里上传图片就需要用到ajax无刷新上传图片,这里面包含的东西不是一点半点。这里用到的是一个插件swfupload实现无刷新上传图片,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

静态gb2312编码在项目传值出现中文乱码现象

参考的美工静态页面是gb2312格式的,当此编码拿到项目中后,utf-8编码的系统,加载页面时,会出现样式问题,比如不能正常居中等
收藏 0 赞 0 分享

System.Timers.Timer定时执行程序示例代码

如果是某个逻辑功能的定时,可以将code放到逻辑功能的类的静态构造函数中,在该逻辑类第一次执行时,静态构造函数会被调用,则定时自然启动
收藏 0 赞 0 分享

分享下Asp.Net面试题目及答案集合

这篇文章主要是总结asp.net开发人员在面试过程中常遇到的一些问题小结,需要的朋友可以参考下
收藏 0 赞 0 分享

给自定义Web控件添加事件(前后台代码)

给自定义控件(Web Control)添加事件具体前后台代码如下,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

ASP.NET过滤器的应用方法介绍

ASP.NET过滤器的应用方法介绍,需要的朋友可以参考一下
收藏 0 赞 0 分享
查看更多