IRONSOFTWAREHOME
開発者向けアップデート

OpenAPI .NET(開発者向けの動作方法)

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年4月21日

OpenAPI(以前はSwaggerとして知られていた)は、RESTful APIを構築および記述するための仕様です。開発者がAPIの構造を標準化された形式で定義することを可能にし、さまざまなツールやサービスがREST APIを効果的に理解して対話し、フィードバックを提供できるようにします。 .NETエコシステムでは、OpenAPI .NETの統合は、APIの作成、文書化、消費を容易にするためのいくつかのライブラリとツールによって容易にされます。

この記事では、OpenAPIのサポート仕様と、IronPDFを使用してPDFファイルを作成し、API呼び出しの応答として返す方法について学びます。

.NETでのOpenAPIの設定

OpenAPI for .NETプロジェクトを開始するには、通常Swashbuckleライブラリを使用します。これにより、ASP.NET CoreのAPIのためのOpenAPI仕様やドキュメントが生成されます。

ステップ1: Swashbuckleのインストール

まず、Visual StudioでSwashbuckle.AspNetCoreパッケージをNuGet経由でインストールする必要があります。 これをNuGetパッケージマネージャーコンソールを使用して行うことができます:

PM > Install-Package Swashbuckle.AspNetCore

または、.NET CLIを使用して行います:

dotnet add package Swashbuckle.AspNetCore
SHELL

ステップ2: Swashbuckleの設定

次に、ASP.NET CoreプロジェクトでSwashbuckleを設定する必要があります。 これには、Swaggerサービスを追加し、Swaggerミドルウェアを構成するためにProgram.csファイルを更新することが含まれます。

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllers();
// Configures Swagger/OpenAPI descriptions.
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();

APIドキュメントの生成と表示

Swashbuckleが設定されると、アプリケーションを実行することで、自動的にOpenAPIドキュメントが生成されます。 これらのOpenAPI記述はSwagger UIインターフェースに移動することで表示できます。

OpenAPI定義の使用

OpenAPI定義は、クライアントSDKの生成、APIのテスト、および異なるサービス間の一貫性を保証するために使用できる強力なツールです。 OpenAPIの仕様は、サービスのソースコードにアクセスせずに、サービスの機能を人間やコンピューターが理解できるようにする標準の言語に依存しないインターフェースを定義します。

カスタム注釈によるOpenAPIの拡張

Swashbuckleは、カスタム注釈でOpenAPIドキュメントを強化することを可能にします。 これらの注釈は、コントローラーやモデルに直接追加でき、APIの動作やデータ構造に関する追加情報を提供します。

例: カスタム注釈

using Microsoft.AspNetCore.Mvc;

namespace WebApplication8.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        };

        private readonly ILogger<WeatherForecastController> _logger;

        public WeatherForecastController(ILogger<WeatherForecastController> logger)
        {
            _logger = logger;
        }

        [HttpGet(Name = "GetWeatherForecast")]
        [SwaggerOperation(Summary = "Gets the weather forecast for the next 5 days")]
        [SwaggerResponse(200, "Successfully retrieved weather forecast")]
        public IEnumerable<WeatherForecast> Get()
        {
            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = Random.Shared.Next(-20, 55),
                Summary = Summaries[Random.Shared.Next(Summaries.Length)]
            })
            .ToArray();
        }
    }
}

この例では、エンドポイント用の詳細なOpenAPI説明とレスポンスコードを提供するために、SwaggerResponse属性が使用されます。

出力

OpenAPI .NET(開発者向けの仕組み):図1 - カスタム注釈出力

"実行"ボタンをクリックすると、次の応答を得ることができます。

OpenAPI .NET(開発者向けの仕組み):図2 - レスポンス出力

IronPDF

