ComicVineApi
1.0.0
素晴らしい Comic Vine REST API をラップする美しい .NET API。
https://comicvine.com/api から API キーが必要になります。
情報を検索/取得するには、主に 3 つの方法があります。
各リソースについて、1 行のコードで特定の項目を簡単にリクエストできます。
// create the client
var client = new ComicVineClient ( " <API-KEY> " , " <CUSTOM-USER-AGENT> " ) ;
// request the Batgirl (Cassandra Cain) character
var cassie = await client . Character . GetAsync ( 65230 ) ;
// print something out
Console . WriteLine ( $" { cassie . Name } was born on { cassie . Birth } . " ) ;
値を含む基本的なフィルター:
// create the client
var client = new ComicVineClient ( " <API-KEY> " , " <CUSTOM-USER-AGENT> " ) ;
// request the female Cain family characters
var females = client . Character . Filter ( )
. WithValue ( x => x . Name , " Cain " )
. WithValue ( x => x . Gender , Gender . Female ) ;
// fetch the first result (all fields)
var first = await females . FirstOrDefaultAsync ( ) ;
// print something out
Console . WriteLine ( $" { first . Name } was born on { first . Birth } . " ) ;
ペイロードを小さくするためにフィールドを減らしてフィルターします。
// create the client
var client = new ComicVineClient ( " <API-KEY> " , " <CUSTOM-USER-AGENT> " ) ;
// request the female Cain family characters
var females = client . Character . Filter ( )
. WithValue ( x => x . Name , " Cain " )
. WithValue ( x => x . Gender , Gender . Female ) ;
// just fetch minimal data (id, name, birth)
var smallPayload = females
. IncludeField ( x => x . Id )
. IncludeField ( x => x . Name )
. IncludeField ( x => x . Birth ) ;
// fetch all the results on the page
var page = await smallPayload . ToListAsync ( ) ;
// fetch all the items on all the pages
foreach ( var character in page )
{
// print something out
Console . WriteLine ( $" { character . Name } was born on { character . Birth } . " ) ;
}
サーバー上のすべての結果を反復処理します (複数の API 呼び出しを介して)。
// create the client
var client = new ComicVineClient ( " <API-KEY> " , " <CUSTOM-USER-AGENT> " ) ;
// request the female Cain family characters
var females = client . Character . Filter ( )
. WithValue ( x => x . Name , " Cain " )
. WithValue ( x => x . Gender , Gender . Female ) ;
// fetch all the items on all the pages
await foreach ( var character in filter . ToAsyncEnumerable ( ) )
{
// print something out
Console . WriteLine ( $" { character . Name } was born on { character . Birth } . " ) ;
}
TODO: ドキュメントを追加する
TODO: ドキュメントを追加する