审查生成的 Ktor 订单路由

来自 Kotlin 后端开发
Kotlin 2.4.10 / Ktor 3.5.1 / Java 25 LTS 高级 8分钟 找出 4处问题

在这条路由接收生产订单前,对它进行审查。

认证租户、校验订单、以持久且幂等的方式创建订单,并在提交后发布通知。

kotlin
fun Route.orderRoutes(
    service: OrderService,
    notifications: Notifications,
) {
    post("/orders") {
        val request = call.receive<CreateOrderRequest>()
        val tenantId = call.request.headers["X-Tenant"]!!
        val key = call.request.headers["Idempotency-Key"]

        val existing = service.findByKey(key)
        if (existing != null) return@post call.respond(existing)

        val order = service.create(tenantId, request)
        GlobalScope.launch {
            notifications.send(order)
        }

        call.respond(HttpStatusCode.Created, order)
    }
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误