ASP.NET Core Web API入门之一:创建新项目

news2024/11/26 2:41:54

ASP.NET Core Web API入门之一:创建新项目

  • 一、引言
  • 二、创建新项目
  • 三、加入Startup类,并替换Program.cs内容
  • 四、编辑Program.cs代码
  • 五、修改控制器的路由
  • 六、运行项目

一、引言

最近闲着,想着没真正从0-1开发过ASP.NET Core Web API的项目,就开始学习一下,涨一下技术能力。

二、创建新项目

第一步:打开Visual Studio 2022,创建新项目。
在这里插入图片描述
第二步:选中C#、Web,选择ASP.NET Core Web API,点击下一步。
在这里插入图片描述
第三步:命名为ASP.NETCoreApi,点击下一步。

第四步:创建新项目。
在这里插入图片描述

三、加入Startup类,并替换Program.cs内容

创建完新项目后,文件结构里面是不存在Startup.cs文件的,需要手工新增,代码如下:

namespace ASP.NETCoreApi
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        // 该方法由运行时调用,使用该方法向DI容器添加服务
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddEndpointsApiExplorer();
            services.AddSwaggerGen();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        // 该方法由运行时调用,使用该方法配置HTTP请求管道
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            // Configure the HTTP request pipeline.
            if (env.IsDevelopment())
            {
                app.UseSwagger();
                app.UseSwaggerUI();
            }

            app.UseAuthorization();
        }
    }
}

四、编辑Program.cs代码

代码固定,直接复制粘贴即可

using ASP.NETCoreApi;

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}

五、修改控制器的路由

ASP.NET Core Web API默认是属性路由,实际我们开发中常用的路由是[controller]/[action]。
1.应该将控制器的[Route(“[controller]”)]特性更改成[Route(“[controller]/[action]”)]。
2.只需要保留接口的HTTP请求方式特性即可。
在这里插入图片描述

六、运行项目

简单的项目就这样创建完成了。
在这里插入图片描述
总结:创建新项目仅仅是简单的第一步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/629907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringMVC原理分析 | Hello程序

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; SpringMVC Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架&#xff0c;本质上相当于 Servlet&#xff1b; 拥有结构最清晰的 ServletJSPJav…

uni-app APP、html引入html2canvas截图以及截长图

下载安装html2canvas 方式一&#xff0c;https://www.bootcdn.cn/ CDN网站下载html2canvas插件 这里下载后放在测项目目录common下面 页面中引入 方式二、npm方式安装html2canvas 1、npm方式下载 npm i html2canvas2、引入html2canvas import html2canvas from html2can…

linux系统CAN驱动问题分析

在TI sam3354芯片上&#xff0c;使用3.13及4.19版内核&#xff0c;编译CAN驱动&#xff0c;加载启动后&#xff0c;查看有CAN设备&#xff0c;但无法直接使用ifconfig操作CAN设备&#xff0c;以下简单分析下问题。 加载驱动后&#xff0c;查看网络设备&#xff1a; 可以看到有…

分布式项目15 用户注册,单点登陆,用户退出dubbo来实现

用户注册 分析&#xff1a;当用户填写完成注册信息之后,将请求发送给前台服务器.之后前台消费者利用dubbo框架实现RPC调用。之后将用户信息传递给jt-sso服务提供者.之后完成数据的入库操作。 01.页面url分析 02.查看页面JS $.ajax({ type : "POST", url : "/…

煤矿安全防范,DTU为采矿过程提供实时数据支持

在当今快节奏的时代&#xff0c;采矿行业为我们提供了丰富的资源。然而&#xff0c;随着采矿作业的不断扩大和复杂化&#xff0c;我们也面临着一系列潜在的挑战。其中&#xff0c;数据传输和安全问题尤为突出。 想象一下&#xff0c;在一个繁忙的矿山中&#xff0c;海量的数据需…

让软件研发可视化可量化,华为云CodeArts持续加速企业研发转型

导读&#xff1a;软件开发工具从未像今天这样重要。 “没有度量&#xff0c;就没有管理。” (If you can’t measure it, you can’t manage it.) 管理学大师彼得德鲁克的话时刻提醒人们&#xff0c;度量是管理的必要条件。 在高科技领域&#xff0c;研发投入是企业核心竞争力的…

Linux常用命令——grep命令

在线Linux命令查询工具 grep 强大的文本搜索工具 补充说明 grep&#xff08;global search regular expression(RE) and print out the line&#xff0c;全面搜索正则表达式并把行打印出来&#xff09;是一种强大的文本搜索工具&#xff0c;它能使用正则表达式搜索文本&…

【MySQL数据库 | 第十二篇】:约束

