我正在使用 Node + TypeScript 和集成的 swagger 进行 API 调用。我有一个大摇大摆的请求
http://localhost:3033/employees/search/?username=test http://localhost:3033/employees/search/?username=test
这里我想找到 username = test 的记录。
因此,我使用 URL 模块解析查询字符串,如下所示,并在控制台中获取用户名。
var params = URL.parse(req.url, true).query;
console.log(params); //gives me [Object: null prototype] { username: 'test' } in my console
但是每当我尝试将 params.username 分配给如下所示的常量时
const username:string =params.username;
它给了我以下错误
输入“字符串|” string[]' 不可分配给类型“string”。
类型“string[]”不可分配给类型“string”。
我的完整代码如下
import * as URL from 'url';
public getUserByName = async (req: Request, res: Response, next: NextFunction) => {
var params = URL.parse(req.url, true).query;
const username:string =params.username;
try {
const findOneUserData: Employee = await this.userService.findUserByName(username);
res.status(200).json({ data: findOneUserData, message: 'findOne' });
} catch (error) {
next(error);
}
}