Crea API personalizzate

Qual è il metodo migliore per creare API personalizzate sul forum Discourse?

Ad esempio: voglio creare una richiesta GET che mi restituisca users.count, topics.count e categories.count.
Come posso aggiungere questa API al forum?

È necessario scrivere un plugin. Consulta la Guida per principianti alla creazione di plugin per Discourse - Parte 1: Creazione di un plugin di base

4 Mi Piace
 /admin/about.json

Contiene la maggior parte di quello, credo. O forse è solo /about.json.

1 Mi Piace

Non esattamente gli stessi dati, quindi voglio creare un’API JSON personalizzata.

1 Mi Piace

Ho usato GitHub - discourse/discourse-subscriptions: A Discourse plugin that allows payments and subscription management via Stripe. · GitHub come modello per aggiungere un modello (non hai bisogno di un modello completo, ma discourse-subscriptions/config/routes.rb at main · discourse/discourse-subscriptions · GitHub ti dà un esempio di come aggiungere una rotta. Questo e add_to_class sono quasi tutto ciò che devi sapere. Buona fortuna!

1 Mi Piace

Grazie @pfaffman
Ci darò un’occhiata.

1 Mi Piace

Non sono riuscito a creare una pagina/API personalizzata tramite il plugin.
Esiste una guida per principianti che potrei seguire? O un articolo che mostri i passaggi di base?
Ho seguito la guida di Discourse e sono riuscito ad aggiungere le impostazioni al plugin, ma non sono riuscito a creare una nuova pagina.
@pfaffman

Ho usato il plugin subscriptions come guida per quello che ho creato. Il generatore di plugin crea un plugin con una nuova rotta. È complicato perché devi gestire sia la parte Rails che quella Ember. Se vuoi aggiungere solo una rotta Rails (API), non è troppo difficile. (Altri potrebbero dire che aggiungere solo una rotta Ember è semplice).

Hai bisogno di una nuova pagina da visualizzare nel browser o solo del backend?

1 Mi Piace