Spring boot

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

z00h 2021. 9. 28. 18:49

 

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으로 보냈을때에만 정상적으로 응답이옴