[][src]Attribute Macro async_graphql::SimpleObject

#[SimpleObject]

Define a GraphQL object

Similar to Object, but defined on a structure that automatically generates getters for all fields.

Macro parameters

AttributedescriptionTypeOptional
nameObject namestringY
descObject descriptionstringY
cache_controlObject cache controlCacheControlY

Field parameters

AttributedescriptionTypeOptional
nameField namestringY
descField descriptionstringY
deprecationField deprecation reasonstringY
cache_controlField cache controlCacheControlY

Examples

use async_graphql::*;

#[SimpleObject]
struct QueryRoot {
    #[field]
    value: i32,
}

#[async_std::main]
async fn main() {
    let schema = Schema::new(QueryRoot{ value: 10 }, EmptyMutation, EmptySubscription);
    let res = schema.execute("{ value }").await.unwrap().data;
    assert_eq!(res, serde_json::json!({
        "value": 10,
    }));
}