feat(diet-records): 修复营养成分分析记录查询参数验证和类型转换

修复GET请求查询参数验证装饰器缺失问题,添加正确的class-validator装饰器
在控制器中实现查询参数类型转换,确保数字参数正确处理
更新技术文档,添加DTO验证装饰器编写规范和GET请求参数处理指南
This commit is contained in:
richarjiang
2025-10-16 16:26:58 +08:00
parent a2c719f10a
commit 1fe969aa97
3 changed files with 138 additions and 3 deletions

View File

@@ -227,7 +227,16 @@ export class DietRecordsController {
this.logger.log(`获取营养成分分析记录 - 用户ID: ${user.sub}`);
try {
const result = await this.nutritionAnalysisService.getAnalysisRecords(user.sub, query);
// 转换查询参数中的字符串为数字
const convertedQuery = {
page: query.page ? parseInt(query.page, 10) : undefined,
limit: query.limit ? parseInt(query.limit, 10) : undefined,
startDate: query.startDate,
endDate: query.endDate,
status: query.status,
};
const result = await this.nutritionAnalysisService.getAnalysisRecords(user.sub, convertedQuery);
// 转换为DTO格式
const recordDtos: NutritionAnalysisRecordDto[] = result.records.map(record => ({