Создание API для создания записи с использованием Prisma и Node.js
Пример ниже демонстрирует, как создать REST API для добавления записи в базу данных с использованием Prisma и Node.js. Мы будем использовать Express.js для маршрутизации и Prisma для взаимодействия с базой данных.
1. Установка зависимостей
Сначала установите необходимые пакеты:
bash
1 2 | npm init -y npm install express prisma @prisma/client |
Инициализируйте Prisma в вашем проекте:
bash
1 | npx prisma init |
2. Настройка Prisma Schema
В файле prisma/schema.prisma
настройте модель данных. Например, создадим модель Post
:
prisma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | generator client { provider = "prisma-client-js" } datasource db { provider = "sqlite" // Или другой провайдер, например, PostgreSQL url = "file:./dev.db" } model Post { id Int @id @default(autoincrement()) title String content String createdAt DateTime @default(now()) } |
После этого выполните миграцию для создания таблицы в базе данных:
bash
1 | npx prisma migrate dev --name init |
3. Создание API
Создайте файл index.js
и настройте сервер Express.js:
javascript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | const express = require('express'); const { PrismaClient } = require('@prisma/client'); const app = express(); const prisma = new PrismaClient(); app.use(express.json()); // Маршрут для создания записи app.post('/posts', async (req, res) => { const { title, content } = req.body; try { const post = await prisma.post.create({ data: { title, content, }, }); res.status(201).json(post); } catch (error) { res.status(500).json({ error: 'Ошибка при создании записи' }); } }); // Запуск сервера const PORT = 3000; app.listen(PORT, () => { console.log(`Сервер запущен на http://localhost:${PORT}`); }); |
4. Тестирование API
Запустите сервер:
bash
1 | node index.js |
Используйте инструмент, например Postman или cURL, чтобы отправить POST-запрос на http://localhost:3000/posts
с телом:
json
1 2 3 4 | { "title": "Пример записи", "content": "Это содержимое записи" } |
Если всё настроено правильно, вы получите ответ с созданной записью.
5. Дополнительно
- Вы можете использовать другие базы данных, такие как PostgreSQL, MySQL и т.д., изменив
provider
иurl
вschema.prisma
1. - Prisma автоматически генерирует типы для работы с данными, что упрощает разработку.
Теперь у вас есть базовый API для создания записей с использованием Prisma и Node.js!