JSON Server를 사용하여 GET과 POST에서 응답을 변경했습니다.

6051 단어 WebAPIjson-serverMock

소개



API의 모의를 순식간에 만들 수 있는 JSON Server라고 하는 것이 있어,
사용하고 있어 미묘하게 가려운 곳에 손이 닿지 않기 때문에, 본 기사를 써 보았다.

JSON 서버
htps : // 기주 b. 코 m / ty 피코 데 / j 그런 r ゔ

도입·기동 방법



기본적인 사용법에 대해서는
다른 쪽이 기사를 쓰고 있으므로 그쪽을 참조.

【개인 메모】 JSON Server를 사용하여 손쉽게 WebAPI 모형을 만듭니다.
htps : // 이 m / 문득 / ms / 2859 아 60c8b240이다 70572

JSON 서버 - 쉽게 API 모의 만들기
htps : // 이 m / y 히키시마 / ms / 46860 ~ fc48913182

주제



JSON Server의 기본 사양이면,
POST의 경우, 처리하기 어려운 데이터가 돌아온다.

우선은, 설명용으로 이하의 JSON을 준비.

db.json
{  
  "user":[  
    {  
      "id":1,
      "name":"Jones",
      "age":18
    }
  ]
}

GET하면 이런 느낌의 응답이 돌아온다.

GET
[
  {  
    "id":1,
    "name":"Jones",
    "age":18
  }
]

POST하면 id 전용 데이터가 반환됩니다. (게다가 db.json에도 동일한 데이터가 추가됩니다)
음, ,,, 응답은 다른 형식으로 반환하고 싶습니다.

POST
{  
  "id":2
}

해결책



middlewares 옵션을 사용합니다.

다음 파일을 만들고,
JSON Server 시작 매개 변수에 middleware 파일을 포함합니다.

middleware.js
module.exports = function (req, res, next) {
    if (req.method === 'POST') {
        req.method = 'GET' // GETに偽装
        req.url += '_post' // アクセス先をPOST用に変更
    }
    next()
}

후 POST에 대한 응답을 추가.

db.json
{  
  "user":[  
    {  
      "id":1,
      "name":"Jones",
      "age":18
    }
  ],
  "user_post":{  
    "code":0,
    "msessage":"success"
  }
}

터미널에서 시작.
json-server -w db.json -m middleware.js

확인



Postman을 사용하여 각각 확인.

GET의 경우.


POST의 경우.


예상대로 GET과 POST로 응답을 바꿀 수 있었다.

좋은 웹페이지 즐겨찾기