透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
オープンデータプロトコル(OData)は、Microsoft .NET 開発においてRESTful API の構築と利用を簡素化します。 これは、慣れ親しんだCRUD(作成、読み取り、更新、削除)操作を通じて、データの照会と操作に対する標準化されたアプローチを提供します。 この記事では、Open Data Protocolが.NETでのAPI開発をどのように効率化するのか、例を示しながらその主な利点を紹介します。 ODataについて詳しく知るには、ソースコードを確認するためにOData C# GitHub リポジトリをチェックしてください。
ODataは、RESTfulなWeb APIを構築するための標準的なプラクティスに従い、URLとGETやPOSTのようなHTTP動詞を使って操作を定義する。 それは、エンティティデータモデル (EDM) とメッセージエンコーディングのために JSON または AtomPub を使用してデータを表現します。 ODataはGraphQLに比べてAPI開発を簡素化する一方で、高度な機能を提供することは少ないかもしれない。
OData用の.NETライブラリは、データセットを操作する効率的な方法を促進することにより、開発者のエクスペリエンスを向上させます。 .NET 開発における RESTful API の構築と利用を簡素化します。 それは、なじみのあるCRUD操作(作成、読み取り、更新、削除)を通じてデータのクエリと操作を行う標準化されたアプローチを提供します。
まず、Visual Studioで新しいプロジェクトを開きます。 次に、ソリューション・エクスプローラーに移動し、プロジェクトを右クリックして、"Manage NuGet Packages "を選択します。 Microsoft.AspNetCore.ODataを検索し、インストールしてください。 現在のODataのバージョンは8.2.5である。
NuGet Package ManagerコンソールでODataをインストールするには、以下のコマンドを使用します。
Install-Package Microsoft.AspNetCore.OData
Install-Package Microsoft.AspNetCore.OData
IRON VB CONVERTER ERROR developers@ironsoftware.com
ASP.NET Coreアプリケーションで簡単なODataモデルクラスを作成してみましょう。 以下のコードでは、以下のクラスがOData構文を使用してクエリできるサービスのリストを公開します。
public class Service
{
public int Id { get; set; }
public string FirstName { get; set; }
public decimal Price { get; set; }
}
public class Service
{
public int Id { get; set; }
public string FirstName { get; set; }
public decimal Price { get; set; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
ODataModelBuilder クラスは、サービスを管理するための C# で基本的なデータ構造を表します。このクラスには、次の 3 つのプロパティが含まれています:Id: サービスの整数識別子。FirstName: サービスに関連付けられた名前を表す文字列。Price: サービスの価格を示す 10 進数の値。このクラスは、.NET 開発でより複雑なサービス関連機能を作成するための基盤として使用できます。 また、シナリオに応じて、コレクションやナビゲーションのプロパティを使用することもあります。
ここでは、Visual StudioのASP.NET CoreアプリケーションでODataコントローラをセットアップして、標準化されたODataエンドポイントを介してサービスのリストを公開する方法を説明します。 次の例は、サービスの静的リストを使用し、Web API で OData クエリ機能を有効にする基本的な実装を示しています:
using DemoOData.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.OData.Query;
using Microsoft.AspNetCore.OData.Routing.Controllers;
namespace DemoOData.Controllers
{
[Route("odata/[controller]")]
public class ServiceController : ODataController
{
private static readonly List<Service> Products = new List<Service>
{
new Service { Id = 1, FirstName = "Laptop", Price = 6239.9M },
new Service { Id = 2, FirstName= "Smartphone", Price = 2585.9M }
};
[HttpGet]
[EnableQuery]
public IActionResult Get() => Ok(Products);
}
}
using DemoOData.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.OData.Query;
using Microsoft.AspNetCore.OData.Routing.Controllers;
namespace DemoOData.Controllers
{
[Route("odata/[controller]")]
public class ServiceController : ODataController
{
private static readonly List<Service> Products = new List<Service>
{
new Service { Id = 1, FirstName = "Laptop", Price = 6239.9M },
new Service { Id = 2, FirstName= "Smartphone", Price = 2585.9M }
};
[HttpGet]
[EnableQuery]
public IActionResult Get() => Ok(Products);
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
提供されるコードは、ASP.NET CoreアプリケーションでServiceControllerという名前のODataControllerを定義し、ODataプロトコルを使用したクエリーとデータ操作を可能にする。 これはリクエストを "odata/Service "にルーティングし、ラップトップやスマートフォンを含むServiceオブジェクトの静的リストを提供する。 [EnableQuery]で装飾されたGetメソッドは、クライアントが製品リストに対してODataクエリ(フィルタリング、ソート、ページング)を実行できるようにし、HTTP GETリクエストに対してIActionResultとして結果を返します。
Program.csでODataサービスを登録する
ODataを.NET 6アプリケーションに統合するには、必要なODataパッケージをインストールして設定する必要がある。 これには、ODataモデルの定義、ODataミドルウェアのセットアップ、およびフィルタリング、順序付け、拡張などのOData機能をサポートするサービスの構成が含まれます。
using DemoOData.Models;
using Microsoft.AspNetCore.OData;
using Microsoft.OData.Edm;
using Microsoft.OData.ModelBuilder;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
static IEdmModel GetEdmModel()
{
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Service>("Services");
return builder.GetEdmModel();
}
builder.Services.AddControllers()
.AddOData(options => options
.AddRouteComponents("odata", GetEdmModel())
.Select()
.Filter()
.OrderBy()
.SetMaxTop(20)
.Count()
.Expand()
);
using DemoOData.Models;
using Microsoft.AspNetCore.OData;
using Microsoft.OData.Edm;
using Microsoft.OData.ModelBuilder;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
static IEdmModel GetEdmModel()
{
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Service>("Services");
return builder.GetEdmModel();
}
builder.Services.AddControllers()
.AddOData(options => options
.AddRouteComponents("odata", GetEdmModel())
.Select()
.Filter()
.OrderBy()
.SetMaxTop(20)
.Count()
.Expand()
);
IRON VB CONVERTER ERROR developers@ironsoftware.com
このコードは、.NET 6アプリケーションでODataサポートを設定します。 まず、必要な名前空間をインポートし、WebApplicationBuilder インスタンスを作成します。 GetEdmModel メソッドは、ODataConventionModelBuilder を使用して OData モデルを定義し、Service エンティティのエンティティセットを指定します。 AddODataメソッドが呼び出され、select、filter、order by、count、expandの有効化、クエリ結果の最大トップ値20の設定など、ODataサービスが設定される。 このセットアップにより、アプリケーションがODataクエリーを効果的に処理できるようになる。
AddOData() メソッドは GetEdmModel() メソッドを使用しており、これは OData サービスの基盤を形成するためのクエリに使用されるデータモデルを取得します。このサービスは、公開されるデータを定義するために Entity Data Model (EDM) として知られる抽象的なデータモデルを利用します。 ODataConventionModelBuilder クラスは、デフォルトの命名規則によって EDM を生成し、コード要件を最小限に抑えます。 あるいは、開発者は ODataModelBuilder クラスを利用することで、EDM をより詳細に制御することができます。
サービスを実行した後、次のようなさまざまなODataクエリオプションを使用してサービスに問い合わせることができます:
https://localhost:7131/odata/Service
https://localhost:7131/odata/Service
IRON VB CONVERTER ERROR developers@ironsoftware.com
IronPDFは、.NETアプリケーション内でファイルをPDFに変換、PDFページを分割、およびPDFからページを削除する作業を簡素化するために設計された包括的なC#ライブラリです。 HTML、CSS、画像、JavaScriptからPDFを生成する機能など、幅広い機能を備えており、開発者はウェブコンテンツを高品質のPDF文書に簡単に変換することができます。 IronPDFの直感的なAPIと強力なレンダリングエンジンにより、開発者はPDF生成プロセスを合理化し、アプリケーションにダイナミックなドキュメント生成機能を簡単に統合することができます。
Visual StudioでIronPDFをインストールするには、NuGetパッケージマネージャーコンソールに移動し、以下のコマンドを使用します。
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
.NETアプリケーションでHTMLコンテンツからPDFドキュメントを生成するには、DinkToPdfなどのライブラリからChromePdfRendererクラスを使用します。 この例では、Employeeレコードの詳細を含むPDFを作成する方法を示します。
public record Employee (string FirstName, string LastName);
class Program
{
static void Main(string[] args)
{
var employee = new Employee("Iron", "Developer");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {employee.FirstName} {employee.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
public record Employee (string FirstName, string LastName);
class Program
{
static void Main(string[] args)
{
var employee = new Employee("Iron", "Developer");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {employee.FirstName} {employee.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
この例では、簡単な従業員レコードを作成し、その後IronPDFを使用して、その人の名前を表示するPDF文書を生成します。 それは、C#レコードが.NETアプリケーションでのPDF生成にどれほどシームレスに統合できるかを示しています。
ODataは、標準化されたクエリ機能と操作機能を提供することにより、.NETにおけるRESTful APIの開発と利用を簡素化します。 また、Entity Frameworkとの統合も可能で、データアクセスと管理を簡素化することで開発効率を高めることができます。 ODataはAPI開発を合理化し、その豊富なクエリ機能と開発者エクスペリエンスの向上により、様々なプラットフォーム間でのシームレスな統合と相互運用性を可能にします。 さらに、IronPDFは.NETアプリケーション内でPDFを操作するための包括的な機能とサポートを提供します。