Exemplos

Next JS

// src/pages/api/users/index.js

// Tenha certeza de que o caminho está correto
import { prisma } from "../../../prisma/client";

export default async function handler(req, res) => {
  // Encontra todos os usuários no banco de dados
  const users = await prisma.users.findMany();
  res.status(200).json({ users });
};
// src/pages/api/users/[id].js
import { prisma } from "../../../prisma/client";

export default async function handler(req, res) => {
  // Pegando id da request:
    const { id } = req.query;

  // Encontra por propriedade que é única 
  const user = await prisma.users.findUnique({
    where: {
      id: req.query.id,
    },
  });

  res.status(200).json({ user });
};

Caso o usuário tenha uma relação com outra tabela que desejamos mostrar, podemos usar o include. Exemplo sendo que usuário tem uma relação com posts:

// src/pages/api/users/[id].js
import { prisma } from "../../../prisma/client";

export default async (req, res) => {
  // Pegando id da request:
    const { id } = req.query;

  // Encontra por propriedade que é única 
  const user = await prisma.users.findUnique({
    where: {
      id: id,
    },
    include: {
      posts: true,
    },
  });

  res.status(200).json({ user });
};
// src/pages/api/users/create.js
import { prisma } from "../../../prisma/client";

export default async function handler(req, res) => {
  // Pegando dados da request:
  const { name, email } = req.body;

  const user = await prisma.users.create({
    data: {
      name,
      email, // equivalente a 'email: email'
    },
  });

  res.status(200).json({ user });
};

Last updated