ComicVineApi
1.0.0
一个漂亮的 .NET API,封装了很棒的 Comic Vine REST API。
您将需要来自 https://comicvine.com/api 的 API 密钥。
查找/获取信息的主要方式有 3 种:
对于每个资源,您可以通过一行代码轻松请求特定项目:
// 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:添加文档