0 follower

Final Class Yiisoft\RequestModel\Attribute\QueryResolver

InheritanceYiisoft\RequestModel\Attribute\QueryResolver
ImplementsYiisoft\RequestModel\Attribute\HandlerParameterResolverInterface

Method Details

Hide inherited methods

resolve() public method

public mixed resolve ( Yiisoft\RequestModel\Attribute\HandlerParameterAttributeInterface $attribute, \Psr\Http\Message\ServerRequestInterface $request )
$attribute Yiisoft\RequestModel\Attribute\HandlerParameterAttributeInterface
$request \Psr\Http\Message\ServerRequestInterface

                public function resolve(HandlerParameterAttributeInterface $attribute, ServerRequestInterface $request): mixed
{
    if ($attribute::class !== Query::class) {
        throw new \InvalidArgumentException(sprintf('Expected "%s", got "%s".', Query::class, $attribute::class));
    }
    $queryParams = $request->getQueryParams();
    if ($attribute->getName() !== null) {
        return $queryParams[$attribute->getName()] ?? throw new ValueNotFoundException();
    }
    return $queryParams;
}