老师好,请教一个问题

来源:7-1 创建控制器和装饰器

目訫

2020-11-07

import 'reflect-metadata'
import { Request, Response } from 'express'
import { controller, get } from "./Decorator";
import { getResponseData } from '../utils/utils';

interface BodyRequest extends Request {
  body: {
    [key: string]: string | undefined
  }
}

@controller
class LoginController {
  // @get('/logout')
  logout(req: BodyRequest, res: Response) {
    if (req.session) {
      req.session.login = undefined
    }
    res.json(getResponseData(true))
  }

  @get('/')
  home(req: BodyRequest, res: Response) {
    const isLogin = req.session ? req.session.login : undefined
    if (isLogin) {
      res.send(`
        <html>
          <body>
            <a href="/getData">爬取内容</a>
            <a href="/showData">展示内容</a>
            <a href="/logout">退出</a>
          </body>
        </html>
      `)
    } else {
      res.send(`
        <html>
          <body>
            <form method="post" action="/login">
              <input type="password" name="password" />
              <button>登陆</button>
            </form>
          </body>
        </html>
      `)
    }
  }
}

老师,login方法并没有使用装饰器,为什么还会打印出undefined

写回答

1回答

Dell

2020-11-07

login方法没看见啊,我看见了/和logout

0
2
Dell
回复
目訫
好的!
2020-11-07
共2条回复

专为小白设计的TypeScript入门课

Dell老师专为TypeScript小白打造的,全栈式教学TS入门课程

2249 学习 · 506 问题

查看课程