STEP-4 Simple GraphQl and Resolver
The next few steps not going to be so visual, but very important, we going to create an Extension and establish the connection (communication) between this extension and our module.
In this particular step, we going to create a sample graphql shema and resolver.
Create schema.graphqls in <MODULE ROOT>/etc/
type Query {
socialShare: socialShareType @resolver(class:"\\ScandiPWA\\SocialShareGraphQl\\Model\\Resolver\\SocialShare")
}
type socialShareType {
enabled: String
}
2. Create Model folder in <MODULE ROOT> and Resolver folder in it. 3. Create SocialShare.php in <MODULE ROOT>/Model/Resolver
<?php
declare(strict_types=1);
namespace ScandiPWA\SocialShareGraphQl\Model\Resolver;
use Magento\Framework\GraphQl\Config\Element\Field;
use Magento\Framework\GraphQl\Query\Resolver\ContextInterface;
use Magento\Framework\GraphQl\Query\Resolver\Value;
use Magento\Framework\GraphQl\Query\ResolverInterface;
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
use Magento\Framework\App\Config\ScopeConfigInterface;
/**
* @package ScandiPWA\SocialShareGraphQl\Model\Resolver
*/
class SocialShare implements ResolverInterface
{
/**
* @param Field $field
* @param ContextInterface $context
* @param ResolveInfo $info
* @param array|null $value
* @param array|null $args
* @return string[]
*/
public function resolve(Field $field, $context, ResolveInfo $info, array $value = null, array $args = null)
{
$result = [
'enabled' => 'works'
];
return $result;
}
}
4. run cache:flush
5. Open GraphQl Client, for example, Altair GraphQL Client execute a query and check if you created resolver is responding
useful materials: GraphQl queries, Working with GraphQL
Last updated
Was this helpful?