ReplyController.java > SPRING1

본문 바로가기
사이트 내 전체검색

SPRING1

ReplyController.java

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 131회 작성일 24-07-31 16:11

본문

package com.pkt.controller;


import java.util.HashMap;

import java.util.List;

import java.util.Map;


import org.springframework.http.HttpStatus;

import org.springframework.http.ResponseEntity;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RestController;


import com.pkt.model.Criteria;

import com.pkt.model.PageMaker;

import com.pkt.model.ReplyVO;

import com.pkt.service.ReplyService;


import lombok.AllArgsConstructor;

import lombok.extern.log4j.Log4j;


@RestController

@Log4j

@RequestMapping("/replies/")

@AllArgsConstructor

public class ReplyController {


private ReplyService service;


//리턴 타입 ResponseEntity<String> entity 설계

//새로운 댓글을 등록 실패시 BAD_REQUEST(400)를 결과로 전송된다.

//JSON으로 전송된 데이터를 ReplyVO타입의 객체(vo)로 변환해주는 역할을 @RequestBody가 한다.

//글 등록

@RequestMapping(value = "", method = RequestMethod.POST)

public String register(@RequestBody ReplyVO vo) {

log.info("댓글 등록..................");


service.addReply(vo);


return "success";

}


//@RequestMapping()을 보면 URI 내의 경로에 {bno}를 활용한다.

//{bno}는 메소드의 파라미터에서 @PathVariable("bno")로 활용된다.

//글 목록

@RequestMapping(value = "/all/{bno}", method = RequestMethod.GET)

public List<ReplyVO> list(@PathVariable("bno") Integer bno) {


return service.listReply(bno);

}


//글 수정

@RequestMapping(value = "/{rno}", method = { RequestMethod.PUT, RequestMethod.PATCH })

public String update(@PathVariable("rno") Integer rno, @RequestBody ReplyVO vo) {


vo.setRno(rno);

service.modifyReply(vo);


return "success";

}


//글 삭제

@RequestMapping(value = "/{rno}", method = RequestMethod.DELETE)

public String remove(@PathVariable("rno") Integer rno) {


service.removeReply(rno);


return "success";

}


// - /replies/게시물 번호/페이지 번호

//페이징 처리를 위해서는 PageMaker를 가져와야 한다.

//Ajax로 호출될 것이므로 Model 아닌 Map 타입의 객체를 생성 이용한다.

//페이징 처리

@RequestMapping(value = "/{bno}/{page}", method = RequestMethod.GET)

public Map<String, Object> listPage2(

@PathVariable("bno") Integer bno,

@PathVariable("page") Integer page) {


Criteria cri = new Criteria();

cri.setPage(page);


PageMaker pageMaker = new PageMaker();

pageMaker.setCri(cri);


int replyCount = service.count(bno);

pageMaker.setTotalCount(replyCount);


List<ReplyVO> list = service.listReplyPage(bno, cri);


Map<String, Object> map = new HashMap<String, Object>();


map.put("list", list);

map.put("pageMaker", pageMaker);


return map;

}

}

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
21
어제
185
최대
10,760
전체
271,156
Copyright © dancePKT . All rights reserved.