Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

"Cannot stringify arbitrary non-POJOs" error in Nuxt projects

オープン
#382 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
nuxtjs, typescript
領域
frontend

調査の方向性

Nuxt ジェネレーターコマンドと生成された Animal ページで失敗を再現します。nuxt.config.js、./nuxt/stores/animal/list.ts、./composables/api.ts を調査し、提案されている payload と shallowRef の回避策を比較します。生成された Nuxt 3.4+ クライアントが「Cannot stringify arbitrary non-POJOs」エラーなしでリソースを読み込めれば完了です。

索引モデルが issue の本文から書いたものです。

説明

API Platform version(s) affected: 3.2.18

Description
Clients generated for Nuxt will fail with: "Cannot stringify arbitrary non-POJOs"

How to reproduce

  • Create an Entity e.g. "Animal"
  • Create a Nuxt project
  • Create a client (e.g. yarn create @api-platform/client https://localhost/ . --generator nuxt --resource animal )
  • Load https://localhost/animal
    You'll get a message saying: "Cannot stringify arbitrary non-POJOs"

Possible Solution

  • One solution is to edit nuxt.config.js and add the following:
  experimental: {
    renderJsonPayloads: false,
  },
  • Another possible solution is to edit ./nuxt/stores/animal/list.ts and add shallowRef() to setHubUrl function:
setHubUrl(hubUrl?: URL) {
      this.hubUrl = shallowRef(hubUrl);
    },
  • Another solution is to edit ./composables/api.ts and add shallowRef() to all onResponse()` functions.

Additional Context
This is occurring with all projects using Nuxt 3.4 or later.
More info at: https://nuxt.com/blog/v3-4#payload-enhancements

主要言語
TypeScript
スター
376
フォーク
132
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

api-platform/create-client のほかの issue

api-platform/create-client の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。