J'ai créé un exemple avec une liste très simple (de pays) et créé des routes api basées sur les instructions trouvées ici: https://gist.github.com/JedWatson/9741171
server.js:
app.get("/api/countries", keystone.middleware.api, routes.api.countries.list);
routes / api / countries.js:
import keystone from "keystone";
export function list(req, res) {
keystone.List("Country").model.find((err, items) => {
if (err) return res.apiError("database error", err);
res.apiResponse({
countries: items
});
});
}
Je reçois l'erreur Cannot read property "find" of undefined
, l’objet List existe mais il n’a pas de " model
propriété. Quelqu'un sait pourquoi c'est comme cela? L'interface utilisateur d'administration de Keystone fonctionne comme prévu et la base de données contient plusieurs objets.
Réponses:
4 pour la réponse № 1Le problème était que j'ai utilisé keystone.List
(en majuscule) au lieu de keystone.list
. J'espère que cette réponse aidera quelqu'un d'autre.