Créer des API personnalisées

Quelle est la meilleure méthode pour créer des API personnalisées sur le forum Discourse ?

Par exemple : je souhaite créer une requête GET qui me renvoie users.count, topics.count et categories.count.
Comment puis-je ajouter cette API au forum ?

Vous devez écrire un plugin. Consultez le Guide du débutant pour créer des plugins Discourse, partie 1 : Créer un plugin de base

4 « J'aime »
 /admin/about.json

Il contient la plupart de ces éléments, je pense. Ou peut-être est-ce simplement /about.json.

1 « J'aime »

Pas exactement les mêmes données, je souhaite donc créer une API JSON personnalisée.

1 « J'aime »

J’ai utilisé GitHub - discourse/discourse-subscriptions: A Discourse plugin that allows payments and subscription management via Stripe. · GitHub comme modèle pour ajouter un modèle (vous n’avez pas besoin d’un modèle complet, mais discourse-subscriptions/config/routes.rb at main · discourse/discourse-subscriptions · GitHub vous donne un exemple de la façon d’ajouter une route. Cela et add_to_class constituent l’essentiel de ce que vous devez savoir. Bonne chance !

1 « J'aime »

Merci @pfaffman
Je vais jeter un coup d’œil.

1 « J'aime »

Je n’ai pas réussi à créer une page/API personnalisée via un plugin.
Existe-t-il un guide pour les débutants que je pourrais suivre ? Ou un article présentant les étapes de base ?
J’ai suivi le guide de Discourse et j’ai pu ajouter des paramètres au plugin, mais je n’ai pas réussi à créer une nouvelle page.
@pfaffman

J’ai utilisé le plugin subscriptions comme modèle pour celui que j’ai créé. Le générateur de plugin crée un plugin avec une nouvelle route. C’est compliqué car vous devez gérer à la fois les parties Rails et Ember. Si vous souhaitez ajouter uniquement une route Rails (API), ce n’est pas trop difficile. (D’autres pourraient dire qu’ajouter uniquement une route Ember est simple).

Avez-vous besoin d’une nouvelle page à afficher dans le navigateur ou seulement du backend ?

1 « J'aime »