使用旧的Rust 2015
0.0.1 |
|
---|
#28 in #graphql-client
16KB
215 代码行
github-gql-rs
不完整的绑定
鉴于这是一个更加自由的格式,并未创建一个完整的用于客户端查询的GraphQL库。请参阅GitHub V4 API文档以获取您可以执行的查询。
依赖和支持
github-gql-rs旨在在所有一级支持的Rust系统上运行
- Windows
- Linux
- MacOSX
最低编译器版本
由于使用了某些特性,githubgql--rs需要rustc版本1.18或更高。
项目目标
- 拥有一个健壮的API,其中所有内容都进行了错误处理,以避免任何类型的恐慌。库是应用程序的基础,应该是构建的基础。
- 稳定性是API的一部分。因此,将努力确保此代码在稳定Rust而不是夜间版本上编译。
- 易于使用。复杂性应该从不在代码上修改的人那里隐藏。
- 对一切进行文档记录,这样不仅容易修改,而且查找如何使用库也应该是容易的。
入门
将以下内容添加到您的 Cargo.toml
[dependencies]
github-gql-rs = "0.01"
然后在您的 lib.rs
或 main.rs
文件中添加
extern crate github_gql;
use github_gql::client::Github;
现在您可以从查询开始。以下是一个获取用户信息的简单示例
extern crate github_gql as gh;
extern crate serde_json;
use gh::client::Github;
use gh::query::Query;
use serde_json::Value;
fn main() {
let mut g = Github::new("YOUR API TOKEN GOES HERE").unwrap();
let (headers, status, json) = g.query::<Value>(
&Query::new_raw("query { viewer { login } }")
).unwrap();
println!("{}", headers);
println!("{}", status);
if let Some(json) = json {
println!("{}", json);
}
// This will update https://github.com/octocat/Hello-World/issues/349
// with a HOORAY emoji!
let (headers, status, json) = g.mutation::<Value>(
&Mutation::new_raw(
"mutation AddReactionToIssue { \
addReaction( input: { subjectId: \\\"MDU6SXNzdWUyMzEzOTE1NTE=\\\", content: HOORAY } ) { \
reaction { \
content \
} \
subject { \
id \
} \
} \
}")
).unwrap();
println!("{}", headers);
println!("{}", status);
if let Some(json) = json {
println!("{}", json);
}
}
修改库
贡献
有关更多信息,请参阅 CONTRIBUTING.md
许可
根据您的选择,许可协议为以下之一
- Apache许可证第2版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
许可
除非您明确声明,否则您根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,将根据上述内容双许可,不附加任何其他条款或条件。
依赖项
~19–29MB
~510K SLoC