Spring REST _ REST 방식 댓글 조회 기능 구현

dwanGim·2022년 6월 16일
0

spring_basic

목록 보기
12/41

@GetMapping 댓글 조회

전체 댓글 목록을 조회하는 list 메서드를 생성해봅시다.

이번엔 파라미터에 @PathVariable 어노테이션을 사용해볼 겁니다.

이는 상단의 {bno}자리에 들어온 요소를

?bno = {bno} 와 같이 간주한다는 의미입니다.

그리고 produces를 확장해서 XML, JSON을 모두 다루게 해보겠습니다.

단일 숫자데이터 bno를 받도록 @PathVariable을 설정했습니다.

PathVariable 어노테이션으로 이미 입력데이터가

명시되었으므로 consumes는 따로 주지 않아도 됩니다.

produces는 댓글 목록이 XML로도, JSON으로도 표현될 수 있도록

MediaType.APPLICATION_ATOM_XML_VALUE
MediaType.APPLICATION_JSON_UTF8_VALUE

를 명시해주었습니다.

pom.xml에 jackson-dataformal-xml을 추가해놓았기 때문에

xml에서도 정상 작동합니다.

빈 Entity 생성 후에 try catch 구문 내부에서 서비스를 호출하고

에러 시 디버깅도 작성해줍니다.

모든 작업이 끝난 후 entity를 return하면

비동기 list 호출이 가능해졌습니다.

비동기 list 호출

어제 댓글 하나를 작성해보았던

1311020 번 글의 댓글 list를 호출해보겠습니다.

YARC에서 알맞은 URL을 입력 후 GET 방식으로 동작하면

좋습니다.

아래는 컨트롤러 내부의 list 메서드 전문입니다.

	@GetMapping(value="/all/{bno}",
			produces = {MediaType.APPLICATION_ATOM_XML_VALUE ,
						MediaType.APPLICATION_JSON_UTF8_VALUE})
	public ResponseEntity<List<ReplyVO>> list (@PathVariable("bno") Long bno) {
		
		ResponseEntity<List<ReplyVO>> entity = null;
		
		try {
			
			entity = new ResponseEntity<>(service.listReply(bno), HttpStatus.OK);
			
			} catch (Exception e) {
			
			e.printStackTrace();
			entity = new ResponseEntity<>(HttpStatus.BAD_REQUEST);
					
		}
		return entity;
	}
	

Get방식이기 때문에 서버가 켜져 있으면

브라우저에서도 조회가 가능합니다.

.json으로 한 번 조회해보겠습니다.

아주 좋습니다.

profile
배울 게 참 많네요.

0개의 댓글