Hello World?

Spring Boot Restful 서비스 개발 본문

JAVA WEB/SPRING

Spring Boot Restful 서비스 개발

쮠이 2018. 7. 4. 14:43

Spring Boot 를 활용하여 웹 서비스를 만들어 보자

 

필요한 것은 이클립스와 이클립스에 설치된 STS 툴이다  구글링을 통해서 가지고 있는 이클립스에 STS를 설치하도록 하자..

 

준비되었다면 프로젝트를 생성하도록 하겠다.

 

1. File - New - Project 를 클릭하여 스프링 부트 스타터 프로젝트를 선택한다

 

 

2. 스프링 스타터 프로젝트 설정창이다 

   Name, Group, Artifact 를 입력한 후 next를 클릭한다

 

 

3. WebService만 체크하고 피니쉬 버튼을 누른다. ( Spring Boot Version을 2.0.1 로 세팅해도 된다 )

   Finish를 누른다

 

 

 

4. 위와 같이 작업을 진행하면, 프로젝트가 생성이 된다. 프로젝트를 생성했을때 오류가 발생한다면 pom.xml 에  

   spring boot 버젼을 낮춰준다

<parent> 		
	<groupId>org.springframework.boot</groupId> 		
	<artifactId>spring-boot-starter-parent</artifactId> 		
	<version>2.0.1.RELEASE</version>
	<relativePath/> 
	<!-- lookup parent from repository --> 	
</parent>

 

5. 반환을 json 타입으로 반환하기 위해 아래 pom파일 처럼 depengeny들을 추가해준다

<!-- JSON 반환을 위한 jackson 라이브러리 추가 --> 		
<dependency> 			
	<groupId>com.fasterxml.jackson.core</groupId> 			
	<artifactId>jackson-databind</artifactId> 		
</dependency>

<dependency> 			
	<groupId>com.fasterxml.jackson.core</groupId> 			
	<artifactId>jackson-core</artifactId> 		
</dependency>  		


<dependency>
	<groupId>org.json</groupId> 			
	<artifactId>json</artifactId> 			
	<version>20180130</version> 		
</dependency>

 

 6. 서버의 포트 설정 및 JSON 반환을 위해 application.properties를 아래와 같이 수정하자

#sefver port setting 
server.port=8080
  
#jackson setting 
spring.jackson.mapper.default-view-inclusion=true  
spring.jackson.deserialization.fail-on-unknown-properties=true  

#http encording 
spring.http.encoding.charset=UTF-8

7. 이제 다왔다.  RestController만 생성하자

    kr.test 아래에 controller 패키지 생성후 TestController 를 생성하고 아래 소스를 입력하자

package kr.test.controller;  

import org.json.JSONObject; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.ResponseBody; 
import org.springframework.web.bind.annotation.RestController;  

@RestController public class TestController {  	
	/** 	 
	* 인삿말을 반환한다 	 
	* @return json 형식의 값을 반환한다 	 
	*/ 	
	@ResponseBody 	@RequestMapping(value = "/hello", method = RequestMethod.GET) 	
	public String hello() { 		
		JSONObject obj = new JSONObject(); 		
		obj.put("result", "OK" ); 		
		obj.put("hello", "안녕하세요?"); 		 		
		
		return obj.toString(); 	
	} 
}

 

8. 서비스를 시작하면 8080 포트로 서비스가 시작되는걸 볼수 있다

 

 

위 로그를 보면 8080으로 내장 톰켓 웹 서버가 구동된걸 볼수 있다

 

 

기본적인 웹 서비스 개발은 끝났다. 테스트를 해보도록 하자~!

브라우져에 http://localhost:8080/hello 을 입력하면, 아래와 같이 보이면 완료된다.

 

{"result":"OK","hello":"안녕하세요?"}

 

 

이상 기본적인 웹 서비스를 개발해 보았다. 위 소스는 샘플을 개발한 것일뿐, 사실상 security authentication 같은 정보들은 빠져있다.

다음에는 보안처리가 들어간 웹 서비스를 개발해 보도록 하자