본문 바로가기
(멘토링 1)시각화 페이지 구축_강의/3주차: Spring: RestController, DataBinding

1. Spring : RestController을 이용한 데이터 처리(jackson)

by 디벨로펀 2019. 8. 23.

요약과 같이 url로 호출 시 리스트형식의 json을 받기 위해

RestController를 위한 설정을 먼저 수행해야 합니다.

 

1) json을 이용하기 위한 Jackson library를 추가합니다.

pom.xml에 jackson 관련 library를 추가 후 저장하면 자동으로 library를 mvnrepository에서 가져옵니다.

 

1
2
3
4
5
6
7
8
9
10
11
 <!-- jackson -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.2</version>
        </dependency>
 
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

 

2) restController를 구현하기 위한 restController.java 파일을 아래의 구조와 같이 만듭니다.

restController.java

 

3) restContoller 파일 작성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@RestController
public class restController {
    
    private static final Logger logger = LoggerFactory.getLogger(restController.class);
    
    @Inject
    private MovieService service;
    
    /**
     * Simply selects the home view to render by returning its name.
     */
    @RequestMapping(value = "/restex")
    public List<MovieVO> movieList() throws Exception{
 
        logger.info("home");
        
        List<MovieVO> movieList = service.selectMovie();
        
        //model.addAttribute("movieList", movieList);
 
        return movieList;
    }
    
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

restController의 코드는 위와 같습니다.

RestController는 settingweb 개발환경구성시 이용한 HomeController 을 간단히 수정했으니

해당코드를 복사하여 변경하셔도 무방합니다.

HomeController와 다른 점이 있다면 Annotation이 @Controller에서 @RestController로 변경되고

url로 mapping할 수 있도록 도와주는 @RequestMapping하는 부분을 /restex로 변경했습니다.

 

즉,

localhost:8080/visualize_pilot/restex를 url창에 호출하면 아래와 같은 movieList 값을 가져올 수 있습니다.

RestController를 이용한 List<json> 리턴

 

댓글