graphql中的非空字段突变无法返回null

时间:2019-10-04 09:10:10

标签: graphql nestjs type-graphql

我会像下面那样创建突变

 @Mutation(returns => TagTranslation)
 updateTagTranslationName(@Arg('id') id: number, @Arg('name') name: string): Promise<TagTranslation>{
    return this.tagTranslationService.findById(id);

在游乐园里,我像下面这样发送

mutation {
    updateTagTranslationName(id:1, name:"123") {
      code
    }
}

但它返回错误“ message”:“无法为不可为空的字段Mutation.updateTagTranslationName返回null。”,       “位置”:[         {           “行”:2           “栏”:3         }       ],       “路径”:[         “ updateTagTranslationName”       ]

以下是我的标记翻译实体

@Table({
tableName: 'tag_translation',
indexes: [
]
})
@ObjectType()
export class TagTranslation extends Model<TagTranslation>{
    @PrimaryKey
    @AutoIncrement
    @Column
    @Field(type => Int)
    id: number;

    @ForeignKey(()=> Tag)
    @Field()
    @Column
    tag_id: number;

    @Column
    @Field({ nullable: true })
    name: string;

    @Column
    @Field({ nullable: true })
    language: string;
}

以下是错误消息

{
"errors": [
{
  "message": "Cannot return null for non-nullable field Mutation.updateTagTranslationName.",
  "locations": [
    {
      "line": 2,
      "column": 3
    }
  ],
  "path": [
    "updateTagTranslationName"
  ],
  "extensions": {
    "code": "INTERNAL_SERVER_ERROR",
    "exception": {
      "stacktrace": [
        "Error: Cannot return null for non-nullable field Mutation.updateTagTranslationName.",
        "    at completeValue 

我不知道为什么它返回错误。请帮助我。...

1 个答案:

答案 0 :(得分:-1)

看看这些线程,可能会有所帮助:

让我知道是否有帮助