취준/API 설계
[Type Guard] type에 대한 확실한 정의가 필요
Kawaii_Jordy
2021. 5. 31. 10:01
제가 제대로 표현을 못했네요. 구체적인 예시로 보는게 괜찮을 것 같습니다.
지금 서버에 GET /log/rooms?limit%5BtoString%5D=123 을 요청하면 TypeError: req.query.limit?.toString is not a function 가 납니다. 여기서 %5B와 %5D는 [] 의 urlencoded 된 표현입니다.
이 때 첫 줄에서 console.log(req.query)를 찍어보면 { limit: { toString: '123' } } 이 나옵니다.
이 때 req.query.limit의 값은 string type인 '123'이 됩니다.
해당 버그를 고쳐주세요. 서버가 클라이언트에게 자신의 에러 stack을 보내는 것은 보안적으로 이슈가 될 수 있습니다.
https://www.typescriptlang.org/docs/handbook/advanced-types.html