REST에서 대부분 많이 사용하는 URL 형태는 /user/{id} 이런 형식으로 진행이 되는데 URL 중간에 {} 포함되는 경우가 있습니다. 그냥 parameter 넣어 넘기면 되겠지만 IoT Device 처리를 하는 경우에는 이런 식으로 중간에 값을 추가해서 처리하는 경우가 있습니다. 이처럼 URL 중간에 {변수} 들어가는걸 sub-resource라고 하는데 사용 방법은 일반적인 방법과 동일 합니다.


 

아래처럼 Controller를 하나 만들고


 package com.copycoding.demo;

 

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RestController;

 

@RestController

@RequestMapping(value="/api")

public class TestController {

 

  @RequestMapping(value = "/user/{id}", method = RequestMethod.GET)

  public String userId(@PathVariable("id") String id) {

         return "User ID:" + id;

  }

       

  @RequestMapping(value = "/user/{id}/info/detail/{name}/{age}", method = RequestMethod.GET)

  public String userInfo(@PathVariable("id") String id,

                         @PathVariable("name") String name,

                         @PathVariable("age") int age) {

         return "User ID:" + id + " Name:" + name + " Age:" + age;

  }

 

}


url에 들어있는 변수들은 @PathVariable() 어노테이션을 이용하면 값을 받아올 수 있습니다.


예제로 "/user/{id}를 호출 합니다.

http://localhost:9090/api/user/tester1


rest sub resource


잘 나오는 군요.

 

이제 sub resource 형태의 /user/{id}/info/detail/{name}/{age}주소를 호출해 봅니다.

http://localhost:9090/api/user/tester1/info/gildong/25


rest sub resource


이 주소의 호출도 정상적이고 변수들도 잘 받아 오고 있습니다추출한 변수를 이용하여 필요한 처리를 하면 되겠습니다.


- copy coding -



Linux에 Oracle JDK를 설치하기 위해 다음 명령어를 사용 했는데 오류가 발생 합니다.

 

$ sudo apt-add-repository ppa:webupd8team/java

$ sudo apt-get update

$ sudo apt-get install oracle-java8-installer


copycoding:/usr/local$ sudo apt-get install oracle-java8-installer

Reading package lists... Done

Building dependency tree

Reading state information... Done

Package oracle-java8-installer is not available, but is referred to by another package.

This may mean that the package is missing, has been obsoleted, or

is only available from another source

 

E: Package 'oracle-java8-installer' has no installation candidate 


마지막 명령에서 설치가 되지 않습니다.  아무래도 오라클에서 정책이 변경되어 자바가 유료화되면서 자동으로 설치를 할 수 없도록 한 것 같기도 하고 하는 수 없이 사이트에 가서 다운로드 받아다 설치를 합니다.


ubuntu oracle java 수동 설치


JDK를 선택 하고 적당한 버전을 골라 다운로드 합니다.


ubuntu oracle java 수동 설치


저는 Ubuntu에 설치를 하기 때문에 linux를 선택 했습니다.

Linux x64          185.96 MB        jdk-8u211-linux-x64.tar.gz

 

오라클 계정으로 로그인하여 다운을 받습니다다운로드가 완료되면 ftp로 우분투 서버에 올리고 설치 위치로 이동을 합니다.  설치는 /usr/local/java/에 하기로 하고

 

$ sudo mv jdk-8u211-linux-x64.tar.gz /usr/local/java/

 

파일을 이동 하고 압축을 풀어 줍니다.

 

$ cd /usr/local/java/

$ sudo tar -zxvf jdk-8u211-linux-x64.tar.gz


폴더 구조를 보면


/usr/local/java$ ll

total 190440

drwxr-xr-x  3 root root      4096 Jun  6 07:28 ./

drwxr-xr-x 11 root root      4096 Jun  6 07:26 ../

drwxr-xr-x  7 uucp  143      4096 Apr  1 20:51 jdk1.8.0_211/

