Struct async_graphql_poem::GraphQLRequest [−][src]
pub struct GraphQLRequest(pub Request);Expand description
An extractor for GraphQL request.
You can just use the extractor as in the example below, but I would recommend using
the GraphQL endpoint because it is easier to integrate.
Example
use poem::{handler, Route, post, EndpointExt};
use poem::web::{Json, Data};
use poem::middleware::AddData;
use async_graphql_poem::GraphQLRequest;
use async_graphql::{EmptyMutation, EmptySubscription, Object, Schema};
struct Query;
#[Object]
impl Query {
async fn value(&self) -> i32 {
100
}
}
type MySchema = Schema<Query, EmptyMutation, EmptySubscription>;
#[handler]
async fn index(req: GraphQLRequest, schema: Data<&MySchema>) -> Json<async_graphql::Response> {
Json(schema.execute(req.0).await)
}
let schema = Schema::new(Query, EmptyMutation, EmptySubscription);
let app = Route::new().at("/", post(index.with(AddData::new(schema))));Tuple Fields
0: RequestTrait Implementations
fn from_request<'life0, 'async_trait>(
req: &'a Request,
body: &'life0 mut RequestBody
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>> where
'a: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
fn from_request<'life0, 'async_trait>(
req: &'a Request,
body: &'life0 mut RequestBody
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>> where
'a: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
Perform the extraction.
Auto Trait Implementations
impl !RefUnwindSafe for GraphQLRequest
impl Send for GraphQLRequest
impl Sync for GraphQLRequest
impl Unpin for GraphQLRequest
impl !UnwindSafe for GraphQLRequest
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more