使用 `RoutingContext::json` 方法时如何设置响应状态代码?
How can I set response status code when using `RoutingContext::json` method?
我有这个代码:
get("/signup").handler {
// some logic
it.response()
.setStatusCode(409)
.putHeader("content-type", "application/json; charset=utf-8")
.end(jsonObjectOf(
"error" to "EmailAlreadyInUse"
).toString())
}
为了简化,我想用RoutingContext::json
方法:
get("/signup").handler {
// some logic
it
.setStatusCode(409) // Can't do this, setStatusCode method doesn't exist in RoutingContext
.json(jsonObjectOf(
"error" to "EmailAlreadyInUse"
))
}
但是,如您所见,当使用 RoutingContext::json
方法时,我无法设置响应的状态代码。
有什么办法吗? (不使用自定义扩展函数)
您可以为此使用 Kotlin apply
:
it.apply {
response().statusCode = 409
json(jsonObjectOf("error" to "EmailAlreadyInUse"))
}
我有这个代码:
get("/signup").handler {
// some logic
it.response()
.setStatusCode(409)
.putHeader("content-type", "application/json; charset=utf-8")
.end(jsonObjectOf(
"error" to "EmailAlreadyInUse"
).toString())
}
为了简化,我想用RoutingContext::json
方法:
get("/signup").handler {
// some logic
it
.setStatusCode(409) // Can't do this, setStatusCode method doesn't exist in RoutingContext
.json(jsonObjectOf(
"error" to "EmailAlreadyInUse"
))
}
但是,如您所见,当使用 RoutingContext::json
方法时,我无法设置响应的状态代码。
有什么办法吗? (不使用自定义扩展函数)
您可以为此使用 Kotlin apply
:
it.apply {
response().statusCode = 409
json(jsonObjectOf("error" to "EmailAlreadyInUse"))
}