Node.js: creare una descrizione dettagliata di un'API

Node.js: creare una descrizione dettagliata di un'API

In Node.js possiamo creare una descrizione dettagliata delle nostre API in un endpoint specifico.

Possiamo gestire tale descrizione con l'ausilio di MongoDB creando documenti specifici in una determinata collezione:


{
    "version": "1",
    "endpoints": [
        {
            "path": "/api/1/posts",
            "description": "Retrieves a list of recent posts",
            "params": [
                {
                    "name": "limit",
                    "type": "number",
                    "description": "The number of posts to display",
                    "example": "GET https://site.tld/api/1/posts/?limit=20",
                    "returns": {
                        "type": "json",
                        "data": {
                            "title": "string",
                            "id": "number",
                            "excerpt": "string"
                        }
                    }
                }
            ]
        }
    ]
}

Quindi definiamo una route specifica in ExpressJS:


app.get('/api/:ver([0-9]{1,2})', (req, res) => {
    let version = req.params.version;
    db.api.findOne({version: version}).then(info => {
        res.json(info);
    }).catch(err => {
        res.sendStatus(500);
    });
});

Torna su