netcorewebapiプロジェクト内のドキュメントを自動的に生成闊歩を使用します

一、背景

分離モードの前後端の人気で、我々はフロントエンドに提供するバックエンド文書へのインタフェースを記述する必要があり、フロントエンドは、私たちのインターフェース、およびテストを表示し、我々の開発効率を向上させ、効果のない通信を減らすことができます。この場合には、自動的にコードのドキュメントを生成することで、この需要がされて入ってきた、闊歩は自動的に私たちのコードとコメントを通じて関連するAPIインタフェースのドキュメントを生成することができ、かつ、オンライン私たちの本当の問題を解決するために、リアルタイムの更新、簡単なテストを表示することができます。

第二に、WebAPIのプロジェクトを作成し、闊歩への参照を追加

WEBAPIを作成するプロジェクトのnetcore2.2対2.1




プロジェクトが正常に作成され、コントローラのフォルダは、私たちのAPIへのインターフェイスです

2.2闊歩パッケージの参照を追加

nugetが闊歩バッグを追加することで、次の2つのパッケージを参照する必要があり、パッケージ名

Swashbuckle.AspNetCore
Swashbuckle.AspNetCore.Annotations

第三に、インターフェイスを作成し、生成されたドキュメントAPIを検証します

3.1プロジェクトは、Startup.csリファレンスドキュメントを追加します。using Swashbuckle.AspNetCore.Swagger;

3.2以下のコード処理ConfigureServicesを追加

      services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Info() { Title = "Api", Version = "V1" });
                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                options.IncludeXmlComments(xmlPath);
            });

3.3設定方法で有効にする方法を追加

  app.UseSwagger()
                .UseSwaggerUI(c =>
                {
                    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
                });

3.4 XMLファイルを生成し、検証します


文書を検証し、自動的に生成された

私たちのインターフェイスのドキュメントが自動的に生成されていて、テストして

3.5コントローラと書かれた検証

コントローラPersonControllerを作成し、コントローラは、次のコードから継承

   [ApiController]
    public class PersonController : Controller
    {
        /// <summary>
        /// 获取人员信息
        /// </summary>
        /// 
        /// <returns></returns>
        [HttpGet]
        [Route("api/Person/Index")]
        public List<Person> Index()
        {
            return new List<Person>()
            {
                new Person() {Age = 10, Name = "张三"},
                new Person() {Age = 20, Name = "李四"},
            };
        }
   }

その後、文書を開いて闊歩を表示するまで、

あなたはまた、ドキュメントのショーで私たちのコメントを見ることができます。

IVの概要

swagger是一个非常强大的插件,可以帮助我们快速生成api文档,给前后端分离带来了极大的方便。
参考文档:
1.https://github.com/domaindrivendev/Swashbuckle.AspNetCore
2.https://www.cnblogs.com/viter/p/10053660.html
3.https://www.cnblogs.com/yilezhu/p/9241261.html

おすすめ

転載: www.cnblogs.com/zqllove/p/11238902.html