Привет всем!
Имею клиент-серверное приложение написанное на TypeScript+Kotlin.
В одном месте на клиенте собираю необходимые данные в виде multipart/form-data и передаю их на сервер.
Вопрос:
Как не хардкодить ключи (названия элементов multipart) и сделать всё типобезопасно?
Сейчас всё выглядит примерно так:
const formData = new FormData()
formData.append("name", "John")
formData.append("surname", "Snow")
formData.append("photo", blob)
axios.post("/backend/api", formData)
multipart.forEachPart { part ->
when (part) {
is PartData.FormItem -> {
when (part.name) {
"user" -> {}
"surname" -> {}
}
}
is PartData.FileItem -> {}
}
}
Хардкод как на клиенте, так и на бэкенде.
Как исправить?