인프런 커뮤니티 질문&답변
질문있습니다.
작성
·
263
1
postman에서 http://localhost:8080/products/1 여기 id 부분을 2, 3으로 변경해도 똑같이 키보드 내용만 나옵니다.
DB에서 데이터 보기 했을 때 아래 사진처럼 나와서 제대로 실행이 안되는 건가요???
답변 3
0
yami654
질문자
server.js 소스 코드 입니다~!
const express = require("express");
const cors = require("cors");
const app = express();
const models = require("./models");
const port = 8080;
app.use(express.json());
app.use(cors());
app.get("/products", (req, res) => {
models.Product.findAll()
.then((result) => {
console.log("PRODUCTS: ", result);
res.send({
products: result,
});
})
.catch((error) => {
console.error(error);
res.send("에러 발생");
});
});
app.post("/products", (req, res) => {
const body = req.body;
const { name, description, price, seller } = body;
if (!name || !description || !price || !seller) {
res.send("모든필드를 입력해주세요.");
}
models.Product.create({
name,
description,
price,
seller,
})
.then((result) => {
console.log("상품 생성 결과 : ", result);
res.send({
result,
});
})
.catch((error) => {
console.error(error);
res.send("상품 업로드에 문제가 발생했습니다.");
});
});
app.get("/products/:id", (req, res) => {
const params = req.params;
const { id } = params;
models.Product.findOne({
vhere: {
id: id,
},
})
.then((result) => {
console.log("PRODUCTS :", result);
res.send({
product: result,
});
})
.catch((error) => {
console.error(error);
res.send("상품 조회에 에러가 발생했습니다.");
});
});
app.listen(port, () => {
console.log("그랩의 쇼핑몰 서버가 돌아가고 있습니다.");
models.sequelize
.sync()
.then(() => {
console.log("DB 연결 성공!");
})
.catch((error) => {
console.error(err);
console.log("DB 연결 에러");
process.exit();
});
});
그리고 postman에서 id를 10으로 했을 때( http://localhost:8080/products/10 ) 아래 사진처럼 응답이 나옵니다.
0





models.product.findOne 코드를 보면 인자로 vhere이라고 오타가 있네요! where로 바꿔주시면 정상적으로 동작할 것 같아요:)