POST中にこの422エラーを解決するにはどうすればよいですか?

illyabestloli

私は自分のバージョンのプロジェクトを作成することを除いて、Udemyのコードに従おうとしています。bcryptとjwtを使用した後、アプリに投稿できません。正常にログインできますが、何かを投稿しようとすると、422エラーが発生します。

これが私を立ち往生させているものです。

  const twottSubmitHandler = async (event) => {
    event.preventDefault();

    try {
      const formData = new FormData();
      formData.append("title", formState.inputs.title.value);
      formData.append("description", formState.inputs.description.value);
      formData.append("creator", auth.userId);
      await sendRequest("http://localhost:3001/api/twotts", "POST", formData, {
        Authorization: "Bearer " + auth.token,
      });
      history.push("/");
    } catch (err) {}
  };

twotts-controllerでは、これがエラーをスローしているものです。

  const errors = validationResult(req);
  if (!errors.isEmpty()) {
    return next(new HttpError("Invalid input passed", 422));
  }
  const { title, description, creator } = req.body;
  const createdTwott = new Twott({
    title,
    description,
    creator,
  });

FormDataを使用する代わりにJSON.stringifyを使用して追加するようにする方法はありますか?使用する

    try {
      await sendRequest(
        "http://localhost:3001/api/twotts",
        "POST",
        JSON.stringify({
          title: formState.inputs.title.value,
          description: formState.inputs.description.value,
          creator: auth.userId,
        }),
        { Authorization: "Bearer " + auth.token },
        { "Content-Type": "application/json" }
      );
      history.push("/");
    } catch (err) {}

まだ無効な入力があります。Authorization引数を他の場所に置くと、認証の問題が発生します。

見逃した部分がある場合に備えて、リポジトリへのリンクはhttps://github.com/preintercede/Twotter(コミットあり)です。

セバスチャンB。

