Клиент с открытым исходным кодом для потребления https://sanity.io с Rust, на основе reqwest .
Цель этого проекта-обеспечить относительно низкую обертку для потребления API с мощным здравомыслием. Первая цель состоит в том, чтобы убедиться, что все основания покрыты для запуска строк запросов Grate Groq, тогда я бы хотел добавить поддержку для какого -либо ORM для запуска запросов (если вы знаете какой -либо простой способ реализовать это, пожалуйста, дайте мне знать).
Цель растяжения будет добавлять потребитель GraphQL более высокого уровня, чтобы сделать Sanity Operations на бриз, но есть и другие проекты GraphQL для ржавчины, так что это не высокий приоритет :)
Добавьте к вам ящик sanity : зависимости:
[ 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 :)
Я открыт для принятия любых PRS, если они соответствуют проекту и содержат хороший код!