API di Discourse Drafts non funziona

Sto riscontrando un problema durante l’implementazione dell’API drafts utilizzando Spring Boot. Tutte le API funzionano, ma questa API mi sta dando del filo da torcere e non riesco a capire il problema.

Qualcuno l’ha implementata e potrebbe guidarmi attraverso il problema? Sto inserendo l’errore che riesco a catturare nell’eccezione:

2023-05-15 15:09:44.310 ERROR 880 --- [nio-5000-exec-1] c.b.c.e.advice.ExceptionHandlerAdvice    :  ** Exception Leaked & captured : JsonParseException; Unrecognized token 'Optional': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: (String)"Optional[java.nio.HeapByteBuffer[pos=0 lim=16187 cap=16187]]"; line: 1, column: 9]
2023-05-15 15:09:44.315 DEBUG 880 --- [nio-5000-exec-1] s.s.w.c.SecurityContextPersistenceFilter : Cleared SecurityContextHolder to complete request
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Optional': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')

Ecco anche il payload e l’URL “/drafts.json”:

{
    "draft_key": "new_topic",
    "sequence": 94,
    "data": {
        "reply": "estaetwetweas sfasdf asdfa sdf as ",
        "action": "createTopic",
        "title": "test test test",
        "categoryId": 5,
        "archetypeId": "regular",
        "metaData": null,
        "composerTime": 19025,
        "typingTime": 4800
    }
}
1 Mi Piace

Mi piace armeggiare un po’ con l’API e ho dato una rapida occhiata, ma Insomnia restituisce un errore 500. :confounded:

Uso una chiave API di amministratore e il seguente payload su Insomnia con una richiesta POST su /drafts.json:

{
  "draft_key": "new_topic",
  "sequence": 181,
  "data": {
    "reply": "test draft",
    "action": "createTopic",
    "title": "Here's a draft topic again",
    "categoryId": 4,
    "archetypeId": "regular",
    "metaData": null,
    "composerTime": 11311,
    "typingTime": 3200
  },
  "owner": "fa8073ea509544319371333121ca878e",
  "force_save": false
}

Ho ottenuto lo stesso errore 500 se faccio una richiesta di bozza “reply”.

Mi dispiace di non poter essere d’aiuto, ma ora mi chiedo perché non funzioni. :technologist: :grey_question:

Aggiornerei sicuramente la soluzione qui. grazie per aver provato e se riesci a risolverlo prima di me, per favore aggiorna qui in modo che anch’io possa beneficiare del tuo sforzo

1 Mi Piace

Ciao a tutti, aggiungo alla discussione che ho riscontrato lo stesso identico problema (ho provato a pubblicare su draft.json con lo stesso payload reverse-engineered) e mi chiedevo se aveste trovato una soluzione o una soluzione alternativa per scrivere bozze nei post tramite API. Grazie!