-rw-rw-r--  1 ccding ccding 194990602 Jun  6 07:27 jdk-8u211-linux-x64.tar.gz 


압축을 풀면 설치가 완료된 것이고 이제 여러 곳에서 사용 할 수 있도록 설정을 합니다.

 

$ sudo vi /etc/profile

 

파일을 열어 끝부분에 추가를 해줍니다.


 

    fi

  done

  unset i

fi

 

JAVA_HOME=/usr/local/java/jdk1.8.0_211

JRE_HOME=$JAVA_HOME/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME

export JRE_HOME

export PATH 


추가한 설정 사항을 반영 합니다.(다시 로그인을 해도 됩니다.)

 

$ . /etc/profile

 

잘 설치가 되었는지 버전을 확인해 봅니다.

 

$ java –version


$ java -version

java version "1.8.0_211"

Java(TM) SE Runtime Environment (build 1.8.0_211-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode) 


$ javac –version


$ javac -version

javac 1.8.0_211 


설치가 잘 되었습니다.  윈도우에 설치하는 것보다 쉽죠?


개인적으로는 좀 생소한 axboot.  생산성이 높다고 해서 한번 설치를 하려는데 eclipse 환경에 익숙해서인지 설치 자체가 부담으로 다가와 두번 설치 하라고 하면 못할 것 같아 몇자 적어둡니다.

사전에 작업해야 하는 부분은 Java, Tomcat, STS, lombok, git, node, bower 등의 프로그램을 설치해야 됩니다.  설치 항목이 너무 많아 중간에 그만 두려고 했을 정도로 좀 지겹습니다(나만 죽을 순 없지, 이걸 맨 마지막으로 옮길까? 올리기 전에 결정할것).  STS를 설치 하면서 왜 Tomcat도 설치 해야 하느냐는 외부에 있는 WAS를 사용하는 테스트를 하려는 것 입니다.( 만들다 보니 너무 길어서 외부 Tomcat 이용은 다음 기회에…)

 


1. JAVA 설치

 

Oracle 사이트에 접속하여 Java1.8.x 버전 이상을 다운받아 설치를 합니다.

Java를 설치하고 환경 변수 설정을 합니다설치 위치에 따라 폴더는 변경하면 됩니다.

 

JAVA_HOME

"F:\project\Java\jdk1.8.0_131"


axboot framework 설치


Path%JAVA_HOME%\bin을 추가 합니다.


자세한 설명은 참조는 아래 링크를 참조 하세요.


Java 설치 환경 설정



2. Tomcat 설치

 

나중에 STS에 있는 WAS를 사용하지 않고 별도의 WAS를 사용 하려면 Apache 사이트에 접속하여 Tomcat를 다운받아 설치 합니다내부 WAS를 이용 하려면 다음으로 Pass 하세요이것도 설치 후에는 환경 변수 설정을 합니다.

 

CATALINA_HOME

"C:\project\apache-tomcat-8.5.39"


axboot framework 설치


Tomcat 설치 관련 설명은 하단 링크 앞부분 참조.

 

eclipse java apache-tomcat 설치 (Windows)



3. STS 설치

 

사이트에 접속하여 설치를 진행 합니다.

 

https://spring.io/tools

 

설치는 파일을 다운로드 받은 후 압축을 풀어주기만 하면 됩니다자세한 사항은 하단 링크를 참조 합니다.

 

Spring Tools 설치 Spring Boot (STS 4.4.2.1)

 


4. lombok 설치

 

도메인 또는 VO로 부르는 class getter, setter 관련 자동화 도구입니다썰렁한 사이트에 접속해서 다운로드를 받습니다.

 

https://projectlombok.org/download


axboot framework 설치


콘솔을 하나 열고 파일이 있는 폴더로 이동하여 다운받은 파일을 실행 합니다.

 

C:\project>java -jar lombok.jar


axboot framework 설치


그러면 다음과 같은 창이 열리는데


axboot framework 설치


