0609 express 서버 열기

2021. 6. 9. 12:19Node.js

https://www.postman.com/downloads/

 

Download Postman | Try Postman for Free

Try Postman for free! Join 13 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.

www.postman.com

실시간으로 서버 요청/전송을 보여주는 프로그램이다.

 

위의 npm을 깔면 서버 코드를 수정해도 서버를 재시작 안 해도 된다. 만일 nodemon이 작동 안 되면 supervisor를 쓰면 된다.
npm 설치 후 node > nodemon으로 수정
프로토콜 문서에서 신규 회원등록이 /users에서 진행되니, 문서 확인 후 url과 데이터 확인

 

router에서 post 방식으로 받았을 경우를 추가 해준 후

 

json 형식으로 데이터를 넣으면 제대로 들어오는 것을 확인할 수 있다.

 

 


express 서버 직접 열어보기

npm init -y
npm i express

//app.js

const express = require('express');
const port = 3000;
const app = express();

app.use(express.static('public')); //라우터 설정이라 GET 방식 위에서 설정되어야 함
//app.use(express.static(__dirname+'/public')); <이 방식을 더 많이 사용한다.

app.get('/',(req,res)=>{
    res.send("Hello Worlddddddddddd!!");
});

app.post('/',(req,res)=>{
    res.send('post 방식으로 전달받은 요청을 처리하고 응답했습니다.');
});

app.listen(port,()=>{
    console.log(`${port}번 포트에서 시작`)
});

프로젝트 폴더 내에서 public 폴더 > 그 안에 images폴더 > jpg 파일 넣어주기

 

코드 내에서 public 라우팅이 이미 되었기에 
주소창에 public을 따로 쓰지 않아도 된다.

 

 

//app.js


const express = require("express");
const userRouter = require("./routes/user"); //user js 파일을 읽어오는 경로
const app = express();
const port = 3000;

app.use(express.json());
app.use("/users", userRouter);

app.listen(port, () => {
  //서버가 시작될때 실행되는 콜백
  console.log(`${port}번 포트에서 서버 시작`);
});
//user.js

const express = require("express");
const { v4: uuidv4 } = require("uuid");

const router = express.Router();

let users = [];

router.post("/", (req, res, next) => {
  const uuid = uuidv4();
  let user = req.body;
  user["id"] = uuid;
  users.push(user);
  console.log(users);
  res.send("회원등록완료"); //POST 방식으로 유저 데이터를 밀어넣고,
});


router.get("/:id", (req, res, next) => {
  console.log(req.params.id);
  console.log(users);
  let user = users.find(x => x.id === req.params.id);
  console.log("--------->" + req.params.id);
  let status = '';
  if (user === undefined) {
    status = 5000; //사용자를 찾을수 없음
  } else {
    status = 200;
  }


  let result = {
    status,
    user,
  };

  let json = JSON.stringify(result);
  res.end(json);
});

module.exports = router;

데이터가 전송된 것과 동시에 uuid가 부여되었다.
GET에서 부여된 uuid로 검색을 하면 status에 성공으로 뜨면서 사용자 정보가 출력된다.

 

uuid가 없을 경우엔 status가 실패로 뜬다.