제가 Kotlin에 스파크 프레임을 썼어요.

10561 단어 KotlinSparkFramework

kotlin에 Spark 프레임워크를 사용하여 간단한 설치를 진행하였다


공간 프레임 정보


Spark Framework는 Java가 구현하는 경량 프레임워크입니다.
Spark Framework에서 웹 프레임워크와 REST API를 만들 수 있습니다.
또한 Java8의 Lambda를 표준적으로 지원합니다.

운영 환경


IntelliJ IDEA Version: 2017.2.5
Windows 10 Home

구현 단계


1. IntelliJ IDEA에서 Gradle 프로젝트 만들기
2. 잘 된build.gradle에서 다음 문장을 추가하다
compile 'com.sparkjava:spark-core:2.6.0'
3.kotlin의 프로젝트가 존재하지 않는 상황에서 제작

코드


Hello.kt
import spark.Spark.*

object HelloWorld {
    @JvmStatic
    fun main(args: Array<String>)  {
        staticFileLocation("D:/kotlin/sample/src/main/kotlin")
        setPort(1111)

        get("/hello") { request, response ->
            "<h1>Hello Spark!!</h1>+<h2>test</h2>"
        }
        get("/db") { req, res ->
            val name = contro().get(0)
            """
            <h1>$name</h1>
            """
        }

    }

}
Controler.kt
class contro() : UserDao() {
    fun get(i : Int): User? {
        val id: Int = i
        return findById(id)
    }
}

User.kt
import java.util.concurrent.atomic.AtomicInteger

open class UserDao {
    val users = hashMapOf(
            0 to User(name = "Alice", email = "[email protected]", id = 0),
            1 to User(name = "Bob", email = "[email protected]", id = 1),
            2 to User(name = "Carol", email = "[email protected]", id = 2),
            3 to User(name = "Dave", email = "[email protected]", id = 3)
    )
    var lastId: AtomicInteger = AtomicInteger(users.size - 1)

    fun save(name: String, email: String) {
        val id = lastId.incrementAndGet()
        users.put(id, User(name = name, email = email, id = id))
    }
    fun findById(id: Int): User? {
        return users[id]
    }
    fun findByEmail(email: String): User? {
        return users.values.find { it.email == email }
    }
    fun update(id: Int, name: String, email: String) {
        users.put(id, User(name = name, email = email, id = id))
    }
    fun delete(id: Int) {
        users.remove(id)
    }
}
data class User(val name: String, val email: String, val id: Int)

실행 결과


http://localhost:1111/hello

http://localhost:1111/db

SQL2o를 동적으로 사용하거나 SQL을 사용할 수 있습니다.

좋은 웹페이지 즐겨찾기