В этой статье я расскажу о Fastify и MongoDB. Fastify — это фреймворк узла.
Что такое узел js
Node.js — это серверная среда с открытым исходным кодом. Node.js позволяет запускать JavaScript на сервере.
Что такое Фастфай
Быстрая веб-инфраструктура с низкими накладными расходами для Node.js
Fastify — это веб-фреймворк, ориентированный на обеспечение наилучшего опыта разработчиков с наименьшими накладными расходами и мощной архитектурой плагинов. Он вдохновлен Hapi и Express, и, насколько нам известно, это один из самых быстрых веб-фреймворков в городе.
Как мы настроим в нашем проекте:
mkdir fastify-api
cd fastify-api
mkdir src
cd src
touch index.js
npm init
Установите плагин, который нам нужен для node.
npm install fastify mongoose nodemon
В этой статье я не буду рассказывать о Mongo DB.
нодемон
nodemon — это инструмент для разработки узлов .js. Он автоматически перезапускает наше приложение.
Вам необходимо внести следующие изменения в файл package.json.
“start”: “./node_modules/nodemon/bin/nodemon.js ./src/index.js”
В этой статье я буду работать с CRUD, используя фреймворк fastify.
Внесите первоначальные изменения в index.js.
const fastify = require('fastify')()
// Declare a route fastify.get('/', async (request, reply) => { return { hello: 'world' } })
// Run the server! const start = async () => { try { await fastify.listen(3000) fastify.log.info(`server listening on ${fastify.server.address().port}`) } catch (err) { fastify.log.error(err) process.exit(1) } } start()
Запустите свой npm.
npm start
Откройте браузер и запустите этот URL-адрес http://localhost:3000/, он вернет {hello: world}.
Нам нужно установить MongoDB на вашу машину. Видео ниже поможет установить MongoDB на вашем компьютере.
После успешной установки MongoDB запустите этот код.
mongod
Подключить свою БД.
const mongoose = require(‘mongoose’); mongoose.connect(‘mongodb://localhost/mycargarage’).then(()=>{ console.log(‘MonogoDB Connected…’) }).catch((error)=>{ console.log(‘error is’, error); })
В приведенном выше примере нам требуется Mongoose и подключение к нашей базе данных MongoDB. База данных называется mycargarage
, и если все прошло хорошо, теперь вы увидите MongoDB connected...
в своем терминале.
Написать схему мангуста
const mongoose = require(‘mongoose’); const carSchema = new mongoose.Schema({ title: String, brand: String, price: String, age: Number, services:{ type: Map, of: String } }) module.exports = mongoose.model(‘Car’, carSchema);
Приведенная выше схема автомобиля кодирует всю информацию, относящуюся к нашим автомобилям.
Создать автомобильный контроллер
//Import our Controllers const carController = require('../controllers/carController'); const routes = [ { method: 'GET', url: '/api/cars', handler: carController.getCars }, { method: 'GET', url: '/api/cars/:id', handler: carController.getSingleCar }, { method: 'POST', url: '/api/cars', handler: carController.addCar }, { method: 'PUT', url: '/api/cars/:id', handler: carController.updateCar }, { method: 'DELETE', url: '/api/cars/:id', handler: carController.deleteCar } ] module.exports = routes;
В приведенном выше коде мы используем разные методы GET, POST, PUT и DELETE.
GET — используется для получения данных с сервера.
POST — используется для публикации данных с сервера.
PUT — используется для обновления данных сервера.
DELETE — используется для удаления данных с сервера.
Обновление в вашем index.js
const routes = require('./routes'); //Loop over each route routes.forEach((route, index)=> { fastify.route(route); })
Затем запустите ваше приложение.
Я использовал postman для тестирования API.
Спасибо за чтение этого.
Хорошего дня!