Difficile capire la causa dell'errore Http 422 nell'api

Sto eseguendo un’importazione di prova di argomenti in Discourse; per alcuni argomenti ricevo l’errore 422. Ho capito che questo significa fondamentalmente che la sintassi della richiesta è corretta, ma c’è qualcosa di sbagliato nei dati, però non indica cosa non va, rendendo difficile individuare il problema.

Ad esempio, ho passato molto tempo a cercare di capire cosa non andava in un argomento. Poiché il corpo del messaggio era piuttosto lungo e conteneva vari caratteri di punteggiatura, pensavo che il problema potesse essere legato a questi, quindi continuavo a ridurlo sempre di più, ma non faceva alcuna differenza.

Alla fine ho scoperto che era perché il titolo dell’argomento era troppo corto: il minimo predefinito è 15 caratteri, mentre il mio era di 13. Ho quindi modificato alcuni valori nelle impostazioni, ma sarebbe molto meglio se l’API me lo segnalasse (o forse lo fa e me ne sono accorto).

Attualmente ho un problema con la creazione dell’argomento qui sotto; non vedo nulla di insolito e l’ID della categoria è valido. Avete qualche idea?

SEVERE: RESPONSE_CODE:422:REQUEST_JSON:{"title":"Urgent Jaikoz 1.9.2:Released","raw":"C'era ancora un problema irrisolto con la versione precedente riguardo alla funzionalità MusicBRainz, aggiornate immediatamente.\r\n\r\nMaggiori dettagli su http://www.jthink.net/jaikoz/jsp/news/start.jsp ","category":1358,"created_at":"2007-05-24 10:06:20"}

In questo caso ho individuato il problema: il titolo era un titolo duplicato (dopo aver rimosso lo spazio finale). Immagino che il processo consista nel crearlo manualmente nell’interfaccia utente e vedere cosa succede.

Quando pubblichi post su Discourse tramite API, puoi impostare il parametro skip_validations su true per evitare errori 422 per i post che verrebbero bloccati dalle impostazioni del tuo sito.

Questo è ottimo, grazie.
Ma avrei voluto saperlo prima; è documentato su https://docs.discourse.org/? Non riesco a vederlo.

No, ma lo aggiungerò lì.

Confermato che funziona effettivamente