如何解决如何在 springboot + kotlin 中接受一组 uint8arrays
我想向我使用 kotlin 和 springboot 构建的 API 发送一个包含一组 Uint8Arrays 的有效负载的 post 请求。
从打字稿客户端发送的有效负载如下所示:
interface SavePatternContract {
name: string
frames: Array<Uint8Array>
rows: number
columns: number
chunkSize: number
}
我是这样提交的:
const payload: SavePatternContract = {
name: state.patternName,rows: state.frames[0].height,columns: state.frames[0].width,chunkSize: state.frames[0].chunkSize,frames: state.frames.map((frame) => frame.asByteArray()),}
console.log(payload)
const responseResult = await fetch(`${config.api.url}/animator/pattern`,{
method: 'POST',headers: {
'Content-Type': 'application/json',},body: JSON.stringify(payload),})
const response = await responseResult.json()
这很好用。
我遇到的问题是如何使用 kotlin 在 springboot 中接受这个请求。
在服务器端我做了一个新的 PostMapping:
@RestController
@RequestMapping("/animator")
class PageController {
@PostMapping("/pattern")
fun savePattern(@RequestBody pattern: SavePatternContract) {
print(pattern)
}
我想我会编写以下数据类来匹配客户的合同:
data class SavePatternContract(
val name: String,val rows: Int,val columns: Int,val chunkSize: Int,val frames: ???
)
但我不确定如何处理 uint8arrays 数组。我以为我可以做 Array<Uint8Array>
,但似乎 Uint8Array 不是可用类型(顺便说一下,我是 kotlin 和 spring 的新手)。
我以为是因为 the type arrays have kotlin wrappers in the stdlib 但我似乎无法访问它们。
我想可能 org.khronos.webgl
不是标准库的一部分,但是当我搜索 maven central 时我找不到它。
从这里开始,我不确定我是否只是没有在 pom 中包含正确的依赖项来获取包装器,或者这是否是正确的方法。我确实尝试过使用 Array<Array<Byte>>
,但也没有用。
我认为在谈到 kotlin 时,我仍然很绿色。任何方向正确的点都将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。