728x90
9주 1일차 - state airline server
1. 배운 것
- req.body
- req.params
- req.query
- 딥다이브 17장 - 생성자 함수에 의한 객체 생성(깃에 정리)
2. 내용 정리
종합퀴즈
- app.use가 다른 라우터보다 위에 있어야 아래 라우터의 요청들에 app.use의 미들웨어가 적용된다.
- 단순 요청(Simple Request)은 프리플라이트 요청(Preflight Request)을 생략하는 요청으로 Express 미들웨어와를 사용하는 상황으로 보기는 어렵습니다. 단순 요청은 만족시켜야 하는 조건들이 많습니다.
- GET, HEAD, POST 요청 중 하나여야 합니다.
- 자동으로 설정되는 헤더 외에, Accept, Accept-Language, Content-Language, Content-Type 헤더의 값만 수동으로 설정할 수 있습니다. Content-Type 헤더에는 application/x-www-form-urlencoded, multipart/form-data, text/plain 값만 허용됩니다.
줌 세션 - refactor express 설명
- 미들웨어는 요청과 응답의 중간에 위치하여 요청에 미들웨어의 동작을 실행한 응답을 보낸다.
- json 형태가 아닌 데이터를 json으로 파싱하려고 하면 Unexpected token o in JSON at position 1 at JSON.parse 에러 발생. (예시: 일반 객체를 JSON.parse(객체)한 경우)
- express.json() 한다고 다 바뀌는게 아니라 post 요청의 body로 받아줄 수 있는 기본값은 배열과 객체만 accept. 따라서 strict를 false로 바꿔줘야 클라이언트의 입력값이 배열이나 객체가 아니라 string이어도 가져올 수 있음. express.json({ strict: false}); 해줘야 함.
- nodejs로 구현할때는 따로 json형식으로 안바꿔줘도 되는 것인지?
- postman으로만 테스팅할땐 클라이언트가 없었기 때문에 cors 에러가 안 떴지만 브라우저에서 테스트 하려면 cors 권한 요청을 허가해주어야 한다. npm i cors 하고 app.use(cors());
- 데이터는 JSON으로 요청이 오고 JSON으로 응답해야 한다. 요청 JSON 데이터를 자바스크립트 코드로 파싱해서 사용하기 위해 app.use(express.json()) 하고 응답을 JSON 데이터로 보내기 위해 res.json()으로 JSON데이터로 바꿔 응답.
줌 세션 - state airline server 설명
- 공식문서로 모르는 부분을 찾고 문제해결하는 습관을 기르자. 현재 코드에서 db쪽 코드가 추가된 형태가 백엔드 코드임. db가 없기 때문에 빈 배열을 만들고 db라고 가정하고 진행했음.
- app.use를 라우터 분기할 때도 사용한다. app.use(path, 콜백함수) 하위 경로를 root경로로 지정해서 라우터 분기 횟수를 줄여줄 수 있음.
- MVC 패턴 사용 시 라우터는 controller 로 조작. → 모델, 뷰, 컨트롤러
- req.query = 쿼리와 값을 프로퍼티로 가지는 객체를 반환
- req.query.쿼리명 = 쿼리 값을 반환
- res.location(/book/${flight_uuid}) → REST 성숙도 모델 3단계: 요청에 대한 링크를 함께 응답으로 전송.
참고 자료
3. 리뷰
3.1 좋았던 점
3.2 아쉬웠던 점
3.3 notes
슬럼프가 너무 오래 간다. 아무래도 지금 좀 긴 산책이 필요할 것 같다. 지난 주말에 해결할 수 있을 줄 알았는데 더 심해진 것 같다. 나갔다 와서는 좀 마음의 안정을 찾을수 있길.
4. 할 일
728x90
'기록 > 코드스테이츠 프론트엔드' 카테고리의 다른 글
9주 4일차 - 재귀, dp (0) | 2022.06.23 |
---|---|
9주 3일차 - 섹션2 회고, 재귀, dp (2) | 2022.06.22 |
8주차 주말 - express로 api 서버 만들기 (2) | 2022.06.20 |
8주 5일차 - Refactor Express (0) | 2022.06.17 |
8주 4일차 - CORS, express (0) | 2022.06.16 |