여기에서 Specify location… 버튼을 클릭하고


axboot framework 설치


STS 실행 파일을 선택 해주고


axboot framework 설치


Install/Update 버튼을 클릭해 줍니다.


axboot framework 설치


설치가 완료되면 Quit Installer 버튼을 클릭 합니다.

 

SpringToolSuite4.ini 파일을 열어 보면 다음과 같은 라인이 추가 되어있습니다.

-javaagent:C:\project\sts-4.2.1.RELEASE\lombok.jar

 

  

5. Git 설치

 

여기까지 오니 슬슬 질리기 시작하는데 그만둘 수도 없으니 계속 진행 해 봅니다.  Git도 사이트에 접속해서 설치를 합니다.

 

https://git-scm.com

 

설치 방법은 다운 받은 파일을 실행 하고 계속 다음 버튼을 클릭 해 줍니다.

 

자세한 설명은 하단을 참고 합니다.

 

[Git] Git 설치 하기 (Windows - Git-2.20.1-64-bit)

 

 

 

6. Node 설치

 

Node도 사이트에 접속하여 파일을 다운로드 받습니다.


https://nodejs.org/ko/

 

다운로드 받은 파일을 실행하고 계속 다음 버튼을 클릭하고 설치가 완료되면 콘솔 모드에서 버전을 확인해 봅니다.


axboot framework 설치


여기까지 오면 잘 설치가 된 것 입니다자세한 설치 설명은 하단 링크를 참고 합니다.

 

node.js 다운로드 설치하기

 

 

7. Bower 설치

 

화면 단 파일관리 툴인 Bower를 설치 합니다이건 위에서 설치한 node에 포함된 npm을 이용하여 설치를 합니다콘솔을 하나 열고

 

C:\>npm install -g bower


명령을 입력 하면 설치가 진행 됩니다.  –gglobal로 아무 폴더에서나 사용하기 위한 옵션 입니다.


axboot framework 설치


여기 까지 해서 필요한 프로그램 설치는 완료 되었습니다개인적으로는 혹시나 해서 Maven도 설치를 했습니다.

 


8. axboot 소스코드 생성

 

이제 준비작업이 완료 되었으니 본격 적으로 axboot 관련 작업을 시작 합니다.

 

Sample 프로젝트를 하나 생성해 보기 위하여 Initializr 사이트에 접속 합니다


http://start.axboot.com/

 

사이트에 접속해서 필요한 항목을 입력합니다.


axboot framework 설치


잘 안보이나요?


axboot framework 설치


이케 적었습니다별거 없습니다.

 

Generate Project를 클릭 하면 소스가 다운로드 됩니다. webtest_20190527.zip 날짜가 추가 되어 있는데 압축을 풀면 날짜가 없는 폴더가 하단으로 생성 됩니다.

 

Command 창을 하나 열어 추가 작업을 시작 합니다. 작업은 package.json을 이용하여 plug-in download 하는 것으로 압축을 풀어놓은 위치로 이동을 합니다.

 

cd C:\project\webtest_20190527\webtest


이동하였으면


C:\project\webtest_20190527\webtest>npm install


명령을 입력 합니다.


axboot framework 설치


한참 진행을 하다가 오류사항들이 나오는데 phthon2를 찾고 난리도 아닙니다.


axboot framework 설치


axboot framework 설치


설치 매뉴얼에 python 얘기는 없었기 때문에 오류가 나도 무시 하기로 하고 그냥 다음 단계로 진행을 합니다.

 

다음 단계는 실행을 하는 것 입니다콘솔의 동일한 폴더에서 다음 명령을 입력 합니다.

 

C:\project\workspace2\webtest>mvn spring-boot:run


axboot framework 설치


한참 스크롤이 올라가며 다운로드 하고 뭔가 진행을 하다가 동작이 멈춥니다.  웹 페이를 열고 localhost:8080을 입력해 보았습니다


axboot framework 설치


실행이 잘 되었군요. 스키마 및 초기 데이터 생성하기 버튼을 클릭 합니다.


