인프런 커뮤니티 질문&답변

맑은맑쇼님의 프로필 이미지
맑은맑쇼

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

미들웨어 특성 이해하기

app.get app.post 질문

해결된 질문

작성

·

355

0

안녕하세요! 제가 아직 뒷 부분을 아직 안 들어서 그러긴한데 app.get과 app.post둘다 주소가 '/'이거라서 localhost:3000에 접속하자마자  app.get에서 res.sendFile을 처리했으니  응답으로 index.html이 뜬다고 잘 이해했습니다. 또한 get메소드는 서버 자원을 가져올때 post메소드는 서버에 자원을 새로 등록할때라고 4장에서 공부했습니다. 그런데 미들웨어는 위에서 아래순으로 실행되니 app.get에서 resSendFile로 응답을 끝냈으므로 다음 post메소드는 실행이 안 될것같은데  그러면 같은주소에 두개의 메소드는 잘 사용을 안하는것인가요? 아니면 이후 내용에서 post메소드를 get보다 위에 적어 사용을하나요? 아니면 제가 이해를 잘못한것일까요?

답변 8

0

맑은맑쇼님의 프로필 이미지
맑은맑쇼
질문자

감사합니다! 

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아뇨 get 요청은 get 적혀있는 것만 실행합니다. post는 절대 실행되지 않습니다.

0

맑은맑쇼님의 프로필 이미지
맑은맑쇼
질문자

그럼 마지막으로 죄송한데 get에 next를 매개변수로 넣어서 next()를 추가해서 실행하면 get을 실행했다가 응답이 post의 send인 hello express가 되는 방식이 맞는건가요? 

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

get으로 보냈으니 post는 실행이 안 되죠. post로 보내면 get이 실행이 안 됩니다. use는 다 실행되는 것이고요.

0

맑은맑쇼님의 프로필 이미지
맑은맑쇼
질문자

앗 그럼 현재 제가 올린사진에서는 응답을 get으로 res.sendFile로 보냈기때문에 post응답은 그냥 실행이안되는건가요? 한 라우터에서 send나 json을 한번만 쓸수있다고 강의에서 본거같은데 물론 사진은 다른 라우터라서 되는거 같은데 같은 주소인데 어떻게 되는건가요?

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아뇨? GET / , POST / PUT / 이런 식으로 같은 주소에 메서드만 다른 것 엄청 많이 사용합니다.

get('/') post('/')는 그렇게 프론트에서 들어오는 요청들에 대응하는 서버쪽 라우터이고요.

0

맑은맑쇼님의 프로필 이미지
맑은맑쇼
질문자

제가 이해한 내용이 맞군요! 감사합니다! 혹시 그럼 강의에서는 그냥 예를 들기위해서 사용한게 맞나요?

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

post랑 get은 동시에 실행될 일이 없습니다. 요청을 보낼 때 get으로 보내면 get만 실행되고 post로 보내면 post만 실행됩니다. 라우터는 하나만 걸린다고 보시면 됩니다

맑은맑쇼님의 프로필 이미지
맑은맑쇼

작성한 질문수

질문하기