APIでのHTTP 422エラーの原因が特定しにくい

Discourse へのトピックのインポートテストを実行していますが、いくつかのトピックでエラー 422 が発生します。このエラーは基本的にリクエストの構文は正しいが、データに何らかの問題があることを意味していると理解していますが、具体的に何が問題なのかを示さないため、原因の特定が困難です。

例えば、あるトピックの問題を特定するために長時間費やしました。メッセージ本文が非常に長く、さまざまな句読点が含まれていたため、それらが原因ではないかと考え、本文を次々と短くして試しましたが、変化はありませんでした。

最終的に、トピックタイトルが短すぎたことが原因であることが判明しました。デフォルトの最小長は 15 文字ですが、私のタイトルは 13 文字でした。そのため、設定の一部の値を変更しましたが、API がエラー内容を明示してくれれば(もしかすると既に出力されているのかもしれませんが、見逃している可能性もあります)、もっとスムーズに解決できたでしょう。

現在、以下のトピック作成で問題が発生しています。特に異常な点は見当たりませんし、カテゴリ ID も有効です。何かご存知の方はいらっしゃいますか?

SEVERE: RESPONSE_CODE:422:REQUEST_JSON:{"title":"Urgent Jaikoz 1.9.2:Released","raw":"There was still a problem outstanding with the previous release with regards to MusicBRainz functionality, please update immediately.\r\n\r\nMore details at http://www.jthink.net/jaikoz/jsp/news/start.jsp ","category":1358,"created_at":"2007-05-24 10:06:20"}
「いいね!」 4

この場合、問題の原因はタイトルが重複していたことです(末尾の空白を除去した後)。プロセスとしては、ユーザーインターフェースで手動作成して、どのような挙動になるかを確認することだと思います。

「いいね!」 5

APIを使用してDiscourseに投稿を公開する際、skip_validationsパラメータをtrueに設定することで、サイトの設定により許可されない投稿による422エラーを回避できます。

「いいね!」 5

それは素晴らしいですね、ありがとうございます。
ただ、これを以前に知っていればよかったのですが、https://docs.discourse.org/ にこの情報は記載されているのでしょうか?見つけられませんでした。

「いいね!」 3

いいえ、ですがそこに追加します。

「いいね!」 5

確かに動作することが確認されました

「いいね!」 3

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.