App\UseCase\SampleUseCaseRequest:
collectionOperations:
post:
path: '/sample-path'
messenger: true
output: 'App\UseCase\SampleUseCaseResponse'
This configuration worked well with v2.4.2. After upgrading to 2.4.3 (and 2.4.4 as well) I started getting this issue:
{"@context":"\/contexts\/Error","@type":"hydra:Error","hydra:title":"An error occurred","hydra:description":"No resource class found for object of type \u0022App\\UseCase\\SampleUseCaseResponse\u0022.","trace":[{"namespace":"","short_class":"","class":"","type":"","function":"","file":"vendor\/api-platform\/core\/src\/Api\/ResourceClassResolver.php","line":54,"args":[]},{"namespace":"ApiPlatform\\Core\\Api","short_class":"ResourceClassResolver","class":"ApiPlatform\\Core\\Api\\ResourceClassResolver","type":"-\u003E","function":"getResourceClass","file":"vendor\/api-platform\/core\/src\/Util\/ResourceClassInfoTrait.php","line":52,"args":[["object","App\\UseCase\\SampleUseCaseResponse"]]},{"namespace":"ApiPlatform\\Core\\Bridge\\Symfony\\Routing","short_class":"IriConverter","class":"ApiPlatform\\Core\\Bridge\\Symfony\\Routing\\IriConverter","type":"-\u003E","function":"getResourceClass","file":"vendor\/api-platform\/core\/src\/Bridge\/Symfony\/Routing\/IriConverter.php","line":120,"args":[["object","App\\UseCase\\SampleUseCaseResponse"],["boolean",true]]},{"namespace":"ApiPlatform\\Core\\Bridge\\Symfony\\Routing","short_class":"IriConverter","class":"ApiPlatform\\Core\\Bridge\\Symfony\\Routing\\IriConverter","type":"-\u003E","function":"getIriFromItem","file":"src\/ApiPlatform\/ParamsAwareIriConverter.php","line":62
class FallbackIriConverter implements IriConverterInterface {
private $decorated;
public function __construct(IriConverterInterface $decorated) {
$this->decorated = $decorated;
}
public function getIriFromItem($item, int $referenceType = UrlGeneratorInterface::ABS_PATH): string
{
try {
return $this->decorated->getIriFromItem($item, $referenceType);
} catch (InvalidArgumentException $e) {
return '';
}
}
}
I'm wondering is it a bug and how to better approach this issue? Is IRI critically important for the non-resource output?
Hi Folks!
I'm using api-platform for handling custom use cases:
This configuration worked well with v2.4.2. After upgrading to 2.4.3 (and 2.4.4 as well) I started getting this issue:
So

IriConverter::getIriFromItemcallsResourceClassResolver::getResourceClasswhich throwsInvalidArgumentExceptionif the output is not an api resource.As a workaround I decorated IriConverter and added fallback:
I'm wondering is it a bug and how to better approach this issue? Is IRI critically important for the non-resource output?