new Rules\IsRequestRule(
$metadata,
new Rules\AssembleRule(new Assembler\RequestAssembler()),
),
new Rules\IsResultRule(
$metadata,
new Rules\AssembleRule(new Assembler\ResultAssembler()),
)
IsResultRule collects return type from the method, but method return type is mapped to the method name.
I.e for a method methodName(MethodNameRequestType $request): MethodNameResultTypeResponse generated client correctly expects base ResultTypeResponse instead of MethodNameResultTypeResponse, but ResultTypeResponse type doesn't implement ResultInterface because it is not recognized as a return type.
Feature Request
Summary
When using assemblers like this:
IsResultRule
collects return type from the method, but method return type is mapped to the method name. I.e for a methodmethodName(MethodNameRequestType $request): MethodNameResultTypeResponse
generated client correctly expects baseResultTypeResponse
instead ofMethodNameResultTypeResponse
, butResultTypeResponse
type doesn't implementResultInterface
because it is not recognized as a return type.