Create A rest API

Darcy Daeseok YU ·2022년 2월 15일
0
post-custom-banner

rest API를 만들기 위해 아래 lib를 설치한다.

npm install express

package.json 파일이 생성되고 express가 dependencies 목록에 추가된다.

package.json파일이 생성되었지만, "scripts" :{} 에 start 없다.
아래 lib 추가하고

npm install nodemon

scripts를 아래와 같이 수정한다.

"scripts": {
    "start": "nodemon app.js"
  },

이제 npm start를 실행하여 실시간으로 변경내용을 확인할수 있다. in terminal

먼저 "/" 홈에 메시지를 띄어보자.
express lib를 사용해서 router를 생성해본다.
app.js 파일을 생성하고 아래와 같이 작성한다.

const express = require("express"); 
const app = expess();

app.get("/", (req,res)=>{
	res.send("반환할 값 from server or something")
})

app.listen(3000); 

locall:xxxx 지정된 주소로 접속하면 res.send("반환할 값 from server or something") send 메시지: "반환할 값 from server or something" 를 확인할수 있다.

app.listen(3000) 은 포트 3000번의 요청을 받는다.

중간에 middleware를 추가해서 요청을 다른 방향으로 전환이 가능하다.


app.get("/posts", (req, res) => {
  res.send("posts response");
});

위와 같이 /posts 주소를 생성해보자.
위 주소에 대해서 middleware를 적용해본다.

app.use("/posts", functoin or pageRoute); 
  1. function과 함께

app.use("/posts", (req, res) => {
  res.send("posts response w/middleware");
});

app.use()를 사용해서 middleware를 적용한다.

  1. router 페이지와 함께

먼저 route 페이지를 만든다.
/routes/posts

const express = require("express");
const router = express.Router(); 

router.get("/",  (req, res) => {
  res.send("/posts in /routes/posts.js");
});

module.exports = router;

module.exports = router; 입력하여 해당페이지를 export한다.

app.js에서 routes/posts 페이지를 import한다. inapp.js

const postsRoute = require("./routes/posts");

가져온 postsRoute를 middleware에 적용한다. inapp.js

app.use("/posts", (req, res) => {
  res.send("posts response w/middleware");
});

를 아래와 같이 변경한다.

app.use("/posts", postsRoute);

"/posts"를 호출하면 posts.js 파일안에 router로 설정한 "/" 주소로 호출된다.
"/posts in /routes/posts.js"메시지가 출력됨.

profile
React, React-Native https://darcyu83.netlify.app/
post-custom-banner

0개의 댓글