npm install express-generator -g
pakage가 깔려있다면 패스
express --view=pug '파일명'
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
프로젝트 생성 시, 끄적여져 있는 소스코드이다.
우리는 여기서 테스트를 위한 간단한 소스코드를 삽입해줄거다.
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
//test code
router.get('/:name', function (req, res) {
let params = req.params;
console.log('req.params : ' + JSON.stringify(params));
res.end();
});
module.exports = router;
test code에서 res.end();부분을 res.send();로 변경해줄건데,
이 때 데이터는 path 파라미터값으로 받은 데이터를 반환해준다.
//test code
router.get('/:name', function (req, res) {
let params = req.params;
console.log('req.params : ' + JSON.stringify(params));
res.send(params);
});
이렇게 코드를 짜놓은 상태에서 API 테스트를 위해 서버를 열어준다.
필자는 프로세스 관리툴인 PM2를 사용했다.
node app.js
test code에서 res.end();부분을 res.send();로 변경해줄건데,
이 때 데이터는 path 파라미터값으로 받은 데이터를 반환해준다.
//test code
router.get('/:name', function (req, res) {
let params = req.params;
console.log('req.params : ' + JSON.stringify(params));
res.json(params);
});
1) res.send Method는 기본적으로 json 형태로 반환한다.
'hello nodejs'를 반환하는 함수 작성
const Test = () => {
return 'hello nodejs!!';
};
음..? 아 이거 json으로 보내고 싶은데...🥺
res.set Method로 response Header내 Content-Type을 수동으로 정의 가능.
res.set('Content-type', 'text/json');
1) res.send에서 json으로 반환 가능한 데이터가 아니라면 다른 Content-Type으로 반환
2) res.json은 반환받은 텍스트를 json으로 반환
1) res.set로 Content-Type를 지정하면 res.send는 함수를 호출한 후, 반환 텍스트를 지정된 Content-Type으로 변환 후 반환
끄적이다보니 생각난건데 'res.send는 왜 text로 반환을 안하고 기본적으로 json을 반환할까?'하고 생각해봤는데 실무에서 거의 대부분이 json http api를 사용해서 그렇지 않을까..? 라고 생각중이다. ㅎ.ㅎ