O cliente de código aberto para consumir https://sanity.io com ferrugem, com base no reqwest .
O objetivo por trás deste projeto é fornecer um invólucro de nível relativamente baixo para consumir APIs movidas a sanidade. O primeiro objetivo é garantir que todas as bases sejam cobertas para executar strings de consulta Bare Groq, então eu gostaria de adicionar suporte para algum tipo de ORM para executar consultas contra (se você souber alguma maneira fácil de implementar isso, entre em contato).
A meta de alongamento seria adicionar um consumidor de grafql de nível superior para tornar as operações de sanidade com muita brisa, mas existem outros projetos grafql para ferrugem, então isso não é uma alta prioridade :)
Adicione a caixa sanity às suas dependências:
[ dependencies ]
sanity = " 0.1.0 "Ou diretamente via github:
[ dependencies ]
sanity = { git = " https://github.com/DukeFerdinand/sanity.rs " }Em seguida, inclua como você faria com qualquer outra caixa externa:
// main.rs or wherever
.. .
extern crate sanity ;
.. .
fn main {
.. .
} A partir de agora ( v0.1.0 ), apenas as solicitações get são suportadas.
GET solicitação 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 ( ) ) ) ;
}
} Eu sou reconhecidamente novo em Rust, então, se você vir algo que gostaria de mudar ou qualquer coisa que gostaria de ver adicionada, abra uma solicitação de recurso nos problemas do GitHub :)
Estou aberto a aceitar todo e qualquer PRS, desde que eles se encaixem no projeto e contenham um bom código!