IronPDF for ASP.NETは、ASP.NETアプリケーション内でPDFドキュメントのシームレスな生成と操作を可能にする強力なツールです。 その直感的なAPIと強力な機能を備えた開発者は、PDF生成をウェブプロジェクトに簡単に統合し、ユーザーに強化されたドキュメント管理機能を提供できます。 PDFを一から作成するか、HTMLコンテンツをPDFに変換するか、画像やテキストなどの動的要素を追加するか、いずれの場合もIronPDFはプロセスを簡素化し、効率的でプロフェッショナルなドキュメント生成を保証します。

NuGetパッケージマネージャーを使用してインストールする手順:

  1. ASP.NETプロジェクトをVisual Studioで開き、"ツール"メニューに移動します。
  2. "NuGetパッケージマネージャー"を選択し、"ソリューション用のNuGetパッケージを管理"をクリックします。
  3. "参照"タブで"IronPDF"を検索し、希望のバージョンを選択します。 "インストール"をクリックして、プロジェクトにパッケージを追加します。 IronPDFとその依存関係は自動的にダウンロードおよび統合され、ASP.NETアプリケーションでその機能をシームレスに活用できるようになります。

OpenAPI .NET(開発者向けの仕組み):図3 - IronPDF

API呼び出しに対する応答としてPDFファイルを取得

次のコードをコントローラー ファイルに追加してください。これはIronPDFを使用してPDFファイルを作成し、API呼び出しの応答として返します。

using Microsoft.AspNetCore.Mvc;
using IronPdf;

namespace WebApplication8.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        };

        private readonly ILogger<WeatherForecastController> _logger;

        public WeatherForecastController(ILogger<WeatherForecastController> logger)
        {
            _logger = logger;
        }

        [HttpGet(Name = "GetWeatherForecast")]
        public IActionResult GetWeatherForecastPdf()
        {
            var htmlContent = @"
        <html>
        <head>
            <title>Weather Forecast</title>
        </head>
        <body>
            <h1>Weather Forecast</h1>
            <table>
                <tr>
                    <th>Date</th>
                    <th>Temperature (Celsius)</th>
                    <th>Summary</th>
                </tr>";

            var forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = Random.Shared.Next(-20, 55),
                Summary = Summaries[Random.Shared.Next(Summaries.Length)]
            });

            // Iterate over the forecasts and add data to the HTML string
            foreach (var forecast in forecasts)
            {
                htmlContent += $@"
            <tr>
                <td>{forecast.Date.ToShortDateString()}</td>
                <td>{forecast.TemperatureC}</td>
                <td>{forecast.Summary}</td>
            </tr>";
            }

            htmlContent += @"
            </table>
        </body>
        </html>";

            // Convert the HTML string to a PDF using IronPDF
            var renderer = new ChromePdfRenderer();
            var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);

            // Retrieve the byte array of the generated PDF
            var pdfBytes = pdfDocument.BinaryData;
            // Return the PDF file to the client
            return File(pdfBytes, "application/pdf", "WeatherForecast.pdf");
        }
    }
}

OpenAPI .NET(開発者向けの仕組み):図4 - API出力

添付のPDFファイルをダウンロードして開きます。

OpenAPI .NET(開発者向けの仕組み):図5 - PDF出力

結論

OpenAPIは、以前はSwaggerとして知られており、Swashbuckleのようなライブラリを通じて.NETエコシステムでRESTful APIの設計とドキュメント化を簡素化し、ASP.NET Coreプロジェクトの自動APIドキュメント生成を促進します。 OpenAPIとIronPDFの相乗効果を示し、IronPDFの機能を活用してHTMLコンテンツからPDFファイルを生成し、API応答として返す方法を紹介し、ASP.NETアプリケーションの機能を強化しました。 OpenAPI標準を採用し、IronPDFの強力な機能を活用することで、開発者はAPIドキュメントのプラクティスを強化し、ユーザーに洗練された機能豊富なアプリケーションを提供できます。

IronPDFのライセンスに関する詳細情報は、IronPDFのライセンス詳細を参照してください。 さらに、より詳しい指導については、HTMLからPDFへの変換チュートリアルを探索できます。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から