APIλ₯Ό μ€κ³ν λλ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ λ°μμ¬μμλλ‘ νλκ²μ΄λΌκ³ μκ³ μλ€.
ν΄λΌμ΄μΈνΈμΈ‘μ λ°©λν λ°μ΄ν°λ₯Ό 보λ΄κ²λλ©΄ ν¨μ¨μ±μ΄ λ¨μ΄μ§μμλ€κ³ νλ¨νμλ€.
κ·Έλμ νμ΄μ§κΈ°λ₯μ μΆκ°νμ¬ νΉμ κ°μμ λ°μ΄ν°λ§ λ°μμ€κΈ° μν΄ api/data.js νμΌμ μΌλΆ μμ νκΈ°λ‘ νλ€.
ν νμ΄μ§λΉ 20κ°μ μ μλͺ©λ‘μ λ°μμ€λλ‘ μμ νμλ€.
import mysql from 'mysql'
export default function handler(req, res) {
const connection = mysql.createConnection({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
})
connection.connect((err) => {
if (err) {
console.error(err)
res.status(500).json({ error: 'Database connection failed' })
return
}
// μμ² λ°μμ¨ νμ΄μ§κ° μ‘΄μ¬νλ©΄ κ·Ένμ΄μ§λ₯Ό μ¬μ©νκ³ , μλλΌλ©΄ μ΄κΈ° κ°μΌλ‘ 1μ μ€μ νλ€.
const page = req.query.page ? Number(req.query.page) : 1
// μ΅λλ‘ 20λͺ
μ μ μλ₯Ό λ°μμ¨λ€.
const limit = 20
// OFFSET μ ν΅νμ¬, μνλ νμ΄μ§μ μ μλ₯Ό λ°μμ¬μμλλ‘ μμ±νμλ€.
let offset = (page - 1) * limit
if (page === 0) {
offset = 20
}
const query = `SELECT * FROM fm_table LIMIT ${limit} OFFSET ${offset}`
connection.query(query, (err, result) => {
if (err) {
console.error(err)
res.status(500).json({ error: 'Database query failed' })
return
}
res.status(200).json(result)
})
})
}