[B -2-36] Ajax 댓글 처리 9

2019. 10. 8. 22:33Project B (SPMS)/Project B 파트5

반응형

특정 게시글의 댓글 목록 확인

 

src/main/java

com.spms.controller

ReplyController.java

getList()

 

...더보기
package com.spms.controller;

import java.util.List;

import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.spms.domain.Criteria;
import com.spms.domain.ReplyVO;
import com.spms.service.ReplyService;

import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j;

@RequestMapping("/replies/")
@RestController
@Log4j
@AllArgsConstructor
public class ReplyController {
	private ReplyService replyService;

	@PostMapping(value = "/new", consumes = "application/json", produces = { MediaType.TEXT_PLAIN_VALUE })
	public ResponseEntity<String> create(@RequestBody ReplyVO reply) {

		log.info("ReplyVO: " + reply);

		int insertCount = replyService.register(reply);

		log.info("Reply INSERT COUNT: " + insertCount);

		return insertCount == 1 ? new ResponseEntity<>("success", HttpStatus.OK)
				: new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
	}
	
	 @GetMapping(value = "/pages/{bno}/{page}", 
			 	 produces = {
			 			 MediaType.APPLICATION_XML_VALUE,
			 			 MediaType.APPLICATION_JSON_UTF8_VALUE 
	 })
	 public ResponseEntity<List<ReplyVO>> getList(
		 @PathVariable("page") int page,
		 @PathVariable("bno") Long bno) {

		 log.info("getList.................");
		 Criteria cri = new Criteria(page,10);
		 log.info(cri);

		 return new ResponseEntity<>(replyService.getList(cri, bno), HttpStatus.OK);
	 }
}

 

Criteria를 이용해서 파라미터를 수집하는데,

/{bno}/{page} page 값은 Criteria를 생성해서 직접 처리해야한다.

게시물의 번호@PathVariable을 이용해서 파라미터로 처리하고 브라우저에서 아래와 같이 테스트한다.

 


XML 타입 댓글 조회 테스트 확인

http://localhost/replies/pages/{bno}/1

 

 


JSON 타입 댓글 조회 테스트 확인

http://localhost/replies/pages/524314/1.json

 

 

 

 

반응형

'Project B (SPMS) > Project B 파트5' 카테고리의 다른 글

[B -2-38] Ajax 댓글 처리 11  (0) 2019.10.09
[B -2-37] Ajax 댓글 처리 10  (0) 2019.10.08
[B -2-35] Ajax 댓글 처리 8  (0) 2019.10.06
[B -2-34] Ajax 댓글 처리 7  (0) 2019.10.06
[B -2-33] Ajax 댓글 처리 6  (0) 2019.10.06