글 작성 기능 만들기
오늘은 CRUD 에서 C를 만들어 봤다
먼저 해야할 것 한글로 작성
1. 글작성페이지 필요
2. 버튼누르면 작성한 글 DB에 저장 -> 공백 or 이상한 자바스크립트 보내면 위험하기 때문에 바로 DB에 저장 X
중간에 거쳐가는 프로그램 하나 만들기
-> 3Tier Achitecher
client -> server -> DB 이런 식
Next.js에서 서버기능 만들기
pagees/api/post/new.js
위의 경로에 맞춰 만들어 보고 서버의 역할에 맞게 코드 작성
import { connectDB } from "@/util/database"
export default async function handler(res, req){
if (res.method == 'POST'){
if (res.body.title == '') {
return req.status(500).alert('제목 미입력') // 이런식으로 경고 주기
}
try { // 에러 방지
let db = (await connectDB).db('forum')
let result = db.collection('post').insertOne(res.body) // insertOne() DB에 저장하는 메소드
req.redirect(302, '/list')
} catch (error) {
alert('에러')
}
}
}
이후 원하는 페이지에서 원하는 메소드 입력
localhost:3000/write
export default function Write(){
return (
<div>
<h4>글 작성</h4>
<form action="/api/post/new" method="POST">
<input name="title" placeholder="제목"></input>
<input name="content" placeholder="내용"></input>
<button type="submit">버튼</button>
</form>
</div>
)
}
'Learn > Next.js' 카테고리의 다른 글
Next.js (6) static/dynamic rendering/캐싱 (0) | 2023.07.08 |
---|---|
Next.js (5) (0) | 2023.07.07 |
Next.js 프로젝트(4) (0) | 2023.07.05 |
Next.js 프로젝트 (2) (0) | 2023.07.03 |
Next.js 프로젝트 (1) (0) | 2023.07.01 |