The method hello() returns the string 'Hello, NestJS!'. The @Query decorator specifies the return type as String.
Step 2: Understand GraphQL query result
When queried, the hello field returns the string value wrapped in quotes as a valid GraphQL string response.
Final Answer:
"Hello, NestJS!" -> Option A
Quick Check:
hello() returns string 'Hello, NestJS!' [OK]
Hint: Resolver method return matches GraphQL query result [OK]
Common Mistakes:
Expecting null or undefined instead of returned string
Thinking missing return type causes runtime error
Confusing resolver method with schema definition
4. Identify the error in this code-first resolver snippet:
import { Query, Resolver } from '@nestjs/graphql';
@Resolver()
export class SampleResolver {
@Query()
sample() {
return 123;
}
}
medium
A. Method sample() should be async
B. Missing return type in @Query decorator
C. Resolver class missing @ObjectType decorator
D. Return value 123 is invalid in GraphQL
Solution
Step 1: Check @Query decorator usage
The @Query decorator requires a return type function, e.g., @Query(() => Int) or @Query(() => String).
Step 2: Identify missing return type
Here, @Query() is missing the return type, which causes schema generation errors.
Final Answer:
Missing return type in @Query decorator -> Option B
Quick Check:
@Query needs return type function [OK]
Hint: Always specify return type in @Query(() => Type) [OK]
Common Mistakes:
Omitting return type in @Query decorator
Adding @ObjectType to resolver class incorrectly
Assuming async is mandatory for resolver methods
5. You want to create a GraphQL object type with a field that is optional and nullable using the code-first approach. Which is the correct way to define the field in your class?
import { Field, ObjectType } from '@nestjs/graphql';
@ObjectType()
export class User {
@Field(() => String, { nullable: true })
nickname?: string;
}
What does this code do?
hard
A. Ignores the nickname field in the generated schema
B. Causes a schema error because optional fields are not allowed
C. Makes nickname required and non-nullable in the schema
D. Defines a User type with an optional nullable nickname field in GraphQL schema
Solution
Step 1: Understand @Field decorator options
The @Field decorator with { nullable: true } marks the field as nullable in GraphQL schema, allowing null values.
Step 2: Check TypeScript optional property
Using ? in nickname?: string means the property is optional in TypeScript, matching nullable in GraphQL.
Step 3: Confirm schema generation behavior
This combination correctly generates a GraphQL field that can be omitted or set to null without errors.
Final Answer:
Defines a User type with an optional nullable nickname field in GraphQL schema -> Option D
Quick Check:
nullable + optional = optional nullable field [OK]
Hint: Use @Field({ nullable: true }) and ? for optional nullable fields [OK]
Common Mistakes:
Omitting nullable option for optional fields
Confusing optional in TypeScript with required in GraphQL
Expecting errors for optional nullable fields
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.