栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

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

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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中的区别:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/904408.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号