Comments (3)
Hi @mathroc! Would you have a complete stack trace of the error plz?
from graphqlbundle.
sure:
In Utils.php line 109:
[Exception]
Cannot stringify object of class: 'Proton\Apps\MailExperimental\Application\GraphQL\Query\ResolveStrategy'.Exception trace:
at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:109
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:133
Murtukov\PHPCodeGenerator\Utils::stringifyAssocArray() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:93
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:56
Murtukov\PHPCodeGenerator\Utils::stringify() at /var/www/vendor/murtukov/php-code-generator/src/Collection.php:202
Murtukov\PHPCodeGenerator\Collection->generate() at /var/www/vendor/murtukov/php-code-generator/src/AbstractGenerator.php:13
Murtukov\PHPCodeGenerator\AbstractGenerator->__toString() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:113
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:163
Murtukov\PHPCodeGenerator\Utils::stringifyNumericArray() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:94
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:56
Murtukov\PHPCodeGenerator\Utils::stringify() at /var/www/vendor/murtukov/php-code-generator/src/Collection.php:202
Murtukov\PHPCodeGenerator\Collection->generate() at /var/www/vendor/murtukov/php-code-generator/src/AbstractGenerator.php:13
Murtukov\PHPCodeGenerator\AbstractGenerator->__toString() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:113
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:133
Murtukov\PHPCodeGenerator\Utils::stringifyAssocArray() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:93
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:56
Murtukov\PHPCodeGenerator\Utils::stringify() at /var/www/vendor/murtukov/php-code-generator/src/Collection.php:202
Murtukov\PHPCodeGenerator\Collection->generate() at /var/www/vendor/murtukov/php-code-generator/src/AbstractGenerator.php:13
Murtukov\PHPCodeGenerator\AbstractGenerator->__toString() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:113
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:133
Murtukov\PHPCodeGenerator\Utils::stringifyAssocArray() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:93
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:56
Murtukov\PHPCodeGenerator\Utils::stringify() at /var/www/vendor/murtukov/php-code-generator/src/Collection.php:202
Murtukov\PHPCodeGenerator\Collection->generate() at /var/www/vendor/murtukov/php-code-generator/src/AbstractGenerator.php:13
Murtukov\PHPCodeGenerator\AbstractGenerator->__toString() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:113
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:56
Murtukov\PHPCodeGenerator\Utils::stringify() at /var/www/vendor/murtukov/php-code-generator/src/ArrowFunction.php:35
Murtukov\PHPCodeGenerator\ArrowFunction->generate() at /var/www/vendor/murtukov/php-code-generator/src/AbstractGenerator.php:13
Murtukov\PHPCodeGenerator\AbstractGenerator->__toString() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:113
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:133
Murtukov\PHPCodeGenerator\Utils::stringifyAssocArray() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:93
Murtukov\PHPCodeGenerator\Utils::stringifyValue() at /var/www/vendor/murtukov/php-code-generator/src/Utils.php:56
Murtukov\PHPCodeGenerator\Utils::stringify() at /var/www/vendor/murtukov/php-code-generator/src/Collection.php:202
Murtukov\PHPCodeGenerator\Collection->generate() at /var/www/vendor/murtukov/php-code-generator/src/AbstractGenerator.php:13
Murtukov\PHPCodeGenerator\AbstractGenerator->__toString() at n/a:n/a
join() at /var/www/vendor/murtukov/php-code-generator/src/ScopedContentTrait.php:103
Murtukov\PHPCodeGenerator\Method->Murtukov\PHPCodeGenerator{closure}() at n/a:n/a
array_map() at /var/www/vendor/murtukov/php-code-generator/src/ScopedContentTrait.php:103
Murtukov\PHPCodeGenerator\Method->generateContent() at /var/www/vendor/murtukov/php-code-generator/src/ScopedContentTrait.php:115
Murtukov\PHPCodeGenerator\Method->generateWrappedContent() at /var/www/vendor/murtukov/php-code-generator/src/Method.php:34
Murtukov\PHPCodeGenerator\Method->generate() at /var/www/vendor/murtukov/php-code-generator/src/AbstractGenerator.php:13
Murtukov\PHPCodeGenerator\AbstractGenerator->__toString() at n/a:n/a
join() at /var/www/vendor/murtukov/php-code-generator/src/ScopedContentTrait.php:103
Murtukov\PHPCodeGenerator\OOPStructure->Murtukov\PHPCodeGenerator{closure}() at n/a:n/a
array_map() at /var/www/vendor/murtukov/php-code-generator/src/ScopedContentTrait.php:103
Murtukov\PHPCodeGenerator\OOPStructure->generateContent() at /var/www/vendor/murtukov/php-code-generator/src/ScopedContentTrait.php:115
Murtukov\PHPCodeGenerator\OOPStructure->generateWrappedContent() at /var/www/vendor/murtukov/php-code-generator/src/PhpClass.php:108
Murtukov\PHPCodeGenerator\PhpClass->generate() at /var/www/vendor/murtukov/php-code-generator/src/AbstractGenerator.php:13
Murtukov\PHPCodeGenerator\AbstractGenerator->__toString() at n/a:n/a
implode() at /var/www/vendor/murtukov/php-code-generator/src/PhpFile.php:39
Murtukov\PHPCodeGenerator\PhpFile->generate() at /var/www/vendor/murtukov/php-code-generator/src/PhpFile.php:50
Murtukov\PHPCodeGenerator\PhpFile->__toString() at n/a:n/a
file_put_contents() at /var/www/vendor/murtukov/php-code-generator/src/PhpFile.php:161
Murtukov\PHPCodeGenerator\PhpFile->save() at /var/www/vendor/overblog/graphql-bundle/src/Generator/TypeGenerator.php:93
Overblog\GraphQLBundle\Generator\TypeGenerator->generateClass() at /var/www/vendor/overblog/graphql-bundle/src/Generator/TypeGenerator.php:61
Overblog\GraphQLBundle\Generator\TypeGenerator->compile() at /var/www/vendor/overblog/graphql-bundle/src/CacheWarmer/CompileCacheWarmer.php:44
Overblog\GraphQLBundle\CacheWarmer\CompileCacheWarmer->warmUp() at /var/www/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php:108
Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate->warmUp() at /var/www/vendor/symfony/http-kernel/Kernel.php:545
Symfony\Component\HttpKernel\Kernel->initializeContainer() at /var/www/vendor/symfony/http-kernel/Kernel.php:763
Symfony\Component\HttpKernel\Kernel->preBoot() at /var/www/vendor/symfony/http-kernel/Kernel.php:126
Symfony\Component\HttpKernel\Kernel->boot() at /var/www/vendor/symfony/framework-bundle/Console/Application.php:190
Symfony\Bundle\FrameworkBundle\Console\Application->registerCommands() at /var/www/vendor/symfony/framework-bundle/Console/Application.php:72
Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /var/www/vendor/symfony/console/Application.php:175
Symfony\Component\Console\Application->run() at /var/www/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php:49
Symfony\Component\Runtime\Runner\Symfony\ConsoleApplicationRunner->run() at /var/www/vendor/autoload_runtime.php:31
from graphqlbundle.
the workaround I mentioned isn't working in fact. It allows to build the types but at runtime it fails when the argument is omitted because the default is a string, so the reverse transformation isn't happening either for the default
stack trace:
[GraphQL] TypeError: Proton\Apps\MailExperimental\Application\GraphQL\Query\Messages::messages(): Argument #3 ($strategy) must be of type Proton\Apps\MailExperimental\Application\GraphQL\Query\ResolveStrategy, string given, called in /var/www/var/cache/mail-experimental/dev/graphql/types/QueryType.php on line 52[0] (caught throwable) at /var/www/apps/MailExperimental/src/Application/GraphQL/Query/Messages.php line 23.
/var/www/apps/MailExperimental/src/Application/GraphQL/Query/Messages.php:23 {▶}
/var/www/var/cache/mail-experimental/dev/graphql/types/QueryType.php:52 {▶}
/var/www/vendor/overblog/graphql-bundle/src/Definition/ArgumentFactory.php:38 {▶}
/var/www/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php:714 {▶}
/var/www/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php:631 {▶}
/var/www/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php:1317 {▶}
/var/www/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php:298 {▶}
/var/www/vendor/webonyx/graphql-php/src/Executor/ReferenceExecutor.php:237 {▶}
/var/www/vendor/webonyx/graphql-php/src/Executor/Executor.php:159 {▶}
/var/www/vendor/webonyx/graphql-php/src/GraphQL.php:162 {▶}
/var/www/vendor/overblog/graphql-bundle/src/Executor/Executor.php:44 {▶}
/var/www/vendor/overblog/graphql-bundle/src/Request/Executor.php:149 {▶}
/var/www/vendor/overblog/graphql-bundle/src/Controller/GraphController.php:117 {▶}
/var/www/vendor/overblog/graphql-bundle/src/Controller/GraphController.php:89 {▶}
/var/www/vendor/overblog/graphql-bundle/src/Controller/GraphController.php:65 {▶}
/var/www/vendor/overblog/graphql-bundle/src/Controller/GraphController.php:43 {▶}
/var/www/vendor/symfony/http-kernel/HttpKernel.php:181 {▶}
/var/www/vendor/symfony/http-kernel/HttpKernel.php:76 {▶}
/var/www/vendor/symfony/http-kernel/Kernel.php:197 {▶}
/var/www/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35 {▶}
so the only workaround I could find is by making the argument nullable and having a null default:
#[GQL\Query]
public function messages(
int $page = 0,
int $pageSize = 100,
?ResolveStrategy $strategy = null,
): ?Message {
$strategy ??= ResolveStrategy::InMemory;
from graphqlbundle.
Related Issues (20)
- Add support for `parseValue` configuration for `input-object` types
- Dynamic fields from database HOT 1
- MetadataParser will throw exception if you have Symfony PHP Configurations in your bundle HOT 4
- Types with same name differents according to schema
- Example from doc not working under Symfony 6 HOT 1
- The path "overblog_graphql_types.RootQuery._object_config.fields" should have at least 1 element(s) defined. HOT 10
- Ignoring of the name parameter of field attribute HOT 3
- Dataloader or Resolver Contexts & Parameters
- Type error introduced in 1.2.0 HOT 23
- Multiline documentation with a graphql schema leads to unnececairy indent/code block formatting HOT 1
- Multi level Input-object validation issue HOT 1
- Automatic type resolver for annotations/attributes
- ArgumentTransfomer should only validate arguments of type input
- Default field value for Input Object
- Annotations should be deprecated HOT 3
- Arguments order shouldn't matter
- Add ability to set HTTP status code and set own headers
- Help: Unclear how to use validation "link" with mutation/input objects HOT 2
- Validation is called on optional fields that are not passed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphqlbundle.