12주차 과제
POST 생성
GET 요청
PUT 업데이트
DELETE 삭제
CREATE TABLE project.account (
idx SERIAL PRIMARY KEY,
id VARCHAR(20) UNIQUE NOT NULL,
pw VARCHAR(30) NOT NULL,
name VARCHAR(20) NOT NULL,
tell VARCHAR(20) UNIQUE NOT NULL,
admin INTEGER CHECK (admin IN (1, 2)),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
CREATE TABLE project.category (
idx SERIAL PRIMARY KEY,
name VARCHAR(20) );
CREATE TABLE project.article (
idx SERIAL PRIMARY KEY,
account_idx INT NOT NULL,
title VARCHAR(40) NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
category_idx INT,
FOREIGN KEY (account_idx) REFERENCES project.account(idx) ON DELETE CASCADE,
FOREIGN KEY (category_idx) REFERENCES project.category(idx) ON DELETE SET NULL );
CREATE TABLE project.article_like (
article_idx INT,
account_idx INT,
FOREIGN KEY (article_idx) REFERENCES project.article(idx) ON DELETE CASCADE,
FOREIGN KEY (account_idx) REFERENCES project.account(idx) ON DELETE CASCADE,
PRIMARY KEY (article_idx, account_idx) );
CREATE TABLE project.article_image(
article_idx INT,
url TEXT,
FOREIGN KEY (article_idx ) REFERENCES project.article(idx) ON DELETE CASCADE
);
CREATE TABLE project.comment (
idx SERIAL PRIMARY KEY,
account_idx INT NOT NULL,
article_idx INT NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (article_idx) REFERENCES project.article(idx) ON DELETE CASCADE,
FOREIGN KEY (account_idx) REFERENCES project.account(idx) ON DELETE CASCADE );
CREATE TABLE project.comment_like (
comment_idx INT,
account_idx INT,
FOREIGN KEY (comment_idx) REFERENCES project.comment(idx) ON DELETE CASCADE,
FOREIGN KEY (account_idx) REFERENCES project.account(idx) ON DELETE CASCADE,
PRIMARY KEY (comment_idx, account_idx) );
게시글 좋아요
idx(P) / 게시글 idx(F) / account_id(F) (좋아요를 누른 사용자)
댓글 좋아요
idx(P) / 댓글 idx(F) / account_id(F) (좋아요를 누른 사용자)
1. 로그인 기능 post '/ users/in'
body
보내주어야 하는 값: id ,pw
받아오는 값: x
2. 회원가입 기능 POST '/users'
body
보내주어야 하는 값: id ,pw,tell, name
받아오는 값: x
3. 아이디 찾기 기능 GET'users/id'
body
보내주어야 하는 값: name ,tell
받아오는 값: x
4. 비밀번호 찾기 기능 GET ' users/ pw'
body
보내주어야 하는 값: id ,tell
받아오는 값: x
5. 내정보 보기 기능 GET '/users/information/my'
param
보내주어야 하는 값: x
받아오는 값: id,tell,name
6. 내정보 수정 기능 PUT '/users /information/my'
body
보내주어야 하는 값: pw,tell, name
받아오는 값: x
7 회원 탈퇴 DELETE '/users/my'
param
보내주어야 하는 값: x
받아오는 값: x
8. 게시글 쓰기 기능 POST ' /boards'
body
보내주어야 하는 값: title, content
받아오는 값: x
9. 게시글 읽기 기능 GET '/boards/detail'
param // 왜 하필 param ???
보내주어야 하는 값: idx
받아오는 값: title, content
10.게시글 수정 기능 PUT '/boards'
body
보내주어야 하는 값: idx, title, content
받아오는 값: x
11.게시글 삭제 기능 DELETE '/boards'
param
보내주어야 하는 값: idx
받아오는 값: x
12.댓글 쓰기 POST '/comments'
body
보내주어야 하는 값: board_idx,content
받아오는 값: x
13.댓글 읽기 GET '/comments'
PARAM
보내주어야 하는 값: idx
받아오는 값: id,content
14.댓글 수정 PUT '/comments'
body
보내주어야 하는 값: idx, content
받아오는 값: x
15.댓글 삭제 DELETE '/comments'
param
보내주어야 하는 값: idx
받아오는 값: x
16. 카테고리 불러오기
GET / 'category/list'
param
보내주어야 하는 값 :
받아오는 값 :
17. 게시글 좋아요 수 불러오기
GET / 'board/{board_idx}/like'
param
보내주어야 하는 값 : board_idx
받아오는 값 : count값
18. 댓글 좋아요 수 불러오기
GET / 'comment/{comment_idx}/like'
param
보내주어야 하는 값 : comment_idx
받아오는 값 : count 값