C# (WebApi)整合 Swagger

SpringBoot-整合Swagger_jboot整合swagger-CSDN博客

C# webapi 也可以整合Swagger

webapi运行其实有个自带的HELP页面

但是如果觉得UI不好看,且没办法显示方法注释等不方便的操作,我们也可以整合Swagger

一、使用NuGet控制台安装Swagger

在菜单中选择工具->NuGet包管理器->程序包管理器控制台 输入指令

Install-Package Swashbuckle

安装成功就已经可以访问页面了

直接运行项目:IP地址:端口号+swagger/ui/index 即可浏览成功。但是会发现页面是英文的且注释无法显示。

二、配置Swagger 显示中文且显示注释

安装完Swagger会在App_Start文件夹下自动生成  SwaggerConfig.cs  更新它

using System.Web.Http;
using WebActivatorEx;
using TPGYWebAPI;
using Swashbuckle.Application;
using TPGYWebAPI.App_Start;
using System.Linq;
using System.Reflection;

[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]

namespace TPGYWebAPI
{
public class SwaggerConfig
{
    public static void Register()
    {
        var thisAssembly = typeof(SwaggerConfig).Assembly;
 
        GlobalConfiguration.Configuration
            .EnableSwagger(c =>
                {
                    c.SingleApiVersion("v1", "TPGYWebAPI");
                    //添加下述代码   
                    //注意这里的xml文件名要改成你自己的!!!!                     
                    var xmlFile = string.Format("{0}/bin/TPGYWebAPI.XML", System.AppDomain.CurrentDomain.BaseDirectory);
                    if (System.IO.File.Exists(xmlFile))
                    {
                        c.IncludeXmlComments(xmlFile);
                    }
                    c.ResolveConfli
<think>嗯,用户让我用中文介绍C# WebAPI。首先,我需要确定用户的基础。他们可能已经有一些编程经验,但可能对C#或Web开发不太熟悉。或者他们可能听说过WebAPI,但想深入了解其用途和结构。 首先,我应该解释什么是WebAPI。ASP.NET WebAPI是一个框架,用于构建HTTP服务,通常返回JSON或XML数据,适用于多种客户端,比如浏览器、移动应用等。可能需要强调它和MVC的区别,比如WebAPI专注于数据交互,而MVC更侧重于生成视图。 接下来,需要涵盖主要特性。比如基于RESTful设计,路由、模型绑定、身份验证这些功能。用户可能想知道为什么选择WebAPI而不是其他技术,比如WCF或者早期的ASMX。这时候需要说明轻量级、易用性以及与ASP.NET Core的整合优势。 然后,应用场景部分,可以举几个例子,比如单页应用、移动后端、微服务,这样用户能更好地理解实际用途。可能用户有具体的项目需求,所以例子能帮助他们联想是否适合他们的使用场景。 创建步骤部分,需要简明扼要地指导如何搭建一个简单的WebAPI项目。从安装模板到编写控制器,再到测试。可能用户是初学者,所以步骤要详细但不过于复杂,比如使用Visual Studio的步骤,或者CLI命令,这样不同环境的用户都能参考。 最后,对比其他技术,比如WCF和MVC,可以帮助用户做出选择。要指出WebAPI更适合HTTP服务,而WCF适合更复杂的协议,MVC适合网页应用。同时,提到ASP.NET Core的统一可能让用户意识到现在的趋势。 需要注意避免使用过多专业术语,或者如果使用的话,要简单解释。例如,RESTful可能需要简要说明是基于资源的概念,使用标准HTTP方法。另外,要确保语言口语化,避免生硬的技术文档风格。 用户可能的问题包括:如何开始?需要哪些前置知识?性能如何?是否适合大型项目?可能在回答中虽然没有直接提到,但通过应用场景和特性可以间接回答。例如,提到微服务架构,说明适合大型项目;提到高性能和轻量级,说明性能较好。 另外,可能需要提醒用户关于版本控制、安全性(如JWT)、文档工具(Swagger)等,但根据问题范围,可能不需要深入,除非用户后续提问。当前问题主要是介绍,所以保持基础信息即可。 总结来说,结构应该是:定义、特性、场景、创建步骤、与其他技术对比。确保每个部分清晰,用例子和简单语言让用户容易理解。</think>好的!以下是关于 **C# Web API** 的简明介绍: --- ### **1. 什么是 C# Web API?** - **Web API** 是一种基于 HTTP 协议构建服务的技术,用于提供数据或功能给客户端(如浏览器、移动应用、其他服务等)。 - **C# Web API** 通常指使用 ASP.NET(或 ASP.NET Core)框架开发的 API,基于 RESTful 设计原则,通过 HTTP 方法(GET/POST/PUT/DELETE 等)操作资源。 --- ### **2. 核心特性** - **轻量且灵活**:专注于数据交互(如 JSON/XML),适合前后端分离架构。 - **路由机制**:通过 URL 路径和 HTTP 方法映射到对应的控制器(Controller)和方法(Action)。 - **模型绑定**:自动将 HTTP 请求数据(如 JSON)转换为 C# 对象。 - **身份验证与授权**:支持 JWT、OAuth 等标准安全方案。 - **跨平台**:ASP.NET Core 版本可运行在 Windows/Linux/macOS 上。 --- ### **3. 典型应用场景** - 为单页应用(SPA)或移动 App 提供后端数据接口。 - 构建微服务架构中的独立服务模块。 - 与其他系统(如 IoT 设备、第三方 API)进行数据交换。 --- ### **4. 快速创建一个 Web API** **步骤 1:创建项目** - 使用 Visual Studio 或 .NET CLI 创建 ASP.NET Core Web API 项目: ```bash dotnet new webapi -o MyWebApi ``` **步骤 2:编写控制器** ```csharp [ApiController] [Route("api/[controller]")] public class ProductsController : ControllerBase { [HttpGet] public IActionResult GetAllProducts() { var products = new[] { "手机", "电脑", "耳机" }; return Ok(products); } [HttpGet("{id}")] public IActionResult GetProduct(int id) { return Ok($"产品ID: {id}"); } } ``` **步骤 3:运行与测试** - 启动项目后,通过浏览器或工具(如 Postman)访问: - `GET https://localhost:5001/api/products` - `GET https://localhost:5001/api/products/1` --- ### **5. 优势对比** | **技术** | **适用场景** | **特点** | |----------------|----------------------------------------|-----------------------------------| | **Web API** | HTTP 服务、RESTful 接口 | 轻量、标准化、适合现代应用 | | **WCF** | 复杂协议(TCP/MSMQ)、SOAP 服务 | 重量级、支持多种传输协议 | | **ASP.NET MVC**| 网页应用(生成 HTML 视图) | 前后端耦合、适合传统 Web 开发 | --- ### **6. 学习资源** - 官方文档:[ASP.NET Core Web API](https://docs.microsoft.com/zh-cn/aspnet/core/web-api/) - 工具推荐:Postman(API 测试)、Swagger(API 文档生成)。 --- 如果有具体问题(如路由配置、身份验证实现),可以进一步探讨! 😊
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JagTom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值