axboot framework 설치


원가 진행이 되고 있고 콘솔에서는 로그가 올라가기 시작 합니다.


axboot framework 설치


현재 브라우저에서 진행되는 상황을 log로 제공하여 볼 수 있습니다.


axboot framework 설치


잠시 후 초기화가 완료 됩니다확인 버튼을 클릭 합니다.


axboot framework 설치


화면이 변경 되었습니다.


axboot framework 설치


로그인 창인데 아이디와 패스워드는 입력이 되어 있습니다로그인 버튼을 클릭 합니다.


axboot framework 설치


설치가 잘 완료 되었습니다.


axboot framework 설치


메뉴를 하나씩 살펴보세요.


간단하게 테스트 해야 할 일이 생겨서 통합버전으로 나온 STS를 이용하기로 하고 설치를 진행해 보았습니다요즘 프로그램은 설치가 간단하게 나오는데 Spring boot도 설치는 매우 간단 합니다.

테스트는 Spring Initializr에서 다운받은 것으로 한번, Spring boot에서 생성한 것으로 한번 진행 합니다.

 

 

1. JAVA 설치

 

Spring Toolsjava가 설치되어 있어야 합니다.  Java를 설치하고 환경 변수 설정을 합니다설치 위치에 따라 폴더는 변경하면 됩니다.

 

JAVA_HOME

"F:\project\Java\jdk1.8.0_131"


Spring Tools Spring Boot


그리고 Path%JAVA_HOME%\bin 을 추가해 주면 됩니다.


Java 설치에 대한 자세한 설명은 아래 링크 참조.


Java 설치 및 환경 설정


 

2. Spring Tools 설치

 

Spring Tools에 접속하여 Spring boot를 다운로드 받습니다.


https://spring.io/tools


Spring Tools Spring Boot


각자 사용하는 운영체제에 적합한 항목을 클릭하여 다운로드를 진행 합니다여기서는 windows용을 다운 받았습니다.

 

spring-tool-suite-4-4.2.1.RELEASE-e4.11.0-win32.win32.x86_64.zip

 

다운받은 파일을 적당한 곳에 놓고 압축을 풀어 줍니다. 압축을 풀고 사용하려는 곳으로 파일을 이동 합니다저는 C:\project\ 로 이동을 하였습니다.  


Spring Tools Spring Boot


SpringToolSuite4.exe를 실행해서 창이 뜨면 설치에 성공을 한 것 입니다설치가 완료 되었습니다.

 

 

3. Generate Project 테스트

 

압축을 풀어주는 것 만으로 설치가 완료 되었는데 작동이 잘 되는지 사이트에서 데모 프로젝트를 하나 다운 받아 실행해 보도록 합니다.

 

https://start.spring.io

 

별 의미 없지만 사이트에 접속하여 Spring Initializr에서 Artifactdemo에서 copycoding으로 변경해 보았습니다.


Spring Tools Spring Boot


Maven Project Java가 선택되어 있습니다각자 작업 환경에 맞게 선택을 하고 하단에 있는 Generate Project 버튼을 클릭하면 선택한 조건으로 copycoding이라는 압축된 프로젝트를 다운 받을 수 있습니다다운받은 copycoding.zip 파일은 임의의 폴더에 압축을 풀어 줍니다.

 

이제 SpringToolSuite4를 실행 합니다


Spring Tools Spring Boot


작업할 Workspace를 선택 해주고 Launch 버튼을 클릭 합니다.


Spring Tools Spring Boot


처음에는 프로젝트가 추가되지 않은 상태 이므로 추가를 해주어야 합니다File > import를 선택합니다.


Spring Tools Spring Boot


Import 팝업 창에서 Maven을 찾아 봅니다.


Spring Tools Spring Boot


Maven을 확장하고 Existing Maven Projects를 선택 해서 Maven Projects 창을 오픈 합니다.


Spring Tools Spring Boot


