Bonjour à tous !
Je viens vers vous car j'ai un problème avec une requête à ma BDD qui n'abouti pas. J'ai plusieurs requête dans mon API mais c'est la seule qui se comporte de la sorte et je n'arrive pas à trouver ce qui ne va pas.
Voici mon code :
app.js :comment.route.js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 const express = require('express'); const cors = require('cors'); const commentRouter = require('./routes/comment.route'); const app = express(); app.use(express.json()); app.use(cors()); app.use('/api/comment', commentRouter); module.exports = app;comment.controller.js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 const express = require('express'); const router = express.Router(); const authorize = require('../middlewares/authorize'); const commentController = require('../controllers/comment.controller'); router.get('/:id', authorize, commentController.getCommentByPostId); router.post('/', authorize, commentController.addComment); module.exports = router;et enfin le prisma.schema :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34 const { PrismaClient } = require('@prisma/client'); const prisma = new PrismaClient(); exports.addComment = async (req, res, next) => { try { const {postId, authorId, textContent, date} = req.body; const Comment = await prisma.comments.create({ // Cette requête fonctionne très bien. Je reçois un status 200 et le commentaire est bien créé dans la BDD. data: { postId, authorId, textContent, date }, }) .then(res.status(200).json({message: 'Commentaire créé'})) .catch (e => res.status(500).json({e})) } catch {e => res.status(501).json({e})} } exports.getCommentByPostId = async (req, res, next) => { try { const postId = parseInt(req.params.id); console.log('test'); // Ce message apparaît bien dans la console. const Comments = await prisma.comments.findMany({ // La requête n'abouti jamais et je n'en vois pas la raison. where: { postId: postId }, }) .then(res.status(200).json({data})) .catch(res.status(403).json({e})) } catch {e => res.status(500).json({e})} }J'ai cherché une faute de frappe mais rien ne m'a sauté aux yeux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 generator client { provider = "prisma-client-js" } datasource db { provider = "mysql" url = env("DATABASE_URL") } model Comments { comId Int @id @default(autoincrement()) post Posts @relation(fields: [postId], references: [postId]) postId Int authorId Int textContent String date String }
Je n'arrive pas à comprendre pourquoi la requête n’aboutit pas. Si elle renvoyait une erreur ça permettrait de trouver l'origine de l'erreur mais là...
Je vous remercie d'avance pour votre aide !
Partager