Я создаю веб-приложение с использованием TypeScript с промежуточным ПО body-parser для анализа тел запросов JSON.Я сталкиваюсь с ошибками типа при попытке доступа к свойствам объекта Request.body
.
Например, если я пытаюсь req.body.username
, TypeScript выдает ошибку
Property 'username' does not exist on type 'ReadableStream<Uint8Array>'.
Вещи, которые я пробовал:
- Объявление пользовательского интерфейса для
ReadableStream<Uint8Array>
, непосредственно перед доступом к свойству username
.
interface ReadableStream<Uint8Array> {
username: string
}
TypeScript сообщает мне, что ReadableStream
был объявлен, но никогда не использовался.Не могу понять, почему это так.
- Использование переноса в блоке
if
if (req.body.hasOwnProperty('username')) {
// Use req.body.username here
}
Кажется, что TypeScript не понимает, что это означает, что свойство username существует.
- Использование индексации вместо точечной нотации
let p_username = req.body['username'];
Это было последнее, что я попробовал, даже если это не проверяет точку проверки типов.Даже это не работает:
Element implicitly has an 'any' type because type 'ReadableStream<Uint8Array>' has no index signature.
Кажется, что чтение содержимого тела запроса, как это довольно стандартное использование, и поэтому должен быть простой способ обойти эту проблему.Может быть, я упускаю что-то очевидное.