使用.net6.0创建asp.net core webapi项目

25 篇文章 1 订阅

1,NET6.0和NET5.0创建的asp.net core webapi项目的区别:
NET5.0创建的webapi项目有一个Startup.cs文件。在NET6.0下面没有了。
说明微软在这块又做了优化。精减了启用文件。在这里插入图片描述
2,项目默认生产一个天气预报控制器WeatherForecastController。
3,感觉微软命名不是很规范,或者说,有些内容微软自己也没有规划清楚。我这里明明是建立的asp.net core webapi 项目,而不是asp.net core MVC 项目,但是使用到的名称空间却是带mvc的(using crosoft.AspNetCore.Mvc;)。
在这里插入图片描述
4,asp.net core webapi 控制器的类继承的是 ControllerBase, 跟MVC下面的控制器集成的父类是不一样的。
5,启动项目,运行如下,站点默认路径为:https://localhost:7182/swagger/index.html 这里是swagger首页。 这里需要强调的是asp.net core webapi 5.0和 6.0都是自带swagger功能的,以前在.net framework时代 swagger是要在项目下单独安装组件和配置后,才具有的一个功能。
在这里插入图片描述
6,添加一个自己的控制器。
代码如下:
using Microsoft.AspNetCore.Mvc;
namespace D365WebApi6._0.Controllers
{

[Route("api/[controller]/[action]")]
[ApiController]
public class MyTestController : ControllerBase
{
    [HttpGet]
    public string GetSomething(string id)
    {
        return "xxx";
    }
}

}

我这里的api请求地址路由是这么设置的,在控制器类,前面加一个如下的标签 [Route(“api/[controller]/[action]”)] ,其中“api”是随意取名的,[controller]这里会匹配控制器的名称,主要是匹配控制器类的名称。控制器类名取名为:MyTestController,那么这里匹配到的[controller] 等于MyTest。
[action]则匹配的是方法名称,在这里匹配到[action]等于GetSomething。
那么,这里控制器路由标签匹配到的完整路径为:api/mytest/getSomething
控制器方法的访问路径为:https://localhost:7182/api/mytest/getSomething?id=100
这里的id为控制器方法的参数(这里写的是http get方法)。
在这里插入图片描述

在这里插入图片描述
控制器方法的访问路径为:https://localhost:7182/api/mytest/getSomething?id=100,这里的id为控制器方法的参数(这里写的是http get方法)。

在浏览器中访问结果如下:在这里插入图片描述
以上是非restful的方式访问,如果要用restful的方式访问怎么办呢? 办法如下:
在控制器中,再添加2个http get 方法:
在这里插入图片描述
浏览器中访问截图如下:
在这里插入图片描述
Swagger中的区别:
在这里插入图片描述

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值