최초의 Spring-boot(Kotlin)로 간소한 REST Web API를 구축해 본다.

최근 유행의 (?)Spring boot를 사용하여 일로 배운 RESTful Web API를 구축해 갑니다.

우선, 최근 유행(?)의 SPA를 상정해,
클라이언트측 ~ 서버측 ~ 데이터베이스
까지 연결하는 것을 목표로 합니다.

이번은, STS를 다운로드~Hello World까지를 기재합니다.

환경 개발 구축



STS(Spring Tool Suite)라는 플러그인(?)을 이용하여 개발합니다.
STS란, Eclipse에 인스톨 하는 플러그인, 그것이 이미 Eclipse에 인스톨 된 상태의 것의 2 종류를 가리키는 것 같습니다. (잘못하면 죄송합니다 ...)
이번에는 후자를 다운로드하여 개발 환경을 정돈합니다.

그럼에도 불구하고 아래 URL에서 최신 버전의 zip 파일을 다운로드하고,

다운로드한 zip 파일을 압축해제하고 종료합니다.

사전 준비



STS의 동작을 경량화



STS는 Eclipse를 베이스로 하고 있기 때문인지, Eclipse와 같은 방법으로 동작을 가볍게 할 수 있는 것 같습니다.
참고 사이트: h tps : // 멀다. jp / 우세 rs / YDM / 엔 t 리에 s / _ 에 c ぃ p せ _8_
ini 파일의 메모리 설정을 변경하는 콘텐츠 어시스트의 Auto 설정을 무효로 하는 것만으로도 오이타 부드럽게 움직입니다.
(콘텐츠 어시스트를 이용하면 무거워집니다만・・・)

신규 프로젝트 작성



프로젝트 만들기



메뉴 바의 File -> New -> Spring Starter Project
을 누르십시오. 그러면 다음 화면이 표시되므로,



Name:프로젝트 이름
Language:Kotlin
Type : 자신의 익숙한 것을 설정하면 좋다고 생각합니다 (이번은 Maven을 설정합니다)

을 설정합니다.

다음을 눌러 다음 화면에서,
Available:Jersey(JAX-RS)
설정. (이번은 Helo World 출력까지가 목표이므로, 그 이외의 설정(MyBatis)은 생략합니다.)



다른 설정하고 싶은 것이 없으면 그대로 Finish합니다.

이제 프로젝트를 만들 수 있었습니다.

자동 생성 클래스 수정



자동 생성된 Application 클래스를 열고 수동으로 클래스 이름에 open 절을 설정합니다.
Kotlin에서는 open을 붙이지 않은 클래스는 확장 불가 (Java에서 말하는 final 절을 붙인 상태)로 취급되지만,
Application 클래스는 확장 불가라고 불편이 일어날 것 같고(서버 기동시에 에러로 떨어졌습니다), 그 대응이 됩니다.
@SpringBootApplication
open class RestsampleApplication
// class RestsampleApplication

fun main(args: Array<String>) {
    SpringApplication.run(RestsampleApplication::class.java, *args)
}

서블릿 설정



만든 프로젝트를 servlet3 서버에 배포하기 위한 설정을 구성합니다.
이번에는 Web.xml이 아니라 ResourceConfig의 하위 클래스를 만드는 방법을 사용합니다.
Java의 경우 공용 생성자 내에 처리를 작성하지만 Kotlin은 constructor이 아닌 init 키워드를 사용해야합니다. (이 쪽은 1차 생성자, 2차 생성자와 같은 Java에는 없다(직접 볼 기회가 없을 뿐?)의 개념이 이유인 것 같습니다.)
@Component
@ApplicationPath("/api")
class JerseyConfig :ResourceConfig(){

    init {
        // RESTの窓口クラスの格納されているパッケージを指定
        packages("com.example.demo");
    }

}

리소스 클래스 만들기



이것으로 최소한의 설정이 완료되었습니다.
나중에 데이터를 보내고 받는 Resource 클래스를 만듭니다.
@Path("/kotlin")
class KotlinResource {

    @GET
    fun test():String{
        return "hello Kotlin REST Web API!!"
    }
}

동작 확인



브라우저상에서 아래와 같은 화면이 출력되면 성공입니다.


이번은 여기까지.

좋은 웹페이지 즐겨찾기