Ajax 배우기 : jQuery - AJAX load() Method
AJAX는 Java쪽에서 하는것이고 REST는 서버쪽에서 하는 것
동기 URL - /board/view.do?no=~
+ 댓글 등록과 수정에 사용하는 폼
+ 댓글 리스트 공간
+ 비동기 URL
- /reply/list.do
: get 방식 - 동기 URL 처리 후 바로 동작, 댓글 등록 / 수정 /삭제 되면 바로 동작
- /reply/write.do
: post 방식 - 댓글 등록 처리
- /reply/updat.do
: post 방식 - 댓글 수정 처리
- /reply/delete.do
: delete 방식 - 댓글 삭제 처리
REST 컨트롤러는 특별한 라이브러리가 필요하지는 않다.
Spring 4 버전 이상이면 사용 가능 하다.
@GetMapping(value = "/getText", produces = "text/plain; charset=UTF-8")
public String getText() {
log.info("MIME TYPE: " + MediaType.TEXT_PLAIN_VALUE);
return "안녕하세요";
}
@GetMapping(value = "/getVO",
produces = {MediaType.APPLICATION_JSON_UTF8_VALUE,
MediaType.APPLICATION_XML_VALUE})
public BoardVO getVO() {
BoardVO vo = new BoardVO();
vo.setNo(10);
vo.setTitle("제목입니다.");
return vo;
}
@GetMapping(value = "/getList",
produces = {MediaType.APPLICATION_JSON_UTF8_VALUE,
MediaType.APPLICATION_XML_VALUE})
public List<BoardVO> getList() {
List<BoardVO> list = new ArrayList<BoardVO>();
BoardVO vo = new BoardVO();
vo.setNo(10);
vo.setTitle("제목입니다.");
list.add(vo);
BoardVO vo2 = new BoardVO();
vo2.setNo(11);
vo2.setTitle("제목입니다1.");
list.add(vo2);
return list;
}
@GetMapping(value = "/getMap",
produces = {MediaType.APPLICATION_JSON_UTF8_VALUE,
MediaType.APPLICATION_XML_VALUE})
public Map<String, Object> getMap() {
List<BoardVO> list = new ArrayList<BoardVO>();
BoardVO vo = new BoardVO();
vo.setNo(10);
vo.setTitle("제목입니다.");
list.add(vo);
BoardVO vo2 = new BoardVO();
vo2.setNo(11);
vo2.setTitle("제목입니다1.");
list.add(vo2);
PageObject pageObject = new PageObject();
// list와 pageObject를 동시에 넘긴다.
// 자바는 return을 한개만 할 수 있기 때문에 Map을 쓴다.
// 1. 맵 생성
Map<String, Object> map = new HashMap<String, Object>();
// 2. 생성한 Map에 list와 pageObject를 담는다.
map.put("list", list);
map.put("pageObject", pageObject);
// 3. map을 리턴
return map;
}
@GetMapping(value = "/check", params = { "height", "weight" })
public ResponseEntity<BoardVO> check(Double height, Double weight){
log.info("height : " + height + ", weight : " + weight);
ResponseEntity<BoardVO> result = null;
BoardVO vo = new BoardVO();
vo.setNo(10);
vo.setTitle("제목입니다.");
if(height < 150) {
result = ResponseEntity.status(HttpStatus.BAD_GATEWAY).body(vo);
} else {
result = new ResponseEntity<BoardVO>(vo, HttpStatus.OK);
}
return result;
}
작업 - 전송방식
Create 등록 - POST
Read 조회 - GET
Update 수정 - PUT
Delete 삭제 - DELETE
spring0320 - 게시판 리스트, 보기, 등록, 수정 삭제 완성
ex03 - 게시판 리스트,보기,등록,수정,삭제 완성 된 것에 댓글 추가