sanity.rs
1.0.0
reqwestに基づいて、錆を使用してhttps://sanity.ioを消費するためのオープンソースクライアント。
このプロジェクトの背後にある目標は、正気を駆動するAPIを消費するための比較的低レベルのラッパーを提供することです。最初の目標は、すべてのベースが裸のGROQクエリ文字列を実行するためにカバーされていることを確認することです。その後、何らかのORMがクエリを実行するためのサポートを追加したいと思います(これを実装する簡単な方法がわかっている場合は、私に知らせてください)。
ストレッチの目標は、より高いレベルのGraphQL消費者を追加してSanity Operationsを簡単にすることですが、錆のための他のGraphQLプロジェクトがあります。
sanity Crateを依存関係に追加します。
[ dependencies ]
sanity = " 0.1.0 "またはGitHub経由で直接:
[ dependencies ]
sanity = { git = " https://github.com/DukeFerdinand/sanity.rs " }次に、他の外部クレートを含めます。
// main.rs or wherever
.. .
extern crate sanity ;
.. .
fn main {
.. .
} 現在のところ( v0.1.0 )、 getリクエストのみがサポートされています。
GET extern crate sanity ;
use sanity :: helpers :: get_json ;
fn main ( ) {
// Ideally you would pull these values from an env of some sort
// PLEASE do not use bare strings in your project
let mut sn = sanity :: create (
"proj_id" , // Sanity project ID to use
"data_set" , // Data set to query. i.e. "development"
"Long_string_for_token" , // Bearer token
false , // Use prod cdn or not
) ;
let res = sn . get ( & String :: from ( "*[_type == 'recipe']" ) ) ;
if res . is_ok ( ) {
println ! ( "{:?}" , get_json ( res . unwrap ( ) ) ) ;
}
} 私は確かに錆びにかなり新しいので、変更したいものや追加したいものを見たい場合は、githubの問題で機能リクエストを開いてください:)
プロジェクトに適合し、良いコードが含まれている限り、すべてのPRを受け入れることができます!