web API help pages with Swagger / OpenAPI

https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore-2.2

When consuming a Web API, understanding its various methods can be challenging for a developer. Swagger, also known as OpenAPI, solves the problem of generating useful documentation and help pages for Web APIs. It provides benefits such as interactive documentation, client SDK generation, and API discoverability.

In this article, the Swashbuckle.AspNetCore and NSwag .NET Swagger implementations are showcased:

  • Swashbuckle.AspNetCore is an open source project for generating Swagger documents for ASP.NET Core Web APIs.
  • NSwag is another open source project for generating Swagger documents and integrating Swagger UI or ReDoc into ASP.NET Core web APIs. Additionally, NSwag offers approaches to generate C# and TypeScript client code for your API.

What is Swagger / OpenAPI?

Swagger is a language-agnostic specification for describing REST APIs.

The Swagger project was donated to the OpenAPI Initiative, where it‘s now referred to as OpenAPI.

Both names are used interchangeably; however, OpenAPI is preferred.

It allows both computers and humans to understand the capabilities of a service without any direct access to the implementation (source code, network access, documentation).

One goal is to minimize the amount of work needed to connect disassociated services.

Another goal is to reduce the amount of time needed to accurately document a service.

Swagger specification (swagger.json)

The core to the Swagger flow is the Swagger specification—by default, a document named swagger.json.

It‘s generated by the Swagger tool chain (or third-party implementations of it) based on your service.

It describes the capabilities of your API and how to access it with HTTP.

It drives the Swagger UI and is used by the tool chain to enable discovery and client code generation.

Here‘s an example of a Swagger specification, reduced for brevity:

Swagger UI

Swagger UI offers a web-based UI that provides information about the service, using the generated Swagger specification.

Both Swashbuckle and NSwag include an embedded version of Swagger UI, so that it can be hosted in your ASP.NET Core app using a middleware registration call.

The web UI looks like this:

Each public action method in your controllers can be tested from the UI.

Click a method name to expand the section.

Add any necessary parameters, and click Try it out!.

The Swagger UI version used for the screenshots is version 2. For a version 3 example, see Petstore example.

原文地址:https://www.cnblogs.com/chucklu/p/10313359.html

时间: 2024-10-07 20:50:26

web API help pages with Swagger / OpenAPI的相关文章

ASP.NET Web API Help Pages using Swagger

Understanding the various methods of an API can be a challenge for a developer when building a consuming application. Generating good documentation and help pages as a part of your Web API using Swagger with the .NET Core implementation Swashbuckle i

RESTful Web API Help Documentation using Swagger UI and Swashbuckle

Sign in home articles Chapters and Sections> Search Latest Articles Latest Tips/Tricks Top Articles Beginner Articles Technical Blogs Posting/Update Guidelines Article Help Forum Article Competition  Submit an article or tip  Post your Blog quick ans

使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)

对于开发人员来说,构建一个消费应用程序时去了解各种各样的 API 是一个巨大的挑战.在你的 Web API 项目中使用 Swagger 的 .NET Core 封装 Swashbuckle 可以帮助你创建良好的文档和帮助页面. Swashbuckle 可以通过修改 Startup.cs 作为一组 NuGet 包方便的加入项目.Swashbuckle 是一个开源项目,为使用 ASP.NET Core MVC 构建的 Web APIs 生成 Swagger 文档.Swagger 是一个机器可读的 R

Swagger+AutoRest 生成web api客户端(.Net)

简介 对于.net来说,用web api来构建服务是一个不错的选择,都是http请求,调用简单,但是如果真的要在程序中调用,则还有些工作要做,比如我们需要手写httpClient调用,并映射Model, 如果服务少还可以,多了就繁琐了. Swagger 关于Swagger的信息,其他博客已经有介绍,这里就不多说. 大家可以参考http://chuansong.me/n/322685748559 ,使用Swagger后,可以解决服务没有文档或者文档和服务不同步的问题,同时Swagger自带的就有模

使用 Swagger UI 与 Swashbuckle 创建 RESTful Web API 帮助文件

作者:Sreekanth Mothukuru 2016年2月18日 本文旨在介绍如何使用常用的 Swagger 和 Swashbuckle 框架创建描述 Restful API 的交互界面,并为 API 用户提供丰富的探索.文件和操作体验. 源代码: 下载 SwaggerUi_2.zip 步骤 在本文中,我们将在 Asp.Net 创建一个简单的 Restful API,并整合 Swashbuckle 和 Swagger UI.本文分为三部分. 创建 Asp.Net Web API项目 通过实体数

Asp.Net Web Api中使用Swagger

关于swagger 设计是API开发的基础.Swagger使API设计变得轻而易举,为开发人员.架构师和产品所有者提供了易于使用的工具. 官方网址:https://swagger.io/solutions/api-design/ 在没有接触Swagger之前,使用Web Api的时候,我们都是使用word文档提供接口说明的,比较尬,使用文档不方便的地方太多了,比如,当时使用的时候是可以马上找到的,但是时间久了,你就不记得了,找不到了,比如,调试的时候,出现问题,你就不知道到底是使用方的问题,还是

ASP.NET Core Web API项目使用Azure AD保护API

如果您正在构建一个由Azure AD保护的Web API,那么您需要进行身份验证来测试该API.在Swagger中配置OAuth 2允许您使用Swagger UI进行身份验证,并使用必要的身份验证头测试API. 配置的步骤是: 创建一个Web API项目 为Web API注册一个Azure AD (AAD)应用程序 更新Web API项目以使用Azure AD身份验证 为Swagger注册一个AAD应用程序 为Swagger AAD应用程序授予访问Web API AAD应用程序的权限 为Swag

2种方式解决nginx负载下的Web API站点里swagger无法使用

Web API接口站点,引入了swagger来实时生成在线的api文档,也便于api接口的在线测试.swagger:The World's Most Popular Framework for APIs. 本地测试没有问题. 发布到生产,问题出现了.——线上部署的站点是用nginx做的3个节点的负载.nginx配置了公开的域名,并且与3个节点iis上的站点做了映射.3个单节点的端口不是默认的80,由此问题产生了:当访问swagger时,swagger自动获取的文档的url包含了这个端口,因为站点

Core Web API上使用Swagger提供API文档

在ASP.NET Core Web API上使用Swagger提供API文档 我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页面后,在IISExpress启动Web API站点后,会自动重定向到API文档页面,非常方便.这不仅让我能够快速省查API设计的合理性,同时从API的使用角度也为我自己提供了便捷.下图就是我的博客系统RESTful API