[REST API]페이지 전달방식

Rest 방식의 사용원칙

  • URI가 원하는 리소스를 의미한다. (영어 복수형으로 주소를 사용)
  • URI에는 식별할 수 있는 데이터를 전달하는것이 일반적인 방법
  • 예를들어 게시판 - CRUD 이라면 사용가능한 주소형태는 아래와 같다.
    • …/boards/123 => 123번 글을 조회
    • …/boards/123/replies/11 => 123번글의 11번째 댓글 조회
    • …/boards/123/11 => 123번글의 11번째 댓글 조회
    • …/boards/ => 신규 글용 작성
Read More

[REST API]ResponseEntity 타입클래스

@RestController의 한계

@RestController는 결과로 view를 제공하지 않기때문에 에러 발생유무를 확인할 수 없다.
이때 사용할 수 있는 것이 웹 HTTP 상태 코드이다.

Read More

[SQL]더미데이터 쉽게 쌓기

쉽게 더미데이터 쌓기

테이블 구조는 아래와 같다

1
2
3
4
5
6
7
8
9
10
11
12
mysql> desc tbl_board;
+---------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+-------------------+----------------+
| bno | int(11) | NO | PRI | NULL | auto_increment |
| title | varchar(200) | NO | | NULL | |
| content | text | YES | | NULL | |
| writer | varchar(200) | NO | | NULL | |
| regdate | timestamp | NO | | CURRENT_TIMESTAMP | |
| viewcnt | int(11) | YES | | NULL | |
+---------+--------------+------+-----+-------------------+----------------+
6 rows in set (0.03 sec)

tbl_board 테이블에 데이터 한 줄 입력한 뒤 아래의 쿼리를 실행하면 전체 행의 2배씩 데이터가 쌓인다.
예를들어

  • 데이터가 1행들어있고 아래 쿼리 한번 실행 => 총 데이터 2행
  • 한번 더 쿼리 실행 => 총 데이터 4행
  • 한번 더 쿼리 실행 => 총 데이터 8행
  • 한번 더 쿼리 실행 => 총 데이터 16행
    등등
1
2
S> insert into  tbl_board (title,content,writer)
(select title,content,writer from tbl_board);

[스프링SPRING]스프링게시판5: 글 수정, 글 삭제

BoardController.java 코드 추가

  • @SessionAttributes() : 컨트롤러의 정보를 저장하는 어노테이션
  • 기존 Session객체와 다른 점 : 서버단 전체에서 저장한 정보를 이용할 수 있다. 반면 @SessionAttributes()은 해당 컨트롤러안에서만 저장한 데이터를 이용할 수 있다.
Read More

[스프링SPRING]스프링게시판4: 글 상세 내용 보기

BoardController.java 코드 추가

  • @ModelAttribute 와 @RequestParam 란
    • @ModelAttribute : model객체를 사용하는 것이므로 주소줄에 나타나지 않게 할 수 있다.
    • @RequestParam : request.getParameter()와 동일한 의미로 사용하나 String뿐만 아니라 데이터타입 상관없이 처리가능 하다.(문자열, 정수형, 날짜) => 단순 타입(ex기본형 데이터등)은 어노테이션 생략가능.
Read More