Nestjs 将 JSON arra 转换为字符串 []
Nestjs transform JSON arra as string[]
我有以下获取请求:
/api?entitiesText=["america", "americans"]&phrasesText=["a month-long effort"]
我想将 entitiesText
和 phrasesText
转换为 string[]
:
export class ContentEnrichmentQuery {
@IsArray()
entitiesText?: string[];
@IsArray()
phrasesText?: string[];
}
这是方法:
@Get('/toppings')
async getViaPost(@Query(new ValidationPipe({ transform: true })) contentEnrichmentQuery: ContentEnrichmentQuery) {....}
现在我得到的是 string
而不是 string[]
URL 和查询参数将始终以字符串形式出现。这就是底层 HTTP 适配器和解析包的工作方式。如果您希望它们是非字符串值,您需要向这些值添加自定义 @Transform()
装饰器,例如 @Transform({value} => JSON.parse(value))
我有以下获取请求:
/api?entitiesText=["america", "americans"]&phrasesText=["a month-long effort"]
我想将 entitiesText
和 phrasesText
转换为 string[]
:
export class ContentEnrichmentQuery {
@IsArray()
entitiesText?: string[];
@IsArray()
phrasesText?: string[];
}
这是方法:
@Get('/toppings')
async getViaPost(@Query(new ValidationPipe({ transform: true })) contentEnrichmentQuery: ContentEnrichmentQuery) {....}
现在我得到的是 string
而不是 string[]
URL 和查询参数将始终以字符串形式出现。这就是底层 HTTP 适配器和解析包的工作方式。如果您希望它们是非字符串值,您需要向这些值添加自定义 @Transform()
装饰器,例如 @Transform({value} => JSON.parse(value))