Browse 버튼을 이용하여 추가할 copycoding 프로젝트를 선택합니다. Finish 버튼을 클릭 합니다.


Spring Tools Spring Boot


먼저 Maven install을 해주어야 합니다프로젝트에 마우스를 대고 우측 버튼을 클릭하고 팝업 메뉴에서 하단으로 내려가 Run As를 찾습니다.


Spring Tools Spring Boot


그리고 Run As > Maven install을 선택 합니다열심히 필요한 파일들을 다운로드 받습니다.


Spring Tools Spring Boot


ConsoleBUILD SUCCESS가 보이면 잘 설치가 되었고 프로그램을 실행해 봅니다먼저 CopyCodingApplication.java 파일을 열고 System.out.println("Hello Hello"); 한 줄을 추가해 줍니다.


         public static void main(String[] args) {

               SpringApplication.run(CopycodingApplication.class, args);

               System.out.println("Hello Hello");

        }



CopyCodingApplication.java 파일에 마우스를 대고 우측 버튼을 클릭 합니다.


Spring Tools Spring Boot


길어서 좀 잘라보았습니다. 아래쪽으로 내려가면 Run As가 있습니다.


Spring Tools Spring Boot


Run As 에서 Apring Boot App을 선택 하면 콘솔에 로그가 나타나며


Spring Tools Spring Boot


Hello Hello가 보인다면 이상 없이 잘 설치가 된것 입니다.

 

 

4. Spring Tool에서 프로젝트 생성

 

이제는 STS에서 프로젝트를 생성해서 테스트를 해보도록 합니다프로젝트를 생성하려면 상단 메뉴에서

 

File > New > Spring Starter Project


를 선택 합니다.


Spring Tools Spring Boot


그러면 프로젝트 생성 팝업이 나오고


Spring Tools Spring Boot


이번에도 별 의미 없이 Namedemo에서 Test로 변경해 보았습니다Next 버튼을 클릭 합니다.


Spring Tools Spring Boot


하단으로 내려가 좌측의 Web을 선택해 주고 Finish 버튼을 클릭해 줍니다.


Spring Tools Spring Boot


설정 값들이 보이는 군요.  Finish 버튼을 클릭해서 프로젝트를 생성 합니다.


프로젝트에 Controller 파일을 하나 생성합니다.  com.example.test에 마우스를 대고 우측 버튼 클릭하여 New > Class 를 선택 합니다.


Spring Tools Spring Boot


Java Class 창에서


Spring Tools Spring Boot


TestController 라고 적고 Finish 버튼을 클릭 하면 java 파일이 생성 됩니다파일을 확장하고


Spring Tools Spring Boot


다음처럼 입력을 하고 저장을 합니다.


 

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

 

@RestController

public class TestController {

 

        @RequestMapping("/")

        public String hello() {

               return "Hello, Spring Boot!";

        }

}


잘 코딩 했는지 실행을 하기 위해 프로젝트명에 마우스를 대고 우측클릭을 하고 이번에도 길어서 좀 잘랐습니다.


Spring Tools Spring Boot


하단으로 내려가 Run As를 찾아 봅니다.


Spring Tools Spring Boot


Run As 에서 Spring Boot App으로 실행을 합니다.


Spring Tools Spring Boot


아무런 오류가 나오지 않았다면 웹 브라우저를 하나 오픈하고 localhost:8080을 입력 하면 내장된 웹서버를 이용하여 Hello, Spring Boot! 가 나타납니다.


Spring Tools Spring Boot


이것도 성공이니 아주 잘 설치가 되었습니다.

'Java' 카테고리의 다른 글

ubuntu oracle java 수동 설치  (6) 2019.06.08
axboot framework 설치  (2) 2019.05.29
maven 이용 spring MVC project 생성  (10) 2019.05.03
maven 설치 및 eclipse 연동  (17) 2019.04.30
Eclipse Apache spring (plug-in) 설치  (0) 2019.04.15

1234567

+ Recent posts