首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将嵌套参数添加到tsdoc文档

如何将嵌套参数添加到tsdoc文档
EN

Stack Overflow用户
提问于 2020-06-24 18:20:51
回答 2查看 665关注 0票数 1

下面的代码显示了可能用于注册用户的功能。请求体接受多个嵌套参数,如firstNamelastName等。如何使用tsdoc充分记录这些嵌套参数?

代码语言:javascript
复制
    /**
     * @remarks
     * This method creates a user.
     *
     * @param  req - The request object
     * @param  res - The response object
     *
     * @returns Created user object showing the created user
     * ```
     *{
        "message": {
            "_id": "5ef3249f6a01c1006e091f92",
            "id": "1u_RGoYwV",
            "firstName": "test",
            "lastName": "User",
            "password": "$2a$10$ZQf23Qx910iJLzHO65BOO.RShufiU.YAT/IXnGQwreQ0rdoElrSQG",
            "email": "test@gmail.com",
            "avatarUrl": "https://www.image.com/cat.jpg",
    *       }
     *  }
     * ```
     *
     */

    async create(req: Request, res: Response) {
        let user = new UserModel(this.db);
        const {
            firstName,
            lastName,
            email,
            password,
            currentOrganization,
            avatarUrl
        } = req.body;
        const hashedPassword = await PasswordHelper.hashPassword(password);
        user.setFirstName(firstName);
        user.setLastName(lastName);
        user.setEmail(email);
        user.setPassword(hashedPassword);
        user.setAvatarUrl(avatarUrl);
        user.setCurrentOrganization(currentOrganization);
        await user.save();
        const users = user.get();
        res.status(200).send({ message: users });
           
    }
EN

回答 2

Stack Overflow用户

发布于 2020-06-24 18:35:28

声明一个接口,记录其中的属性,并在函数中引用该接口。

请注意,交叉引用(例如,使用@see and @link)在编辑器中似乎通常不受很好的支持。尽管只有名字可能会帮助人们找到界面。

票数 1
EN

Stack Overflow用户

发布于 2020-06-24 18:56:56

根据用法判断,我假设您的RequestResponse表示的不是原生RequestResponse类型,而是由Express提供的类型。

express.Request<P>类型接受类型参数P。此类型表示请求中提供的参数。

提供(和记录)它们的最简单方法是创建一个接口:

代码语言:javascript
复制
interface Payload {
  /**
   * First name of the user.
   */
  firstName: string;
  lastName: string;
  email: string;
  password: string;
  currentOrganization: string;
  avatarUrl: string;
  [index: string]: string;
}

将该接口提供给您方法:

代码语言:javascript
复制
async create(req: Request<Payload>, res: Response) {

提供的参数可以在req.params下访问--它们也有内联文档!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62552817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档