async-graphql/docs/zh-CN/src/define_simple_object.md

24 lines
732 B
Markdown
Raw Normal View History

2020-04-16 02:22:57 +00:00
# 简单对象(SimpleObject)
2020-05-13 04:49:43 +00:00
简单对象是把Rust结构的所有字段都直接映射到GraphQL对象不支持定义单独的Resolver函数。
2020-04-16 02:22:57 +00:00
2020-04-27 04:57:52 +00:00
下面的例子定义了一个名称为MyObject的对象包含字段`a`和`b``c`由于标记为`#[field(skip)]`所以不会映射到GraphQL。
2020-04-16 02:22:57 +00:00
**`a`和`b`字段都有描述信息这会反映在GraphQL的内省信息中它们采用了rustdoc和属性两种不同的写法这两种写法`async-graphql`都支持。当两种写法同时存在时,属性的优先级更高。**
2020-04-16 02:22:57 +00:00
```rust
use async_graphql::*;
#[derive(SimpleObject)]
2020-04-16 02:22:57 +00:00
struct MyObject {
/// Value a
2020-04-16 02:22:57 +00:00
a: i32,
#[field(desc = "Value b")]
2020-04-16 02:22:57 +00:00
b: i32,
2020-04-27 04:57:52 +00:00
#[field(skip)]
2020-04-16 02:22:57 +00:00
c: i32,
}
```