を作成FormDataして(暗黙的に)送信しContent-Type: multipart/form-dataます。express-validatorそのようなデータをすぐに検証しません(理由:https//github.com/express-validator/express-validator/issues/276

1つの解決策はhttps://github.com/expressjs/multerを使用するContent-Typeことですが、他のリクエストですでに行っているように、正しいJSONデータを送信することをお勧めします。

─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 modified: src/twotts/pages/NewTwott.js
 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 @ src/twotts/pages/NewTwott.js:39 @ const NewTwott = () => {
      event.preventDefault();

      try {
 -      const formData = new FormData();
 -      formData.append("title", formState.inputs.title.value);
 -      formData.append("description", formState.inputs.description.value);
 -      formData.append("creator", auth.userId);
 -      await sendRequest("http://localhost:3001/api/twotts", "POST", formData, {
 +      await sendRequest("http://localhost:3001/api/twotts", "POST", JSON.stringify({
 +        title: formState.inputs.title.value,
 +        description: formState.inputs.description.value,
 +        creator: auth.userId
 +      }), {
          Authorization: "Bearer " + auth.token,
 +        "Content-Type": "application/json",
        });
        history.push("/");
      } catch (err) {}

これをヘルパー関数にラップすることをお勧めします。これにより、ベアラートークンが存在する場合はリクエストヘッダーに設定される可能性もあります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MySQL Workbenchでこれらの行エラーを解決するにはどうすればよいですか?

分類Dev

WebGL Unityゲームでこのエラーを解決するにはどうすればよいですか?

分類Dev

このDirectXコードのエラーを解決するにはどうすればよいですか?

分類Dev

これらのMaven内部エラーを解決するにはどうすればよいですか?

分類Dev

JavaでこのNullPointerExceptionエラーを解決するにはどうすればよいですか?

分類Dev

MiniZincでこのエラーを解決するにはどうすればよいですか?

分類Dev

React + MaterialUIでこのエラーを解決するにはどうすればよいですか?

分類Dev

schemaspyでこのエラーを解決するにはどうすればよいですか?

分類Dev

grailsでこのBuildConfigエラーを解決するにはどうすればよいですか

分類Dev

Pythonでこのエラーを解決するにはどうすればよいですか?

分類Dev

Swift2でこのエラーを解決するにはどうすればよいですか?

分類Dev

Python djangoでこのエラーを解決するにはどうすればよいですか?

分類Dev

Swiftでこのエラーを解決するにはどうすればよいですか?

分類Dev

Gulpのこの縮小エラーを解決するにはどうすればよいですか?

分類Dev

このdjango OneToOneFieldモデルのエラーを解決するにはどうすればよいですか?

分類Dev

Python3のこのpipエラーを解決するにはどうすればよいですか?

分類Dev

このタイプのmysqlエラーを解決するにはどうすればよいですか?

分類Dev

このメモリエラーの問題を解決するにはどうすればよいですか?

分類Dev

このJava Jdbc接続エラーを解決するにはどうすればよいですか?

分類Dev

Firebase Cloud関数-このエラーを解決するにはどうすればよいですか:ECONNRESET

分類Dev

Firebase Cloud関数-このエラーを解決するにはどうすればよいですか:ECONNRESET

分類Dev

このMemgraphSSL接続エラーを解決するにはどうすればよいですか?

分類Dev

このlist.remove()エラーを解決するにはどうすればよいですか?

分類Dev

このエラーを解決するにはどうすればよいですか?[function.mysql-real-escape-string]

分類Dev

このコンパイルエラーを解決するにはどうすればよいですか?

分類Dev

このXAMLエラーを解決するにはどうすればよいですか?

分類Dev

このgradle依存関係解決エラーを修正するにはどうすればよいですか?

分類Dev

このlinphone $ makeエラーを解決するにはどうすればよいですか?

分類Dev

このtoString()エラーを解決するにはどうすればよいですか?

Related 関連記事

  1. 1

    MySQL Workbenchでこれらの行エラーを解決するにはどうすればよいですか?

  2. 2

    WebGL Unityゲームでこのエラーを解決するにはどうすればよいですか?

  3. 3

    このDirectXコードのエラーを解決するにはどうすればよいですか?

  4. 4

    これらのMaven内部エラーを解決するにはどうすればよいですか?

  5. 5

    JavaでこのNullPointerExceptionエラーを解決するにはどうすればよいですか?

  6. 6

    MiniZincでこのエラーを解決するにはどうすればよいですか?

  7. 7

    React + MaterialUIでこのエラーを解決するにはどうすればよいですか?

  8. 8

    schemaspyでこのエラーを解決するにはどうすればよいですか?

  9. 9

    grailsでこのBuildConfigエラーを解決するにはどうすればよいですか

  10. 10

    Pythonでこのエラーを解決するにはどうすればよいですか?

  11. 11

    Swift2でこのエラーを解決するにはどうすればよいですか?

  12. 12

    Python djangoでこのエラーを解決するにはどうすればよいですか?

  13. 13

    Swiftでこのエラーを解決するにはどうすればよいですか?

  14. 14

    Gulpのこの縮小エラーを解決するにはどうすればよいですか?

  15. 15

    このdjango OneToOneFieldモデルのエラーを解決するにはどうすればよいですか?

  16. 16

    Python3のこのpipエラーを解決するにはどうすればよいですか?

  17. 17

    このタイプのmysqlエラーを解決するにはどうすればよいですか?

  18. 18

    このメモリエラーの問題を解決するにはどうすればよいですか?

  19. 19

    このJava Jdbc接続エラーを解決するにはどうすればよいですか?

  20. 20

    Firebase Cloud関数-このエラーを解決するにはどうすればよいですか:ECONNRESET

  21. 21

    Firebase Cloud関数-このエラーを解決するにはどうすればよいですか:ECONNRESET

  22. 22

    このMemgraphSSL接続エラーを解決するにはどうすればよいですか?

  23. 23

    このlist.remove()エラーを解決するにはどうすればよいですか?

  24. 24

    このエラーを解決するにはどうすればよいですか?[function.mysql-real-escape-string]

  25. 25

    このコンパイルエラーを解決するにはどうすればよいですか?

  26. 26

    このXAMLエラーを解決するにはどうすればよいですか?

  27. 27

    このgradle依存関係解決エラーを修正するにはどうすればよいですか?

  28. 28

    このlinphone $ makeエラーを解決するにはどうすればよいですか?

  29. 29

    このtoString()エラーを解決するにはどうすればよいですか?

ホットタグ

アーカイブ