Swagger中@ApiProperty文件路径示例反斜杠显示异常求助
Swagger @ApiProperty 文件路径反斜杠显示异常问题
问题根源在于JavaScript的字符串转义机制:
- 你最初写的
"c:\Users\ivanov_ii\notes\note1.md"中,单反斜杠会被当作转义符处理。\U不属于合法转义序列,JS会直接忽略该反斜杠,导致\Users变成Users;而\n会被解析为换行符,进一步破坏路径格式。 - 当你改用双反斜杠
"c:\\Users\\ivanov_ii\\notes\\note1.md"时,JS会将双反斜杠解析为单个反斜杠,所以Swagger最终显示的"c:\Users\ivanov_ii\notes\note1.md"其实是正确的Windows文件路径格式,这正是实际需要的效果。
如果觉得写双反斜杠繁琐,可以用ES6的String.raw创建原始字符串,无需手动转义反斜杠:
@IsNotEmpty() @IsString() @ApiProperty({ description: 'Path to .md file with data', type: String, example: String.raw`c:\Users\ivanov_ii\notes\note1.md` }) pathToFile: string;
这样Swagger中显示的示例路径就会完全符合预期,不会出现反斜杠丢失或被转义的问题。
内容的提问来源于stack exchange,提问作者igoose87
相关产品推荐
相关产品推荐

