본문 바로가기

공부/타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)

프로젝트: Node.js 기반의 REST API 구현(6)-books.js-method 동일 할 때 query || body || params의 값으로 조건문 판별해서 코드 실행시키기

✨ver1의 설계로 DB, Node.js 코드 구현해보기

BookController.js

 

이미지경로 컬럼 DB에 넣고 API로 뿌려주기

참고사이트:

https://picsum.photos/images

 

Lorem Picsum

Lorem Ipsum... but for photos

picsum.photos

 

 

https://picsum.photos/id/1/200/300

이 사이트에서의 활용법은, url은 고정이고 id값만 바뀌면 사진이 변경된다.

그래서 우리는 DB에 int로 된 id값을 넣어주고 요청시 프론트로 값을 넘겨주면 된다.

 

이런 방법이 아니라면, 서버에 이미지 파일을 넣고, 그 경로를 DB에 넣어주고 요청시 프론트로 넘긴다.

: 일단 서버가 있어야하고, 파일도 업로드 되어야하며,

업로드 될때 그 경로를 DB에 넣어주어 그 값으로 사용한다.

 

💢카테고리별 도서조회 이슈💢

별 생각없이 루트는 같고 쿼리스트링을 가지고 오기때문에

별 문제가 없을것이라고 생각했지만,

같은 get에 경로도 같으니 우선순위에서 밀려버렸다.

 

❓어떻게 해야할까?

동일한 경로에 같은 method를 사용할 수 없다❗❗

2개 이상이 있다면 두 번째 get method는 무시되거나 오류가 생긴다.

따라서 하나의 method를 생성하고, 그 안에서 내가 필요한 쿼리스트링이 있으면,

내가 원하는 컨트롤러를 불러서 사용하면 된다.

루트파일에서 조건문을 사용하거나, 컨트롤러에서 조건문을 사용하면 된다.

 

🔥카테고리 연결하기

지금 DB 테이블의 카테고리 컬럼은 id int 값으로 들어온다.

그냥 뿌려줘도 문제가 있는것은 아니지만,

카테고리의 row가 많아질수록 서로 헷갈릴 수 있으므로,

백엔드에서 먼저 카테고리 테이블의 id값과 장르를 연결해서 뿌려주는것이 좋다.

 

도서 카테고리 연결을 위한 카테고리 API

1. 전체 카테고리

Method GET
URI /category
HTTP status code 성공 200
Request Body  
Response Body [
    {
        "id" : 0,
        "name" : "동화"
    },
    {
        "id" : 1,
        "name" : "소설"
    },
    ...
]

2. 개별 카테고리

Method GET
URI /category/:{category_id}
HTTP status code 성공 200
Request Body  
Response Body {
    "id" : 0,
    "name" : "동화"
}

CategoryController.js