создать через prisma nodejs api для создание записи

Создание 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!