본문 바로가기
Spring boot

Springboot (collection으로 json list 리턴받기)

by z00h 2021. 9. 28.

 

collection으로 json list 리턴받기

 

간단한 list를 생성 시키기 위해 먼저 BoardController.java에 추가

 

 

위의 코드를 만들게 되고 DTO class를 생성시킨다.

 

 

DTO class란: Board라는 테이블에 담긴 row 데이터를 담음 (테이블 속성, 멤버 변수 1개의 객체당 1개의 로우로 구성)

BoilerPlate라고 하는데 Boiler plate란 코드 구조에 따라 변수 이름만 바뀔 뿐 반복되는 코드들, 표준화된 어플리케이션의 구조패턴) 즉 멤버변수의 이름은 다르지만 생김새는 같은것

 

 

 

 

BoardController.java

package kr.ac.daegu.springbootapi.controller;

import kr.ac.daegu.springbootapi.model.TestDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpMethod;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

@RestController
@Slf4j
public class BoardController {

    @RequestMapping(value = "/")
    public List<TestDTO> rootTest() throws Exception {
        log.trace("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
        log.debug("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
        log.info("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
        log.warn("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
        log.error("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~");


        // 간단한 list 생성
        List<TestDTO> testList = new ArrayList<TestDTO>();
        testList.add(new TestDTO(1, "name1"));
        testList.add(new TestDTO(2, "name2"));
        testList.add(new TestDTO(3, "name3"));


        return testList;
    }
}

 

여기서 @RestController란 controller라는것을 명시.

@RequestMapping이란 슬래쉬를 붙였을때 코드의 요청을 만들어서 리턴시켜라 겟방식 명시

그리고 마지막에 리스트를 반환해야 넣을수 있음

 

 

 

 

TestDTO.java

package kr.ac.daegu.springbootapi.model;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

@AllArgsConstructor
@Getter
@Setter
public class TestDTO {
    private int num;
    private String name;

}

 

 

 

 

 

postman에 데이터를 보냈을때의 결과

 

 

왼쪽이 REQUEST, 오른쪽이 RESPONSE

결과를 확인하였을때 잘 나오는 것을 볼 수 있다.

 

 

 

 

그리고 18번째 줄의 @GetMapping은 Get방식으로 값을 보내고

만약 18번째 줄이 @PostMapping이면 Post방식으로 값을 보내어 그에 따른 결과가 나타난다.

 

 

 

GetMpping 결과

 

get으로 보냈을 경우

 

 

post로 보냈을 경우

 

따라서 Get으로 보냈을때에만 정상적으로 응답이옴