繁体   English   中英

TypeScript 错误 TS2339:类型“用户”上不存在属性“id”

[英]TypeScript error TS2339: Property 'id' does not exist on type ' User'

TS新手和第一个问题在这里。 请帮助我理解为什么我会收到以下错误以及如何解决它:

“用户”类型上不存在属性“id”

我在网上广泛搜索,但无济于事。

import { NextFunction, Request, Response, Router } from "express";
import * as HttpStatus from "http-status-codes";
import { body, param, validationResult } from "express-validator/check";

// Import Entities
import { User } from "../entities/user.entity";

// Import Services
import { UserService } from "../services/users.service";

// Import Interfaces
import { IResponseError } from "../resources/interfaces/IResponseError.interface";

/**
 * Returns basic data about the user
 *
 * @Method GET
 * @URL /api/users
 *
 */
usersRouter
  .route("/")

  .get(
    auth.authenticate("jwt"),

    async (req: Request, res: Response, next: NextFunction) => {
      const userService = new UserService();

      try {
        const userId: number = req.user.id;
        const user: User = await userService.getById(userId);

        if (user) {
          res.status(HttpStatus.OK).json({
            name: user.name,
            surname: user.surname,
            email: user.email,
            createdDate: user.createdDate,
            lastSuccessfulLoggedDate: user.lastSuccessfulLoggedDate,
            lastPresentLoggedDate: user.lastPresentLoggedDate,
            lastFailedLoggedDate: user.lastFailedLoggedDate
          });
        }
      } catch (error) {
        const err: IResponseError = {
          success: false,
          code: HttpStatus.BAD_REQUEST,
          error
        };
        next(err);
      }
    }
  );

尝试将 body 添加到 req:

req.body.user.id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM