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