Spring REST_ RestController와 JSON 리턴

dwanGim·2022년 6월 15일
1

spring_basic

목록 보기
10/41

객체 리스트 JSON 리턴

객체 리스트를 JSON리턴 해보겠습니다.

	@RequestMapping("/sendVOList") 
	public List<TestVO> sendVoList() {
		
		List<TestVO> list = new ArrayList<>();
		
		for (int i=0; i<10; i++) {
			TestVO vo = new TestVO();
			vo.setMno(i);
			vo.setName(i + "JSON");
			vo.setAge(20 + i);
			list.add(vo);
		}
		
		return list;
	}
	

객체 List를 return 해주는 sendVOList 메서드입니다.

해당 url로 접속해보면

List 단위로 묶인 VO 하나씩 리턴해주고 있습니다.


Map 자료형의 JSON 리턴

Map도 보내봅시다.

중첩된 JSON 내부의 JSON으로 리턴되고 있습니다.



응답 타입을 조절하는 ResponseEntity

서버는 요청을 처리하며, 결과로 코드를 함께 전송합니다.

ResponseEntity를 사용하면 개발자가 의도한 타이밍에

의도한 응답을 사용자에게 전달할 수 있습니다.

ResponseEntity를 이용해 강제로 400에러와 404

를 발생시켜 보겠습니다.

HttpStatus객체를 ResponseEntity 객체의 생성자로 넣어

return 구문에 제공하면 됩니다.

	@RequestMapping("/sendErrorAuth")
	public ResponseEntity<Void> sendListAuth() {
		
		return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
	}
	
	@RequestMapping("/sendErrorNot")
	public ResponseEntity<List<TestVO>> sendListNot() {
		
		List<TestVO> list = new ArrayList<>();
		for (int i=0; i<10; i++) {
			TestVO vo = new TestVO();
			vo.setMno(i);
			vo.setName(i + "json");
			vo.setAge(20 + i);
			list.add(vo);
		}
		
		return 
				new ResponseEntity<List<TestVO>>(
						list, HttpStatus.NOT_FOUND);
	}
	
	

일단은 여기까지 입니다.

profile
배울 게 참 많네요.

0개의 댓글