El cliente de código abierto para consumir https://sanity.io con óxido, basado en reqwest .
El objetivo detrás de este proyecto es proporcionar un envoltorio de nivel relativamente bajo para consumir API propulsadas por la cordura. El primer objetivo es asegurarse de que todas las bases estén cubiertas para ejecutar cadenas de consultas de Groq Bare, luego me gustaría agregar soporte para algún tipo de ORM para ejecutar consultas (si conoce alguna manera fácil de implementar esto, hágamelo saber).
El objetivo de estiramiento sería agregar un consumidor de GraphQL de nivel superior para que las operaciones de cordura sean muy fáciles, pero hay otros proyectos GRAPHQL para el óxido, por lo que no es una alta prioridad :)
Agregue la caja de sanity a sus dependencias:
[ dependencies ]
sanity = " 0.1.0 "O directamente a través de GitHub:
[ dependencies ]
sanity = { git = " https://github.com/DukeFerdinand/sanity.rs " }Luego incluya como lo haría con cualquier otra caja externa:
// main.rs or wherever
.. .
extern crate sanity ;
.. .
fn main {
.. .
} A partir de ahora ( v0.1.0 ), solo se admiten solicitudes get .
GET solicitud 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 ( ) ) ) ;
}
} Es cierto que soy bastante nuevo en Rust, así que si ves algo que te gustaría cambiar o cualquier cosa que quieras ver agregado, abra una solicitud de función en los problemas de GitHub :)
¡Estoy abierto a aceptar todos y cada uno de los PRS siempre que se ajusten al proyecto y contengan un buen código!