HomeWork 5
수업 영상 링크: link – 작년(2021) 녹화 영상입니다.
- due date:
- 3가지 파일을 본인 Github에 올려주세요!
- 세미나5에서 다룬 내용을 HW를 통해 복습해봅시다!
- 세미나 때 작성한 코드와 로직이 동일합니다. 다만, 이전 코드를 복붙하는 것은 지양해주세요. 여러분의 실력 향상을 도움이 되지 않습니다 ㅠㅠ 이전 코드는 참조만 하고, 직접 타이핑해서 코드를 작성해주세요!
P1. 음식 데이터베이스
localhost:8080/food
에 접속하면 음식에 대한 데이터베이스에 CRUD 연산을 할 수 있는 서버를 작성해주세요.
공통 지시사항
- 데이터베이스는
poapper_backend
를 그대로 사용해주세요. - 테이블은
foods
라는 이름으로 생성하고, 다음의 컬럼을 가지도록 디자인 해주세요.id
: Primary Key, auto incrementname
: string, not nullkcal
: number, not nullisVegan
: boolean- 테이블 작성을 위한 SQL 명령어는 따로 제공하지 않습니다. 적절한 테이블을 스스로 디자인 해주세요! 그 과정에서 필요한 명령어를 찾는 것 역시 HW에 포함됩니다!
- 테이블을 만들 때, 사용했던 SQL 명령어를
myql_table.txt
의 이름으로 저장하여 함께 제출해주세요. POST
와PUT
을 구현할 때, request body를 이용해 구현해주세요.- (중요!) 보안을 위해 파일을 제출할 때, DB connection의
password
에 있는 본인의 password를 지우고 제출해주세요!
예를 들어,
var db = mysql.createConnection({
host:'localhost',
user:'root',
password:'password', // 본인의 비번이 담긴 이 부분을 수정해서 제출하시면 됩니다!
database:'poapper_backend'
});
예시
GET localhost:8080/food
로 접속하면,foods
테이블에 담긴 모든 음식 정보를 response를 통해 얻음.GET localhost:8080/food/[id]
로 접속하면,foods
테이블에 담긴id=[id]
인 음식의 정보를 response를 통해 얻음.POST localhost:8080/food
와 request body의 값을 통해foods
테이블에 body에 담긴 음식 정보를 저장함.
P2. 음식 데이터베이스: 비건 음식만 얻기
문제1에서 구현한 서버에서 하나의 기능을 더 추가합니다.
GET localhost:8080/food/isVegan
에 접속하면, 데이터베이스에 저장된 모든 비건 음식을 response를 통해 얻을 수 있도록 디자인 합니다.
- P1과 P2를 하나의
Food.js
파일에 제출하시면 됩니다! - hint:
SELECT * FROM foods WHERE ...
를 통해 얻은 값의 집합을 탐색합니다.