app\code\VendorName\ModuleName\etc\schema.graphqls-
type Query {
getOrder (
orderId: String @doc(description: "Order Id")
): GetOrderOutput @resolver(class: "VendorName\\ModuleName\\Model\\Resolver\\GetOrder") @doc(description:"Get Order Details")
}

type GetOrderOutput {
status: Boolean
message: String
products: String
}

Model
app\code\VendorName\ModuleName\Model\Resolver\GetOrder.php

<?php
namespace VendorName\ModuleName\Model\Resolver;

use Magento\Framework\GraphQl\Config\Element\Field;
use Magento\Framework\GraphQl\Exception\GraphQlAuthenticationException;
use Magento\Framework\GraphQl\Exception\GraphQlInputException;
use Magento\Framework\GraphQl\Query\ResolverInterface;
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
use Magento\Framework\Exception\NoSuchEntityException;
use VendorName\ModuleName\Model\StudentFactory;
use VendorName\ModuleName\Model\ResourceModel\Student\CollectionFactory;

class GetOrder implements ResolverInterface
{
/**
* @var StudentFactory
*/
protected $studentFactory;

/**
* @var studendCollection
*/
protected $studentCollection;

/**
* @var orderRepository
*/
protected $orderRepository;

public function __construct(
StudentFactory $studentFactory,
CollectionFactory $studentCollection,
\Magento\Sales\Api\OrderRepositoryInterface $orderRepository,
) {
$this->studentFactory = $studentFactory;
$this->studentCollection = $studentCollection;
$this->orderRepository = $orderRepository;
}

/**
* @param Field $field
* @param \Magento\Framework\GraphQl\Query\Resolver\ContextInterface $context
* @param ResolveInfo $info
* @param array|null $value
* @param array|null $args
* @return array|\Magento\Framework\GraphQl\Query\Resolver\Value|mixed
* @throws GraphQlInputException
*/
public function resolve(
Field $field,
$context,
ResolveInfo $info,
array $value = null,
array $args = null
) {
if (!isset($args['orderId']) || empty($args['orderId'])
) {
throw new GraphQlInputException(__('Please enter OTP.'));
}
$output = [];
$output['status'] = false;
$output['products'] = [];
$output['message'] = "";
try {
$output = $this->getOrder($args['orderId']);
$output['products'] = $this->getOrderProducts($args['orderId']);
$output;
} catch (NoSuchEntityException $e) {
throw new GraphQlNoSuchEntityException(__($e->getMessage()), $e);
}
return $output;
}
public function getOrder($orderId)
{
try {
$collection = $this->studentCollection->create()
->addFieldToFilter('order_id', $orderId);

if (count($collection) == 1) {
$item = $collection->getFirstItem();

return ["status"=>true,
"reference_no"=>$item->getReferenceNo(),
"amount"=>$item->getAmount(),
"sub_id"=>$item->getSubId(),
"ref_no"=>$item->getRefNo()
];
}else{
return ["status"=>true,
"reference_no"=>"",
"amount"=>"",
"sub_id"=>"",
"ref_no"=>""
];
}

} catch (\Exception $e) {
return ["status"=>false, "message"=>$e->getMessage()];
}
}
public function getOrderProducts($orderId)
{
try {
$data = [];
$order = $this->orderRepository->get($orderId);
$i = 0;
foreach ($order->getAllItems() as $item) {
//$data = $item->getData();
if($item->getRowTotalInclTax() != null){
$data[$i]['product_id'] = $item->getProductId();
$data[$i]['name'] = $item->getName();
$data[$i]['sku'] = $item->getSku();
$data[$i]['row_total_incl_tax'] = $item->getRowTotalInclTax();
//var_dump($item->getData());
$i++;
}
}
return json_encode($data);
} catch (\Exception $e) {
return ["status"=>false, "message"=>$e->getMessage()];
}
}

}