...

/

Implement Callback Approach

Implement Callback Approach

Learn how to implement the callback approach of middleware.

We'll cover the following...

Callback approach

Every field in our mutation object so far can return Ecto changeset errors. Those resolvers would be a lot cleaner if they could use this middleware instead. If we take the macro-based approach we have covered so far, it looks like this:

Press + to interact
mutation do
field :ready_order, :order_result do
arg :id, non_null(:id)
resolve &Resolvers.Ordering.ready_order/3
middleware Middleware.ChangesetErrors
end
field :complete_order, :order_result do
arg :id, non_null(:id)
resolve &Resolvers.Ordering.complete_order/3
middleware Middleware.ChangesetErrors
end
field :place_order, :order_result do
arg :input, non_null(:place_order_input)
resolve &Resolvers.Ordering.place_order/3
middleware Middleware.ChangesetErrors
end
field :create_menu_item, :menu_item_result do
arg :input, non_null(:menu_item_input)
resolve &Resolvers.Menu.create_item/3
middleware Middleware.ChangesetErrors
end
end

Not only ...