Der Open -Source -Client für den Verzehr von https://sanity.io mit Rost, basierend auf reqwest .
Das Ziel dieses Projekts ist es, eine relativ niedrige Wrapper für den konsumierenden APIs zu konsumieren. Das erste Ziel ist es, sicherzustellen, dass alle Basen für das Ausführen von bloßen GROQ -Abfragen abgedeckt sind. Dann möchte ich eine Art Orm unterstützen, mit dem Sie Fragen ausführen können (wenn Sie eine einfache Möglichkeit haben, dies zu implementieren, lassen Sie es mich bitte wissen).
Das Stretch -Ziel würde darin bestehen, einen GraphQL -Verbraucher auf höherem Niveau hinzuzufügen, um die Vernunftbetrieb zu einem Kinderspiel zu machen, aber es gibt andere GraphQL -Projekte für Rost, so dass das keine hohe Priorität hat :)
Fügen Sie Ihren Abhängigkeiten die sanity hinzu:
[ dependencies ]
sanity = " 0.1.0 "Oder direkt über GitHub:
[ dependencies ]
sanity = { git = " https://github.com/DukeFerdinand/sanity.rs " }Geben Sie dann wie jede andere externe Kiste ein:
// main.rs or wherever
.. .
extern crate sanity ;
.. .
fn main {
.. .
} Ab sofort ( v0.1.0 ) werden nur get unterstützt.
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 ( ) ) ) ;
}
} Ich bin zugegebenermaßen ziemlich neu im Rost. Wenn Sie also etwas sehen, das Sie ändern möchten, oder etwas, das Sie sehen möchten, öffnen Sie bitte eine Feature -Anfrage in den Github -Problemen :)
Ich bin offen dafür, alle PRs zu akzeptieren, solange sie dem Projekt passen und einen guten Code enthalten!