• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

express put, delete메서드 사용법이 궁금합니다.

22.01.11 10:47 작성 조회수 304

0

 안녕하세요 조현영님. 조현영님께서 http 모듈로 만드신 restServer.js 파일을 제가 express 모듈로 리메이크 하려고 합니다. get과 post메서드는 어떻게든 활용을 할 수 있겠는데 put과 delete를 사용하는게 원리는 어느정도 알겠는데 코드를 어떤식으로 짜야할지 잘 모르겠더라고요.  제가 짠 코드를 보여드리자면 

app.put("/user/", (req, res) => {
    console.log("PUT 본문(body):", req.body);
    const key = req.url.split("/")[2];
    users[key] = req.body.name;
    res.send(users);
});

app.delete("/user/", (req, res) => {
    const key = req.body.name;
    delete users[key];
    res.send(users);
});

이렇습니다. 사실 조현영님의 restServer.js에서 거의 모방했다시피 짰습니다. 이렇게 짜고 수정 혹은 삭제를 클릭하면 제가 미리 짜뒀던 404처리 미들웨어에 의해서 다음과 같이 표시됩니다.

수정 할 시

Error: 404
    at D:\Coding\JavaScript\Node\Node_sever\APIserver\index.js:52:11
    at Layer.handle [as handle_request] (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:323:13)
    at D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:341:12)
    at next (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:275:10)
    at serveStatic (D:\Coding\JavaScript\Node\Node_sever\node_modules\serve-static\index.js:75:16)
    at Layer.handle [as handle_request] (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:323:13)
    at D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:284:7

삭제 할 시

Error: 404
    at D:\Coding\JavaScript\Node\Node_sever\APIserver\index.js:52:11
    at Layer.handle [as handle_request] (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:323:13)
    at D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:341:12)
    at next (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:275:10)
    at serveStatic (D:\Coding\JavaScript\Node\Node_sever\node_modules\serve-static\index.js:75:16)
    at Layer.handle [as handle_request] (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:323:13)
    at D:\Coding\JavaScript\Node\Node_sever\node_modules\express\lib\router\index.js:284:7

 둘 다 restFront.js에서 요청을 받아 오지 못한느 거 같습니다. 전체 코드가 필요하시다면 github주소 남겨드리겠습니다.

https://github.com/shere1765/small-restAPI

 

 

 

답변 1

답변을 작성해보세요.

0

express 강좌 부분 보시면 됩니다. /user/:id 처럼 파라미터를 사용합니다.