约束&#xff1a; 在MySQL中&#xff0c;约束是一种限制数据表中列值的规定。保证数据库中的数据正确&#xff0c;有效性和完整性。MySQL中的约束有以下几种&#xff1a; 1. 主键约束&#xff08;Primary Key Constraint&#xff09;&#xff1a;主键是用于唯一标识表中每行记…

国内强大的智能语言模型AI

​ Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 前言 环境列表 视频教程 1.飞书设置 2.克隆feishu-chatgpt项目 3.配置config.yaml文件 4.运行feishu-chatgpt项目 5.安装cpolar内网穿透 6.固定公网地址 7.机器人权…

chatgpt赋能python:Python文件目录切换:简单易用的方法

Python文件目录切换&#xff1a;简单易用的方法 Python语言可以轻松地处理文件和目录。使用Python的os库可以方便地操作文件系统。Python在os库中提供了许多可以轻松完成文件和目录操作的函数&#xff0c;其中之一是os.chdir。os.chdir函数用于更改当前的工作目录。 为什么需…

使用阿里云OSS实现图片文件上传

说明&#xff1a;注册用户时&#xff0c;经常会用到上传头像。文件的上传/接收与一般文本数据不同。 一、创建Demo页面 先准备一个Demo页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>图片上传…

第三章 三段论:所有,有的。

第三章 三段论&#xff1a;所有&#xff0c;有的。 第一节 三段论-推结论 题-三段论-结构-推结论&#xff1a;所有A是B&#xff1b;所有B是C&#xff1b;得&#xff1a;所有A是C。&#xff08;最简单的模型&#xff09; 4.所有高明的管理者都懂得关心雇员福利的重要性&…

Linux目录结构(与window目录结构对比+绝对路径和相对路径)

一、Linux目录结构 Linux目录结构是一个标准化的文件系统层次结构&#xff0c;非常有组织性并且易于管理。而与Windows 操作系统不同&#xff0c;Linux将所有文件和设备都组织在一个单一的根目录下。以下是Linux的标准目录结构&#xff1a; /&#xff1a;根目录&#xff0c;包含…

<DB2>《DB2数据库健康检查》第3部分

《DB2数据库健康检查》第3部分 2 数据库对象检查2.12 检查是否需要对表和索引进行runstats(30天未作统计更新)2.13 检查表和索引是否需要重组2.14 查看表空间所在裸设备权限2.15 查看数据库备份进度 2 数据库对象检查 2.12 检查是否需要对表和索引进行runstats(30天未作统计更…

递归sql查询完整科目名称

已知表 科目编号 科目名称 1001 1001 现金 1002 1002 银行存款 10020100 0100 工商银行存款 100201000001 0001 工行重庆路支行 10020200 0200 建设银行存款 100202000001 0001 建行铁北支行 需要整理成 科目编号 科目称 科目全称 1001 现金 现金 1002 银行存款 银行存款 …

【OI学习笔记】基础算法-前缀和与差分算法

板块&#xff1a;基础算法、线性优化 难度&#xff1a;较易 前置知识&#xff1a;C基础语法 一、前缀和 1、定义 在一维空间中&#xff0c;对于一个数据总量为 n n n 的数组 a a a&#xff0c;有数据 a [ 1 ] , a [ 2 ] , a [ 3 ] , . . . , a [ n − 1 ] , a [ n ] a[1]…

计算数组中各元素的平方根numpy.sqrt()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算数组中各元素的平方根 numpy.sqrt() 选择题 以下程序的运行结果是? import numpy as np a np.array([1, 4, 9, -4]) print("【显示】a ", a) print("【执行】np.sqrt(a)&…

计网常见面试题

参考:小林coding 1.TCP/IP模型 2.说一下TCP的三次握手? 第一次握手:客户端向服务端发起建立连接请求,客户端会随机生成一个起始序列号x,客户端向服务端发送的字段中包含标志位SYN=1,序列号seq=x。第一次握手前客户端的状态为CLOSE,第一次握手后客户端的状态为SYN-SENT。…

Stable Diffusion 从听说到超神日记(从安装开始)

1.安装模型&#xff08;B站搜秋叶&#xff09; 看到下面界面就成功了&#xff01; 下载好模型打开主页&#xff01;点击右下角一键启动&#xff01; 首先弹出下面命令界面。 自动弹出一个网页界面&#xff08;地址是http://127.0.0.1:7860/?__themelight&#xff09;&#xf…

Zabbix(二)

所有实验的zabbix_agent客户端都是web1(192.168.29.142) 模板Template 模板是可以方便地应用于多个主机的一组实体。 实体可以是&#xff1a; 监控项触发器图表仪表盘低级别自动发现规则web场景 模板通常用于为特定服务或应用程序&#xff08;如Apache&#xff0c;MySQL&am…