분류 Nodejs

Nodejs에서 Api 개발 시작하기

컨텐츠 정보

  • 조회 510 (작성일 )

본문

우리가 손을 더럽히고 움직이기 전에 js에 대한 지식이 있다고 가정합니다. 또한 컴퓨터에 nodejs가 설치되어 있다고 가정합니다.


nodejs를 위한 많은 웹 프레임 워크가 있습니다. 몇 가지 인기 있는 것을 지적하기 위해 express, koa 및 hapi라고 말할 수 있습니다. 우리는 그것이 작동하도록 구성된 수많은 모듈을 가진 nodejs에 가장 많이 사용되는 웹 프레임워크이므로 express를 사용할 것입니다. 

또한 구문과 학습 곡선은 이해하기가 매우 쉽고 문제가 발생하면 스택 오버 플로우의 모든 쿼리에 거의 응답이 있습니다.


https://dev.to/rubinsays/getting-started-with-api-develpoment-on-nodejs-52bi 


시작하려면 디렉토리를 작성하고 그 디렉토리로 가십시오. 프로젝트 디렉토리에 들어간 후 터미널 / 콘솔을 열고 npm init를 실행하여 nodejs 프로젝트를 시작하십시오. 당신이 원하는 대로 세부 사항을 입력합니다. 완료 후 입력


npm i — save express body-parser morgan nodemon


Enter 키를 누르면 package.json 파일의 종속성을 설치하고 업데이트 해야 합니다.


Nodemon은 node.js 애플리케이션의 변경 사항을 모니터링하고 서버를 자동으로 다시 시작합니다. 개발에 적합하므로 변경 사항을 보기 위해 서버를 수동으로 다시 시작할 필요가 없습니다. 


Morgan은 node.js 용 HTTP 요청 로거 미들웨어입니다.


Body-parser는 Node.js 본문 구문 분석 미들웨어입니다. req.body 특성에서 사용 가능한 핸들러 전에 미들웨어에서 수신 요청 본문을 구문 분석합니다.


모든 모듈을 설치 한 후 루트 폴더에 app.js 파일을 생성하고 선호하는 편집기에서 엽니다. 나는 비주얼 스튜디오 코드를 사용하지만 당신은 어떤 텍스트 편집기로도 갈 수 있습니다.


기본 설정 


편집기에서 app.js를 열고 Express 모듈이 필요합니다.

var express=require('express')
Now create an express instance with
var app= express()


Routes 


이제 몇 가지 경로를 정의하겠습니다. 라우트 메소드는 HTTP 메소드 중 하나에서 파생되며 express 클래스의 인스턴스에 첨부됩니다. 다음 코드는 앱의 루트에 대한 GET 및 POST 메소드에 대해 정의 된 경로의 예입니다.

// GET method route

app.get('/', function (req, res) {
  res.send('GET request to the homepage')
})

// POST method route

app.post('/', function (req, res) {
  res.send('POST request to the homepage')
})


Express는 모든 HTTP 요청 메소드 (get, post 등)에 해당하는 메소드를 지원합니다. 전체 목록은 app.METHOD를 참조하십시오. 다음은 문자열을 기반으로 하는 경로 경로의 예입니다. 이 경로 경로는 요청을 루트 경로 /와 일치 시킵니다. 따라서 localhost : /의 앱을 방문하면 창에 루트가 인쇄됩니다.

app.get('/', function (req, res) {
  res.send('root')
})


이 경로 경로는 / about에 대한 요청과 일치하므로 localhost : /의 앱을 방문하면 창에 인쇄됩니다.

app.get('/about', function (req, res) {
  res.send('about')
})


경로에서 정규식을 사용하여 경로를 보다 역동적으로 만들 수도 있습니다.


Route parameters 


경로 매개 변수로 경로를 정의하려면 아래에 표시된 대로 경로 경로에 경로 매개 변수를 지정하면 됩니다. 이렇게하면 모든 매개 변수 즉, userId 및 bookId가 객체로 출력 됩니다. 

req.params.paramname

app.get('/users/:userId/books/:bookId', function (req, res) {
  res.send(req.params)
})

위의 모든 것을 합산 다음 코드는 매우 기본적인 경로의 예입니다.

var express = require('express')
var app = express()

// respond with "hello world" when a GET request is made to the homepage

app.get('/', function (req, res) {
  res.send('hello world')
})

app.get('/about', function (req, res) {
  res.send('about')
})

app.get('/:userId', function (req, res) {
  res.send(req.params.userId)
})

app.post('/post', function (req, res) {
  res.send('this is a post request')
})

// tell express to run on port 8000

app.listen(8000)