在这条路由接收生产订单前,对它进行审查。
认证租户、校验订单、以持久且幂等的方式创建订单,并在提交后发布通知。
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)
}
}
生成代码仅作示例,不代表任何特定模型