簡體   English   中英

如何將嵌套參數添加到 tsdoc 文檔

[英]How do you add nested params to tsdoc documentation

下面的代碼顯示了可能用於注冊用戶的功能。 請求正文接受多個嵌套參數,例如firstNamelastName等。 如何使用 tsdoc 充分記錄這些嵌套參數?

    /**
     * @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 });
           
    }

聲明一個接口,在那里記錄屬性並引用 function 中的接口。

請注意,交叉引用(例如,使用@see@link )在編輯器中似乎沒有得到很好的支持。 雖然只是有名稱可能會幫助人們找到界面。

從用法來看,我假設您的RequestResponse不是原生的RequestResponse類型,而是 Express 提供的類型。

express.Request<P>類型接受類型參數P 該類型表示請求中提供的參數。

提供(和記錄)它們的最簡單方法是創建一個接口:

interface Payload {
  /**
   * First name of the user.
   */
  firstName: string;
  lastName: string;
  email: string;
  password: string;
  currentOrganization: string;
  avatarUrl: string;
  [index: string]: string;
}

將該接口提供給您的方法:

async create(req: Request<Payload>, res: Response) {

提供的參數可以在req.params下訪問——它們也有內聯文檔!

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM