Le client open source pour consommer https://sanity.io avec Rust, basé sur reqwest .
L'objectif derrière ce projet est de fournir un emballage de niveau relativement bas pour consommer des API alimentées par la santé mentale. Le premier objectif est de s'assurer que toutes les bases sont couvertes pour exécuter des chaînes de requête de grooq nus, alors j'aimerais ajouter une prise en charge d'une sorte d'ORM pour exécuter les requêtes (si vous savez un moyen facile de mettre en œuvre cela, veuillez me le faire savoir).
L'objectif extensible serait d'ajouter un consommateur GraphQL de niveau supérieur pour faire des opérations de santé mentale, mais il existe d'autres projets GraphQL pour la rouille, ce qui n'est pas une priorité élevée :)
Ajoutez la caisse sanity à vos dépendances:
[ dependencies ]
sanity = " 0.1.0 "Ou directement via github:
[ dependencies ]
sanity = { git = " https://github.com/DukeFerdinand/sanity.rs " }Incluez ensuite comme vous le feriez pour n'importe quelle autre caisse externe:
// main.rs or wherever
.. .
extern crate sanity ;
.. .
fn main {
.. .
} En ce moment ( v0.1.0 ), seules les get sont prises en charge.
GET une demande 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 ( ) ) ) ;
}
} Je suis certes assez nouveau à Rust, donc si vous voyez quelque chose que vous souhaitez changer ou tout ce que vous aimeriez voir ajouté, veuillez ouvrir une demande de fonctionnalité dans les problèmes GitHub :)
Je suis ouvert à l'acceptation de tous les RP tant qu'ils s'adaptent au projet et contiennent un bon code!