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

最新文章

  1. ADO.NET常用对象的基础概念强化
  2. 小扩展大用处,自己扩展一个ForeachRead吧
  3. discuz判断用户登录
  4. 使用ASP.NET实现Windows Service定时执行任务
  5. (转载)myeclipse项目名称重命名
  6. ubuntu-10.04的测试环境 安装测试 Coreseek开源中文检索引擎-Sphinx中文版
  7. MVC5控制器、路由、返回类型、选择器、过滤器
  8. 分享Java开发的利器-Lombok
  9. 详解Docker的网络模式
  10. maven pom.xml配置文件详解
  11. curl常用传参方式
  12. 【20171101】the first day in a new company
  13. (网络流 模板 Edmonds-Karp)Drainage Ditches --POJ --1273
  14. maven package exec 及 maven 配置文件详解
  15. 【HTML基础】常用基础标签
  16. Windows下自动解压windows share上的文件
  17. MFC绘制棋盘格
  18. ubuntu 安装两个版本的Anaconda
  19. Pig FOREACH 嵌套循环
  20. 怎么触发gridview 的SelectedIndexChanged事件?

热门文章

  1. Java实现 LeetCode 32 最长有效括号
  2. Java实现 蓝桥杯VIP 算法提高 change
  3. SQL Server账号密码(sa)登录失败 错误原因:233
  4. Java实现 洛谷 P2089 烤鸡
  5. java实现第四届蓝桥杯黄金连分数
  6. 如何0基础学习C/C++?
  7. react使用Echarts绘制高亮可点击选中的省市地图
  8. 如何通过IAM打造零信任安全架构
  9. kali设置NAT模式,无法正常上网请试试这个办法
  10. Linux中tomcat的部署