카테고리 없음

12주차 과제

jjon-jonny 2024. 6. 29. 09:36

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 값