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

  • 开发环境
  • 打开VS,建立项目
  • 项目结构
  • 修改 StartUp 类代码
    • ConfigureServices方法
    • Configure方法
    • 为开发环境和生产环境配置不同的 Startup
  • 新建一个Controller
  • F5运行

图文说明,注意流量.

开发环境

  • Visual Studio 2019
  • .net core 2.x

打开VS,建立项目



建好之后就像下面这样

继续再建立两个.net core类库项目分别是 ApiStudy.CoreApiStudy.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;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

F5运行

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

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

时间: 2024-08-04 03:12:53

Asp.NetCoreWebApi入门 - 从零开始新建api项目的相关文章

SpringBoot入门,新建SpringBoot项目

一.在Spring Initializr中创建初始化项目 https://start.spring.io/ 二.通过maven导入Idea中(解压后的项目) 解压文件 黄色的为项目需要的真正的代码 , 蓝色git , 红色是maven其中有第三方插件可以改为Gradle. 只留黄色的就可. 选择Import project from external model 一直next到finsh. 三.写个小rest例子 @RestController public class HelloControl

22、ASP.NET MVC入门到精通——搭建项目框架

本系列目录:ASP.NET MVC4入门到精通系列目录汇总 前面的章节,说了ASP.NET MVC项目中常用的一些技术和知识点,更多的是理论上面的东西,接下来,我将通过一个简单的OA项目来应用我们之前涉及到的一些技术,为了兼顾初学者,所以我尽量把操作步骤说得足够详细.(本来想用VS2015来演示MVC5开发的,无奈家里的笔记本是11年2月份的老爷机了,一直未曾舍得换,因为配置的缘故,笔记本不堪负重,难以安装最新版本的开发工具,只装了VS2012,当然,还有一个原因就是现在公司也是使用VS2012

ASP.NET Core WebAPI 开发-新建WebAPI项目 转

转 http://www.cnblogs.com/linezero/p/5497472.html ASP.NET Core WebAPI 开发-新建WebAPI项目 ASP.NET Core WebAPI 开发-新建WebAPI项目, ASP.NET Core 1.0 RC2 即将发布,我们现在来学习一下 ASP.NET Core WebAPI开发. 网上已经有泄露的VS2015 Tooling,需要VS2015 Update 2. .NET Core 1.0.0 RC2 SDK Preview

ASP.NET Core WebAPI 开发-新建WebAPI项目

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 ASP.NET Core WebAPI 开发-新建WebAPI项目, ASP.NET Core 1.0 RC2 即将发布,我们现在来学习一下 ASP.NET Core WebAPI开发. 网上已经有泄露的VS2015 Tooling,需要VS2

Asp.Net MVC4.0 从入门到精通与项目实战 (Petapoco框架、二维码自定义、Bootstrap视图)视频教程

Asp.Net MVC4.0 从入门到精通与项目实战 (Petapoco框架.二维码自定义.Bootstrap视图)视频教程下载    联系QQ:1026270010 Asp.Net MVC 简介      MVC模式是“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”.MVC模式是于20世纪70年代在smaltalk80的GUI设计中被提出的.它包括3个部分:模型(Model).视图(View)和控制器(Controller).MVC模式至今已被广泛使用,A

在ASP.NET Web API项目中使用Hangfire实现后台任务处理

当前项目中有这样一个需求:由前端用户的一个操作,需要触发到不同设备的消息推送.由于推送这个具体功能,我们采用了第三方的服务.而这个服务调用有时候可能会有延时,为此,我们希望将消息推送与用户前端操作实现异步执行,就是希望在后台自动执行,不阻塞前端用户的操作,而且最好能实现失败重试等功能. 经过一些研究比较,我们发现使用Hangfire这个组件可以较好地实现这个需求.为了给大家做一个演示,我这里简化了代码,做一个范例程序. 我在这里不准备详细介绍Hangfire的基本用法,有兴趣的同学们可以参考官方

对一个前端使用AngularJS后端使用ASP.NET Web API项目的理解(4)

chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-single-page-applications-using-web-api-and-angularjs-free-e-book/ 这里记录下对此项目的理解.分为如下几篇: ● 对一个前端使用AngularJ

对一个前端使用AngularJS后端使用ASP.NET Web API项目的理解(3)

chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-single-page-applications-using-web-api-and-angularjs-free-e-book/ 这里记录下对此项目的理解.分为如下几篇: ● 对一个前端使用AngularJ

对一个前端使用AngularJS后端使用ASP.NET Web API项目的理解(1)

chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-single-page-applications-using-web-api-and-angularjs-free-e-book/ 这里记录下对此项目的理解.分为如下几篇: ● 对一个前端使用AngularJ