p-iknow / tip-archive

tip-archive for short tip
1 stars 0 forks source link

한글, 특수문자 등이 url 에 포함되는 경우 라우터 처리 #137

Open p-iknow opened 5 years ago

p-iknow commented 5 years ago

이슈

해결

const express = require("express");
const db = require("../models");

const router = express.Router();

router.get("/:tag", async (req, res, next) => {
  // 한글이나 특수문자 등이 url 에 포함되는 경우 
  const tag = decodeURIComponent(req.params.name);
  try {
    const posts = await db.Post.findAll({
      // 보통 where 가 이 부분에 들어가는데 여기서는
      // post의 조건이 아니라 hash 태그의 조건을 찾기 때문에
      include: [
        {
          model: db.Hashtag,
          // 이 부분에 적어준다
          where: { name: tag }
        }
      ]
    });
    res.json(posts);
  } catch (e) {
    console.error(e);
    next(e);
  }
});

module.exports = router;