Tag: spark java

SparkJava不能与一些Google Youtube API一起使用

我们决定使用SparkJava,Kotlin和Mustache作为商业网络产品。 我们的产品需要与Google(YouTube)API集成。 该项目的所有终端正常工作。 (后台,CRUD操作等),我们开始实施YouTube的集成,我不得不将谷歌图书馆添加到我的项目开始。 (不要添加任何额外的代码,只需添加库google-oauth-client-jetty。) 你可以在下面find我的Gradle库: dependencies { // Below library is a part of the requirements or YouTube Integration compile group: ‘com.google.oauth-client’, name: ‘google-oauth-client-jetty’, version: ‘1.11.0-beta’ // And these are the others compile fileTree(include: [‘*.jar’], dir: ‘lib’) compile “org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version” compile group: ‘com.sparkjava’, name: ‘spark-core’, version: ‘2.7.0’ compile ‘com.google.code.gson:gson:2.8.1’ compile group: ‘commons-codec’, name: ‘commons-codec’, version: […]

之前在Kotlin

我试图设置一个没有适用于所有请求的路径之前的filter。 在kotlin我试图写: before { req, resp -> // check auth then redirect if not authorized… } 编译器说: 无法推断此参数的types(req&resp)。 我应该如何在没有路线的情况下在Kotlin中设置一个filter?

如何为Spark Java提供动态数据库配置凭据?

我正在使用spark java构建一个简单的REST API。 该项目使用Postgres DB存储, gradle作为构建系统。 胖Jar部署在AWS 。 我有三个local环境, staging和production环境。 对于每个胖子创建,我想提供特定的配置,如下面用于本地构建的配置: dbHost = "localhost" dbUsername = "myusername" dbPassword = "mypassword" database = "mydb" dbPort = "5432" 如何基于fatJar构建变体动态提供这些值?

什么是一些好的基于JVM的Web服务器库?

我目前有一个Kotlin应用程序,我想用REST API服务器公开。 我很难找到一个围绕它构建的Web框架。 我的背景是Node.JS,我试图在中间件和模块化层面上找到至少类似于它的东西。 但是自从我刚刚开始学习Java以来​​,入门部分是主要的入门障碍。 什么适当打击我是星火,但我找不到一种方法来分隔我的路线之间不同的文件,并有本地每文件中间件。 我考虑过Play,但它似乎需要一个新的应用程序的一个非常大的设置,甚至更多,如果它是一个现有的。 虽然我的应用程序不是那么大,但是我打算进行改进,所以我需要一些可以适当缩放的东西。 所以我问我有什么选择? 我非常期待与Spark合作,如果我能解决前面提到的那两个问题,任何关于他们的帮助都会很感激。

从发布请求中检索二进制文件

发送POST请求(Apache httpclient,这里是Kotlin源代码): val httpPost = HttpPost("http://localhost:8000") val builder = MultipartEntityBuilder.create() builder.addBinaryBody("file", File("testFile.zip"), ContentType.APPLICATION_OCTET_STREAM, "file.ext") val multipart = builder.build() httpPost.entity = multipart val r = httpClient.execute(httpPost) r.close() 我通过spark-java Request-object在我的邮件处理程序中收到请求。 如何从发布请求中检索原始文件(加上文件名称作为奖励)? request.bodyAsBytes()方法似乎增加了一些字节,因为正文大于原始文件。 谢谢,约尔格

使用Gradle和Kotlin自动重新加载Jetty

使用Spark Web框架,我希望在编译文件时启用嵌入式jetty的自动重载。 试 gradle run -Djetty.reload=automatic -Djetty.scanIntervalSeconds=2 虽然不起作用。 有任何想法吗?

从Kotlin中的lambda表达式显式返回

使用Spark ,我得到了一些这样的代码: post("/auth/login", { req, res -> val body = parseBody(req.body()) val assertion = body["assertion"] if (assertion == null) { halt(400) return null } // …snip…lots more code }) 哪个工程很好,除了…它不编译 – 我得到'return' is not allowed here 。 我可以把lambda的其余部分放在一个else块中,但是我不希望将缩进最小化。 那么如何“短路”lambda返回null?

无法使用Kotlin将主体发布到Spark REST API

我试图按照这个Spark教程来使用Kotlin创建一个REST API ,而我正努力在JSON主体上发布数据 我想将这些数据发布到正文中,如下所示: curl -H "Content-Type: application/json" -X POST -d '{"token" : "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vdHJ1c3R5YXBwLmNvbS8iLCJzdWIiOiJ1c2Vycy8xMzAwODE5MzgwIiwiZXhwIjoxNDg5OTgwNTI2fQ.5ZJG9GyhG-OCXg0C510MBFs9EQHdE909s4hpNxnM6LU"}' http://localhost:4567/tokens 但是,这将在我的Kotlin文件第20行中得到一个空值 /** * REST API for getting tokens * Created by juanma on 15/3/17. */ import spark.Spark.get import spark.Spark.post import spark.Spark.* import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper fun main(args: Array<String>) { get("/hello") { req, res -> "Hello World" } path("/tokens") { get("") { req, […]

如何从命令行运行Kotlin的spark java

我对Java很陌生(大概7年没有这样做)。 我正在使用Gradle,使用spark-java创建一个简单的Hello World应用程序,它只是运行这个: import static spark.Spark.*; fun main(args: Array<String>) { get("/hello", (req, res) -> "Hello World!"); } 在Eclipse中,我可以通过获取gradle插件并启动一个新的gradle项目来实现。 但也有“科林”项目。 所以你不能用kotlin启动一个新的gradle项目。 我想说的是,通过JavaScript和Node,我通常都是通过命令行完成所有的事情。 我想建立这个项目,并从命令行运行服务器与Gradle,但我不知道如何做到这一点。 这是我目前的build.gradle: // Apply the kotlin plugin to add support for Kotlin apply plugin: 'kotlin' buildscript { ext.kotlin_version = '1.1.2-4' repositories { jcenter() mavenCentral() } sourceSets { main.kotlin.srcDirs += 'src/main/myKotlin' main.java.srcDirs += 'src/main/myJava' } […]

SparkJava使用Kotlin和WebSockets

我正在用SparkJava尝试Kotlin,并且无法实现WebSocket路由。 我正在尝试遵循SparkJava网站( http://sparkjava.com/tutorials/websocket-chat )上提供的WebSocket示例,同时我可以使OnWebSocketConnect和OnWebSocketMessage元素正常工作,而不会拾取OnWebSocketClose。 我已经在Java中实现了这一点,以确保它不是浏览器问题,并且Java实现工作正常……所以这似乎是Kotlin解释OnWebSocketClose注释的特定方式。 我的代码如下所示 import spark.Spark.* import org.eclipse.jetty.websocket.api.Session import org.eclipse.jetty.websocket.api.annotations.*; fun main(args: Array<String>) { staticFileLocation("/public") webSocket("/chat", WSHandler::class.java) init() } @WebSocket class WSHandler { @OnWebSocketConnect fun connected(session: Session) = println("session connected") @OnWebSocketClose fun closed(session: Session, statusCode: Int, reason: String) = println("closed sessions") @OnWebSocketMessage fun message(session: Session, message: String) = println("Got: $message") } html / […]