Express Server ꡬ좕 & Post Action Test

μœ λŒ•Β·2024λ…„ 1μ›” 15일
πŸ’‘ μ‹œμž‘μ€ 이렇닀. μ›Ή κ²°μ œμ™„λ£Œμ‹œ λ‹«κΈ° λ²„νŠΌμ΄ λ™μž‘ν•˜μ§€ μ•ŠλŠ” 증상. 우리μͺ½ 콜백호좜이 λ˜κ³ μžˆμ§€λ§Œ λ¬΄ν•œλ‘œλ”©μ΄ κ±Έλ¦¬λŠ” λ¬Έμ œκ°€ λ°œμƒν•˜μ˜€λ‹€. μž„μ‹œμ‘°μΉ˜λ₯Ό ν•΄λ‘μ—ˆμ§€λ§Œ μ •ν™•ν•œ 이해도λ₯Ό κ°€μ§€κ³  μžˆμ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ™œ κ·Έλ ‡κ²Œ μˆ˜μ •ν•΄μ•Όν•˜λŠ”μ§€ μ™œκ·ΈλŸ°μΌμ΄ λ°œμƒν–ˆλŠ”μ§€ λͺ¨λ₯΄κ³  μžˆλ‹€.

μž¬ν˜„λ°©λ²•


curl -H "content-length: 8"  
--data 'quer=123'  
-X POST http://localhost:3001/deal/settlebank/payment/callback/cancel.hm -v

λ‚΄μš©


동일 ν™˜κ²½μ„ κ΅¬μΆ•ν•˜μ—¬ λ™μž‘ ν…ŒμŠ€νŠΈλ₯Ό ν•΄λ³Ό ν•„μš”κ°€ μžˆλ‹€.

  1. expressλ₯Ό ν™œμš©ν•˜μ—¬ μ„œλ²„μ‚¬μ΄λ“œ Application 을 κ΅¬μΆ•ν•œλ‹€.

  2. bodyParser library λ₯Ό μ„€μΉ˜ν•œλ‹€.

  3. μš°λ¦¬κ°€ μ‚¬μš©μ€‘μΈ μ˜΅μ…˜μ„ κ·ΈλŒ€λ‘œ μž¬ν˜„ν•œλ‹€.

    server.set('trust proxy', 1);
    // json ν˜•μ‹
    server.use(express.json());
    // cookieParser 호좜
    server.use(cookieParser());
    // bodyParser 호좜
    server.use(bodyParser.json({ limit: '50mb' }));
    server.use(bodyParser.urlencoded({ limit: '50mb', extended: true, parameterLimκΉƒ
  4. post action을 κ΅¬ν˜„ν•œλ‹€.

    module.exports = (expressApp, app) => {
      expressApp.post('/deal/settlebank/payment/callback/cancel.hm', (req, res) => {
        return app.render(req, res, '/deal/deal-cancel');
      });
    };
  5. content-length + body dataλ₯Ό ν¬ν•¨ν•œ post action 을 λ‚ λ €μ„œ λ™μž‘ν™•μΈμ„ ν•œλ‹€.

[ + μΆ”κ°€ ]

  1. λͺ¨λ“ κ³Όμ •을 λ¬Έμ„œλ‘œ κΈ°λ‘ν•œλ‹€.
  2. cookieParser 의 역할이 무엇인지 μ •λ¦¬ν•œλ‹€. (μ–΄λ–€ κ²½μš°μ— μ‚¬μš©λ˜λŠ”μ§€, μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” κ²½μš°μ—λŠ” μ–΄λ–€ λ¬Έμ œκ°€ μžˆλŠ”μ§€)
  3. bodyParser κ°€ μ–΄λ–€ 역할을 ν•˜λŠ”μ§€ μ •λ¦¬ν•œλ‹€. (json,urlencoded λ©”μ†Œλ“œκ°€ μ–΄λ–€ 역할을 ν•˜λŠ”μ§€ ν”„λ‘œνΌν‹°λ“€μ€ 각자 무슨 일듀을 ν•˜λŠ”μ§€)
  4. 'trust proxy' κ°€ μ–΄λ–€ 역할을 ν•˜λŠ”μ§€ μ •λ¦¬ν•œλ‹€.
  5. typescript 둜 μž‘μ„±ν•œλ‹€.
  6. nodemon 을 μ‚¬μš©ν•œλ‹€.
  7. static , morgan , dotenv , express-session , multer 을 μ‚¬μš©ν•΄μ•Όν•œλ‹€.
  8. νšŒμ›κ°€μž…, 둜그인, ν”„λ‘œν•„ 사진등둝 3κ°€μ§€ κΈ°λŠ₯을 κ΅¬ν˜„ν•œλ‹€.

레퍼런슀


κΉƒν—™ 링크


0개의 λŒ“κΈ€