Axios로 액세스 할 수있는 RESTful API를 쉽고 간편하게 만듭니다 (1)
만들기에 있어서의 조건과 환경은 다음과 같습니다.
목표가 되는 아티팩트는 「유저의 등록・편집의 액세스 결과를 json으로 돌려주는 API」입니다. 또한 로그인 등의 세션 관리도 실시합니다. 데이터베이스는 test, 테이블은 users로 합시다. 테이블은 미리 작성되어 있습니다.
먼저/home/ec2-user에 디렉토리를 만들고 초기화합니다.
$ mkdir api_sample
$ npm init
$ cd api_sample
다양한 대화가 발생하지만 모두 Enter에서 OK입니다. 디렉토리 구성은 다음과 같아야 합니다.
api_sample
|- node_modules
|- package.json
|- package-lock.json
다음으로 필요한 패키지를 설치합시다.
$ npm install express
$ npm install express-session
$ npm install body-parser
$ npm install cors
$ npm install mysql
그 패키지를 설치 이유에 대해.
1. express -> 그대로
2. express_session -> 로그인 세션 관리 등에 이용
3. body-parser > 라우팅 관리
4. cors > axios로 액세스할 때 CORS 설정 필요
5. mysql > 이번 DB는 MySql
이제/home/ec2-user/api_sample 바로 아래에 index.js를 만듭니다.
index.js
let express = require('express')
let mysql = require('mysql')
let session = require('express-session')
const cors = require('cors')
let app = express()
let connection = mysql.createConnection({
host: '{RDSのエンドポイント}',
user: '{ユーザー名}',
password: '{パスワード}',
port: '3306',
database: 'test'
})
app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', 'example.com*')
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
next()
})
app.use(cors({credentials: true, origin: true}))
app.use(express.json())
app.use(session({
secret: 'secret',
resave: false,
saveUninitialized: true,
cookie: { }
}))
connection.connect(function(err) {
if (err) {
console.error('Database connection failed: ' + err.stack)
return
}
console.log('Connected to database.')
})
connection.end()
app.get('/', (req, res) => {
res.json({msg: 'hello express'})
})
app.listen(3000, ()=> {
console.log('Start serv 3000')
})
일단 3000번의 포트로 액세스하면 {msg: 'hello express'}라는 json 데이터를 반환하는 API가 생겼습니다.
$ node index.js
을 실행한 다음 {ec2 인스턴스 엔드포인트}: 3000을 검색 주소창에 입력하여 테스트해 봅시다. 성공하면 아래와 같은 화면이 될까 생각합니다.
이것으로 토대는 할 수 있었으므로 다음 번(미정)은 RESTful인 라우팅과 세션 관리, 서버의 상시 기동에 대해서 접하고 싶습니다.
Reference
이 문제에 관하여(Axios로 액세스 할 수있는 RESTful API를 쉽고 간편하게 만듭니다 (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/someone-said-so/items/ed0aafee065efcbc3b57텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)