[英]How do you add nested params to tsdoc documentation
下面的代碼顯示了可能用於注冊用戶的功能。 請求正文接受多個嵌套參數,例如firstName
、 lastName
等。 如何使用 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
)在編輯器中似乎沒有得到很好的支持。 雖然只是有名稱可能會幫助人們找到界面。
從用法來看,我假設您的Request
和Response
不是原生的Request
和Response
類型,而是 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.