NodeJS의 임의 데이터로 API를 모의하는 방법

10628 단어 javascriptnode
프런트엔드 개발자는 종종 API의 데이터가 필요합니다. 그러나 때로는 팀에서 백엔드를 설정하지 않은 경우가 있습니다. 계속해서 데이터를 조롱하려면 데이터 구조를 메모리에 저장하지 않는 것이 좋습니다.

데이터를 가져오는 외부 API와 가능한 한 빨리 시작하는 것이 좋습니다. 이 튜토리얼에서는 데이터 모킹을 위한 최소한의 설정을 살펴보겠습니다. 그런 다음 필요에 따라 자신의 데이터로 확장할 수 있어야 합니다.

종속성



Node를 사용하려면 컴퓨터에 Node를 설치해야 합니다. Mac 사용자의 경우 나중에 NodeJS를 더 쉽게 업데이트할 수 있도록 NVM 과 함께 설치하는 것이 좋습니다. (version for Windows도 있습니다.)

이 프로젝트를 시작할 새 폴더를 만듭니다. npm init -y를 실행하여 Node로 폴더를 초기화하면 자동으로 package.json이 생성됩니다.

mockserver를 생성하려면 2개의 npm 종속성이 필요합니다. json-server casual 이므로 프로젝트에서 npm install json-server casual --save-dev를 실행합니다.

모의 서버용 베이스


index.js를 만들고 이 코드를 붙여넣습니다.

const jsonServer = require('json-server')
const server = jsonServer.create()
const middlewares = jsonServer.defaults()
const port = process.env.PORT || 3000
server.use(jsonServer.bodyParser)
server.use(middlewares)
server.listen(port, () => {
    console.log('JSON Server is running')
})


사용하기 위해 json-server를 포함합니다. 그런 다음 const server에 서버 인스턴스를 만듭니다. 미들웨어를 사용하여 정적 파일 경로, CORS 및 기타 몇 가지 옵션과 같은 몇 가지 옵션을 설정할 수 있습니다. 그러나 여기서는 특정 옵션 없이 사용합니다.

포트는 매우 중요합니다. 이것을 서버에서 실행하려면 노드 서버에 설정된 기본 포트가 있는지 먼저 검색하고, 그렇지 않으면 포트3000를 선택합니다.
server.use() 를 사용하여 bodyParser 및 middleswarses를 포함합니다. 그런 다음 모의 서버가 실행 중임을 알 수 있도록 콘솔 로그를 작성합니다.

100명의 사용자를 위한 데이터 생성



폴더/users를 만들고 그 안에 폴더index.js를 만듭니다.

먼저 그것을 사용하기 위해 npm 패키지 casual을 포함하십시오.

const casual = require('casual')


특정 언어의 경우 영어 기본값을 원하지 않는 경우:

const casual = require('casual').nl_NL


그 아래에는 나중에 루트의 index.js에서 사용하기 위해 모듈을 내보내야 합니다.

module.exports = () => {
    casual.define('user', function() {
    return {
        name: casual.first_name,
        surname: casual.last_name,
        address: casual.street,
        phone: casual.phone,
        email: casual.email,
        postalCode: casual.zip,
        city: casual.city,
        number: casual.building_number,
        id: casual.uuid,
    }
})
const data = {
    users: [],
}
// Create 100 users
for (let i = 0; i < 100; i++) {
    data.users.push(casual.user)
}
    return data
}

casual.define를 사용하여 'user' 유형의 객체를 정의합니다. 따라서 한 번에 100명의 사용자에 대한 데이터를 생성하기 위해 100번 실행되는 for 루프를 만들고 데이터 개체의 사용자 배열에 사용자를 푸시합니다.

그런 다음 루트index.js에서 사용할 수 있도록 전체 개체를 반환합니다.

/user 엔드포인트 생성



100명의 사용자에 대한 데이터를 얻으려면 모의 서버에 대한 끝점을 만들어야 합니다. index.js 함수 앞에 아래 코드를 루트 server.listen()에 붙여넣습니다.

server.get('/users', (request, response) => {
    if (request.method === 'GET') {
        const users = require('./users/index')
        response.status(200).jsonp(users())
    }
})


이 경우 get 요청에 server.get()를 사용합니다. 그러나 'post' , 'put' , 'delete' 등을 선택할 수도 있습니다.

모의 서버 실행



이제 우리는 모의 서버를 실행하고 프런트엔드 애플리케이션 내부에서 데이터를 가져올 수 있습니다.

프로젝트의 루트 폴더 내에서 node index.js를 실행합니다. localhost:3000/users을 방문하면 user 배열에 100명의 사용자가 표시됩니다.

이 튜토리얼이 더 많은 랜덤 데이터를 생성하고 모의 서버를 확장할 수 있는 기반이 되었기를 바랍니다. 질문이 있으시면 댓글로 알려주세요.

내부에서 요청이 'GET' 요청인지 확인합니다. 그렇다면 사용자 스크립트가 필요하고 응답 내에서 함수를 호출하여 무작위 생성 사용자 배열을 볼 수 있습니다.

Source: https://mrfrontend.org/2019/05/how-to-mock-an-API-with-random-data-from-NodeJS

Source:

Source: https://medium.com/mr-frontend-community/build-a-nodejs-mock-server-api-with-random-data-86303db9156a

좋은 웹페이지 즐겨찾기