当前位置:首页 > Windows程序 > 正文

从零开始新建api项目

2024-03-31 Windows程序

图文说明,注意流量.

开发环境

Visual Studio 2019

.net core 2.x

打开VS,建立项目

技术图片


技术图片


建好之后就像下面这样

技术图片

继续再建立两个.net core类库项目分别是 ApiStudy.Core 和 ApiStudy.Infrastructure

右击解决方案,新建项目.

技术图片

选择 .NetCore类库项目.

技术图片

输入项目名.

技术图片

ApiStudy.Core项目建立完成

同样的方法再建立ApiStudy.Infrastructrue 项目.

完成之后如图

技术图片

然后设置依赖关系

技术图片

项目结构

一个解决方案下三个项目:

Xxxx.Core
放一些核心的东西,比如 Entity(实体) 类和一些接口

Xxxx.Infrastructure
放一些数据库连接之类(DbContext)的和一些服务

Xxxx.Api
客户端项目

修改 StartUp 类代码 namespace ApiStudy.api { using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; public class Startup { public IConfiguration Configuration { get; } public StartupDevelopment(IConfiguration configuration) { Configuration = configuration; } public void ConfigureServices(IServiceCollection services) { services.AddControllers(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseDeveloperExceptionPage(); app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } } }

注意, services.AddControllers(); 和 endpoints.MapControllers(); 方法成对出现, 这是.net core3.0中的最新写法

ConfigureServices方法

用来向容器中注册服务,注册好的服务可以在其他地方进行调用.

Configure方法

用来配置中间件管道,即如何响应http请求.

技术图片

为开发环境和生产环境配置不同的 Startup

将 Startup 类修改为 StartupDevelopment

新建 StartupProduction 类

StartupProduction

namespace MyBlog { using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; public class StartupProduction { public void ConfigureServices(IServiceCollection services) { services.AddControllers(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseRouting(); app.UseHttpsRedirection(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } } }

修改 Program类的代码

技术图片


配置使用的 Startup
webBuilder.UseStartup(Assembly.GetExecutingAssembly().GetName().FullName);

netcore会根据这里配置的环境是来选择使用哪个Startup类

技术图片

Development -> StartupDevelopment
Production -> StartupProduction

新建一个Controller

技术图片


代码如下:

namespace ApiStudy.Api.Controllers { using Microsoft.AspNetCore.Mvc; [Route("api/[controller]")] [ApiController] public class UserController:Controller { public IActionResult Get() { return Ok("Hello"); } } }

修改lauchSetting.json, 删除iis有关的部分, 如下:

{ "profiles": { "ApiStudy.api": { "commandName": "Project", "launchBrowser": true, "applicationUrl": "https://localhost:5001;:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } } F5运行

浏览器访问 https://localhost:5001/api/user

技术图片

Asp.NetCoreWebApi入门 - 从零开始新建api项目

标签:

原文地址:https://www.cnblogs.com/Laggage/p/11105937.html

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/8914.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494584访问次数
  • 建站天数
  • 友情链接