2

ユーザー ID を新しいビジネスに保存しようとしています。400 エラーが発生し続け、その理由がわかりません。私は、バックエンドにgraphqlのバックエンドにdjangoを使用し、フロントにvue jsのアポロクライアントを使用しています。私の要求では、ユーザー ID が送信されますが、何らかの理由で 400 の不正な要求エラーがスローされます。

クリエイトビズミューテーションアポロ

export const CREATE_BIZ_MUTATION = gql`

    mutation CreateBizMutation($name: String!, $owner: ID!) {
      createBiz(name: $name, ownerId: $owner) {
        name

      }
    }`

Biz ミューテーション Django を作成する

class CreateBiz(graphene.Mutation):
    id = graphene.Int()
    name = graphene.String()
    code = graphene.String()
    owner = graphene.Field(UserType)


    class Arguments:
        name = graphene.String()


    def mutate(self, info, name):
        user = get_user(info) or None
        code = ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for _ in range(6))
        biz = Biz(
            code = code,
            name = name,
            owner = user
        )

        biz.save()

        return CreateBiz(
            id= biz.id,
            name = biz.name,
            code = biz.code,
            owner = biz.owner
        )

ビジネス コンポーネントの作成

createBiz () {
        const owner = localStorage.getItem(DJANGO_USER_ID)
        if (!owner) {
            console.error('No user logged in')
            return
        }
        const { name } = this.$data
        this.$apollo.mutate({
            mutation: CREATE_BIZ_MUTATION,
            variables: {
                name,
                owner
            }
        }).catch((error) => {
                    console.log(error)
                    })
        }
    }
4

0 に答える 0