Derive Macro async_graphql::MergedObject[][src]

#[derive(MergedObject)]
{
    // Attributes available to this derive:
    #[graphql]
}
Expand description

Define a merged object with multiple object types.

See also the Book.

Macro parameters

AttributedescriptionTypeOptional
nameObject namestringY
cache_controlObject cache controlCacheControlY
extendsAdd fields to an entity that’s defined in another serviceboolY
visibleIf false, it will not be displayed in introspection. See also the Book.boolY
visibleCall the specified function. If the return value is false, it will not be displayed in introspection.stringY
serialResolve each field sequentially.boolY

Examples

use async_graphql::*;

#[derive(SimpleObject)]
 struct Object1 {
    a: i32,
 }

#[derive(SimpleObject)]
struct Object2 {
    b: i32,
}

#[derive(SimpleObject)]
struct Object3 {
    c: i32,
}

#[derive(MergedObject)]
struct MyObj(Object1, Object2, Object3);

let obj = MyObj(Object1 { a: 10 }, Object2 { b: 20 }, Object3 { c: 30 });