一、概述
上一节演示了如何创建一个新的Web API 项目,并展示了如何运行及测试接口,这节的主要目标是增加一个hello的接口,接口返回内容为“Hello,World!”,在添加接口之前,我们先要对上一节的项目进行分析,只有了解项目的结构,才能知道怎么去添加新的接口和扩展新的功能。
二、项目分析
1、代码文件结构
为了便于介绍,我把项目结构进行了完全展开,如下图
2、展开介绍
(1)、Properties - launchSettings.json*
这个文件只有在开发环境下才有用,它用于配置程序在开发环境中用的端口号及启动方式。
打开文件,我们可以看到定义了两种启动方式
可以通过菜单栏上选择不同的启动方式,可以看到,launchSettings.json文件里面的两种启动方式,在下拉框中存在。
(2)、依赖项
主要是项目的一些依赖包或框架,可以看到,里面默认已经帮我们引入了一些基础包和框架,后续一些第三方的依赖包也是在这里引入依赖和管理,先了解即可。
(3)、Controllers
接口定义一般都是放在这个目录下,可以看到,里面包含了一个WeatherForecastController的文件,类标注了[ApiController]属性,表示这是一个API 类型的Controller,里面有一个Get请求的接口(在Controller中,[HttpGet]属性表示这是一个Get请求的接口,同理,如果是[HttpPost]则表示是Post请求的接口)
我们之前调试的接口就是它
(4)、appsettings.json
项目的配置文件,一些常见的配置信息可以写到里面,注意是Json格式
(5)、MyStudyAPI.Web.Host.http
便于接口调试的一个文件,可以通过这个文件进行接口调式,也比较方便,不想用也可以删掉
(6)、Program.cs
项目的入口启动文件,里面内容先不展开,后续章节再深入分析下。
(7)、WeatherForecast
默认演示项目的返回实体定义
三、添加Hello,World
项目接口分析完,再次回到本节的主要目标:增加一个hello的接口,接口返回内容为“Hello,World!”
我们参照默认代码(WeatherForecast)的示例,开始依葫芦画瓢,非常简单
(1)增加HelloController.cs文件
在Controllers目录下,新建一个HelloController.cs的类
新建完成后,可以在目录下看到
(2)、修改HelloController.cs文件
修改后的代码如下
[ApiController]
[Route("[controller]")]
public class HelloController : ControllerBase
{
[HttpGet(Name = "GetHello")]
public string Get()
{
return "Hello,World!";
}
}
(3)、运行项目
运行项目后,可以看到,我们的Hello接口出现了
测试一下:
可以到看到返回值为"Hello,World!",成功!
总结
本节的目标我们已经完成了,由于我们完全是仿照示例代码的写法,可能大家会有 一些疑问,比如:
在接口前面,我们明明写了接口名称为,[HttpGet(Name = “GetHello”)],为什么接口最终名称却是Hello,Hello的名字究竟怎么来的?和Name = "GetHello"到底有没有关系,我们可以试下:比如改成Greeting,[HttpGet(Name = “GetGreeting”)],看看有无变化?
代码
[ApiController]
[Route("[controller]")]
public class HelloController : ControllerBase
{
[HttpGet(Name = "GetGreeting")]
public string Get()
{
return "Hello,World!";
}
}
可以看到,依旧还是Hello的名字,那么Hello的名字究竟怎么来的?
还有我们如果想把接口改成其他的名称,应该怎么做呢?
还有我们继承ControllerBase,以及[Route(“[controller]”)]属性,又是分别起到什么作用呢?
留下这几个问题,我们下节继续。文章来源:https://www.toymoban.com/news/detail-806562.html
敬请期待…文章来源地址https://www.toymoban.com/news/detail-806562.html
到了这里,关于1.2 .net 8 ASP.NET Core Web API 项目创建之 Hello,World的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!