본문 바로가기
개인공부/TIL

2월9일

by 뭉지야 2023. 2. 10.
728x90

#express.js
-express.js는 자바스크립트에서 인기있는 프레임워크인 MERN stack(MongoDB, Express, React, Node)중 하나로, node.js환경에서
웹서버 또는 API서버를 제작하기 위해 사용되는 프레임워크이다.
미들웨어는 말그대로 서버와 클라이언트 사이의 프로세스에 관여해서 특정 역할을 수행한다.
특정 endpoint가 아니라 모든 요청에 동일한 미들웨어를 적용하려면 메소드 app.use를 사용한다.




# app.get은 get방식의 요청을 처리하는 라우터
app.use는 웹브라우저로부터 오는 모든 요청을 처리하는 라우터이다
request method가 어떤 것이든지에 상관없이(get post상관없이) app.use라우터는 첫번째 인자값에 해당하는 경로로 
요청이 들어왔을때 해당 요청을 처리해준다.



#body.json()
body부분에 있는 것을 JSON으로 변환하여 다음 프로미스로 전달하는 역할을 한다.



# express.json({strict:false}) false넣는게 무슨의미인가?
- express.json 속성 중 strict의 디폴트값은 true로 되어있어 object만 허용되어있는 상태이다
strict:false를 입력하면 object형태가 아닌 string형태도 받을수 있게한거다




2. res.json과 res.send차이
-둘이 공통점은 클라이언트의 request에 대한 데이터를 포함해서 response를 보내는 기능이다.
-단 send는 json과 다르게 보낼수있는 종류의 제한이 적다.
-res.send(데이터): 다양한 유형의 응답을 전송한다.데이터와 함께 응답을 보낸다. 데이터는 문자열, HTML, 버퍼, 객체, 배열 등이 될수있다.

#res.json(JSON): JSON형식의 응답을 보낸다.



#req.query는 객체 형태로 이루어져있다.
req.query: 쿼리스트링이 정보가 담긴다
req.params: 라우트 매개변수에 대한 정보가 담긴다.




#fetch get
fetch('url')
.then(res => res.json())
.then(data => console.log(data));




#fetch post
fetch('url', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'foo',
body: 'bar',
userID: 1,
})
})
.then(res => res.json())
.then(data => console.log(data));




#json
데이터를 문자열의 형태로 나타내기위해서 사용된다.

json.parse()
json문자열을 자바스크립트 객체형태로 변환할수있다

json.stringify()
자바스크립트 객체를 json문자열로 변환한다.

728x90

'개인공부 > TIL' 카테고리의 다른 글

[에러] useNavigate() may be used only in the context of a <Router> component.  (0) 2023.08.06
HTTP  (0) 2023.02.01
1월20일 TIL  (0) 2023.01.21