String Controller로 JSON Array를 넘길일이 종종 있다. 귀찮으면 쪼개거나 String으로 받아 Json parsing을 하는 방식이 있는데, 이래저래 귀찮은 것은 마찬가지다.
그럼 아래와 같은 Json을 넘겨보자.
{
"items": [
{
"name" : "dog1",
"age" : 2
},
{
"name" : "dog2",
"age" : 4
}
]
}
일단, 위와 같은 모양으로 class를 만들어 준다.
// TestBody.java
import java.util.List;
import lombok.Data;
@Data
public class TestBody {
private List<Test> items;
}
// Test.java
import lombok.Data;
@Data
public class Test {
private String name;
private Integer age;
}
그리고 컨트롤러의 RequestBody에 넣어 준다.
@PostMapping(value = "/test", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public String test(
HttpServletRequest request,
@Parameter(description = "test", required = true) @RequestBody TestBody test
) throws Exception {
test.getItems().forEach(d -> {
logger.info("Name : " + d.getName());
logger.info("Age : " + d.getAge());
});
logger.info(test.getItems().size() + "");
return "bye";
}
받아서 찍어보면 아래와 같이 나오는 것을 알 수 있다.
너무 간단한가?
'놀기 > 잡스러운 것' 카테고리의 다른 글
포스트맨(Postman)으로 REQUEST 만들기 (0) | 2021.10.11 |
---|---|
SPI 연결 테스트 (0) | 2021.09.14 |
JSON으로 VO (DTO) 복사하기 (초보자 전용) (0) | 2021.08.07 |
구글 트렌드 (Google Trends) RSS 읽기 (0) | 2021.07.31 |
티스토리(tistory) 접은글 모양 변경하기 (왕초보용) (1) | 2021.07.29 |
댓글