Java 在Kotlin中启用CORS时,Spark在访问路由时返回空响应
这是我的路线图,直接取自: 下面是我如何引用CorsRoute的示例:Java 在Kotlin中启用CORS时,Spark在访问路由时返回空响应,java,kotlin,spark-java,Java,Kotlin,Spark Java,这是我的路线图,直接取自: 下面是我如何引用CorsRoute的示例: abstract class Route { init { CorsRoute("*","*","*") } } 以下是我如何开始我的路线: class RestApiRoutes : Route() { fun init() { get("/test") { req, res -> { val obj =
abstract class Route {
init {
CorsRoute("*","*","*")
}
}
以下是我如何开始我的路线:
class RestApiRoutes : Route() {
fun init() {
get("/test") {
req, res -> {
val obj = JsonObject().addProperty("foo", "bar")
Gson().toJson(obj).toString()
}
}
}
}
当我前往http://127.0.0.1:4567/test
我收到:
()->kotlin.String
为什么页面返回这个而不是我期望的JSON响应?因为
{
req, res -> {
val obj = JsonObject().addProperty("foo", "bar")
Gson().toJson(obj).toString()
}
}
是一个lambda,它返回一个不带参数的lambda,而不是字符串。内部lambda的toString
返回()->kotlin.String
删除内部{}
以修复此问题:
{ req, res ->
val obj = JsonObject().addProperty("foo", "bar")
Gson().toJson(obj).toString()
}
(请参阅格式约定)因为
{
req, res -> {
val obj = JsonObject().addProperty("foo", "bar")
Gson().toJson(obj).toString()
}
}
是一个lambda,它返回一个不带参数的lambda,而不是字符串。内部lambda的toString
返回()->kotlin.String
删除内部{}
以修复此问题:
{ req, res ->
val obj = JsonObject().addProperty("foo", "bar")
Gson().toJson(obj).toString()
}
(请参阅格式约定)算出了,但忘了回答,我就是这么做的-谢谢你的回复!标记接受未来的观众!我想出来了,但忘了回答,这就是我所做的-谢谢你的回答!标记接受未来的观众!