Runtime/Node.js
12. dotenv 모듈 사용
김엉배
2023. 3. 12. 22:42
728x90
반응형
1. dotenv 모듈을 설치
- dotenv 모듈 설치
npm install dotenv
- mysql 폴더에 .env 파일을 생성하고 다음과 같이 MySQL 접속 정보를 작성
- 참고 (https://sancheck-developer.tistory.com/31)
- mysql 폴더에 index.js 파일에서 MySQL 접속 정보를 다음과 같이 작성
- 참고 (https://sancheck-developer.tistory.com/31)
- mysql 폴더에 생성한 .env 파일을 환경 변수로 사용하려면 app_mysql.js 파일에 다음과 같이 추가
- app_mysql.js 파일을 실행하고 localhost:3002/customers 접속하면 MySQL에 접속한 후 customers 테이블에 있는 데이터를
조회하는 것을 확인할 수 있다. 이처럼 dotenv 모듈을 사용하면 보안상 중요한 정보의 프로그램 코드를 노출시키지 않을 수 있다.
2. 데이터 조회
- 앞에서 이미 customers 테이블 조회하는 쿼리를 실행함.
3. 데이터 추가
- 고객 정보를 추가하기 위한 쿼리를 작성 후 sql.js 파일에 추가
- 고객 정보를 추가하는 쿼리문을 'customersInsert'키로 추가
- app_mysql.js 파일을 열고 다음과 같은 라우터를 추가(해당 라우터로 고객 정보를 받고, customers 테이블에 추가)
- 클라이언트에서 body에 담아 전송한 JSON 데이터를 사용하기 위해서는 다음과 같이 express.json() 모듈을 다음과 같이 사용.
- app_mysql.js 정리
const express = require("express");
require('dotenv').config({ path: 'mysql/.env' });
const mysql = require("./mysql");
const app = express();
// 클라이언트 요청 body를 json으로 파싱 처리
app.use(express.json({
limit: '50mb' // 최대 50메가
}));
app.listen(3004, () => {
console.log("Server started. port 3003.");
});
// 고객 정보 조회 라우터
app.get("/api/customers", async(req, res) => {
const customers = await mysql.query('customerList');
res.send(customers);
});
// 고객 정보 추가 라우터
app.post('/api/customer/insert', async (req, res) => {
console.log(req.body)
const result = await mysql.query('customerInsert', req.body.param);
res.send(result);
});
- 서버 종료한 후 node app_mysql.js 로 서버 재실행
- 고객 정보 추가 테스트를 위해 Postman을 사용
- Postman에서 새로 추가된 고객 정보가 조회되는지 확인
4. 데이터 수정
- 고객 정보를 수정하는 쿼리문을 'customerUpdate' 키로 추가
- app_mysql.js 파일에 라우터 추가
- Postman에서 고객 정보 수정을 위한 라우터를 호출해 연락처 정보를 수정
1) Add request : PutCustomer
2) Http 요청 메소드 : PUT
3) 요청 URL: http://localhost:3005/api/customer/update
4) Body -> raw -> JSON 선택
5) 전송할 테이터 작성
6) Send 버튼 클릭
- customers 테이블 다시 조회하면 id가 1인 고객의 phone 정보가 수정된 것을 확인할 수 있다.
5. 데이터 삭제
- 고객정보를 삭제하는 쿼리문을 'customersDelete' 키로 추가
- app_mysql.js 파일에 라우터 추가
- 해당 라우터로 삭제할 고객 id를 받고 고객 정보를 삭제. Postman에서 삭제를 위한 request 추가
1) Add request : DeleteCustomer
2) Http 요청 메소드 : DELETE
3) 요청 URL: http://localhost:3005/api/customer/delete/1
4) Send 버튼 클릭
- customers 테이블 다시 조회하면 id가 1인 고객 정보가 삭제된 것을 확인할 수 있다.
728x90
반응형