我想通过坐标获取位置。我从一个简单的 DTO 开始
export class GetLocationByCoordinatesDTO {
@IsNumber()
@Min(-90)
@Max(90)
public latitude: number;
@IsNumber()
@Min(-180)
@Max(180)
public longitude: number;
}
和这个 API 端点
@Get(':latitude/:longitude')
public getLocationByCoordinates(@Param() { latitude, longitude }: GetLocationByCoordinatesDTO): Promise<Location> {
// ...
}
为了测试这个端点,我调用了这个 url
本地主机:3000/locations/0/0
不幸的是我得到了以下回复
{
"statusCode": 400,
"message": [
"latitude must not be greater than 90",
"latitude must not be less than -90",
"latitude must be a number conforming to the specified constraints",
"longitude must not be greater than 180",
"longitude must not be less than -180",
"longitude must be a number conforming to the specified constraints"
],
"error": "Bad Request"
}
有人知道如何解决这个问题吗?我希望它会通过。
似乎 url 参数被认为是字符串,但我怎样才能将它们解析为数字呢?