ไคลเอนต์โอเพ่นซอร์สสำหรับการบริโภค https://sanity.io กับ Rust ตาม reqwest
เป้าหมายที่อยู่เบื้องหลังโครงการนี้คือการจัดหา wrapper ระดับค่อนข้างต่ำสำหรับการบริโภค API ที่มีสติปัญญา เป้าหมายแรกคือเพื่อให้แน่ใจว่าฐานทั้งหมดได้รับการคุ้มครองสำหรับการเรียกใช้สตริงแบบสอบถาม Groq Bare จากนั้นฉันต้องการเพิ่มการสนับสนุนสำหรับ ORM บางประเภทเพื่อเรียกใช้การสืบค้นกับ (ถ้าคุณรู้วิธีง่าย ๆ ในการใช้งานโปรดแจ้งให้เราทราบ)
การยืดเป้าหมายจะเป็นการเพิ่มผู้บริโภค GraphQL ในระดับที่สูงขึ้นเพื่อให้การดำเนินงานด้านสติปัญญาเป็นเรื่องง่าย แต่มีโครงการ 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 ( ) ) ) ;
}
} ฉันเป็นที่ยอมรับว่าค่อนข้างใหม่กับ Rust ดังนั้นหากคุณเห็นสิ่งใดที่คุณต้องการเปลี่ยนแปลงหรืออะไรก็ตามที่คุณต้องการดูเพิ่มเติม โปรด เปิดคำขอคุณสมบัติในปัญหา GitHub :)
ฉันเปิดรับการยอมรับใด ๆ และทั้งหมดตราบเท่าที่พวกเขาพอดีกับโครงการและมีรหัสที่ดี!