-
StatesAirline ServerFE 2023. 6. 5. 16:28
app.js
const port = 3001;
const flightRouter = require('./router/flightRouter');const bookRouter = require('./router/bookRouter');const airportRouter = require('./router/airportRouter');
app.use(cors());app.use(express.json());
app.use('/flight', flightRouter);app.use('/book', bookRouter);app.use('/airport', airportRouter);app.use('/flight', flightRouter)은 '/flight'로 시작하는 경로에서 flightRouter를 처리한다. /book과 /airport도 마찬가지이다.
flightRouter.js
const { findAll, findById, update } = require('../controller/flightController');const express = require('express');const router = express.Router();
router.get('/', findAll);
router.get('/:uuid', findById);
router.put('/:uuid', update);
module.exports = router;'./'에 대한 GET 경로를 findAll에 만든다.
flightController.js
module.exports = {// [GET] /flight// 요청 된 파라미터 departure_times, arrival_times 값과 동일한 값을 가진 항공편 데이터를 조회합니다.// 요청 된 파라미터 departure, destination 값과 동일한 값을 가진 항공편 데이터를 조회합니다.findAll: (req, res) => {const { departure_times, arrival_times, destination, departure } = req.query;// TODO:if(departure_times !== undefined && arrival_times !== undefined){return res.status(200).json(flights.filter((obj) => {return obj.departure_times === departure_times && obj.arrival_times === arrival_times;}))}if(departure !== undefined && destination !== undefined){return res.status(200).json(flights.filter((obj) => {return obj.departure === departure && obj.destination === destination;}))}
return res.status(200).json(flights);},findById: (req, res) => {const { uuid } = req.params;// TODO:let newFlights = flights.filter((obj) => {return obj.uuid === uuid})return res.json(newFlights);
},bookController.js
// POST /book에서 사용할 uuid입니다.const { v4: uuid } = require('uuid');// 항공편 예약 데이터를 저장합니다.let booking = [];
module.exports = {// [GET] /book 요청을 수행합니다.// 전체 예약 데이터를 조회합니다.findAll: (req, res) => {return res.status(200).json(booking);},// [GET] /book/:phone 요청을 수행합니다.// 요청 된 phone과 동일한 phone 예약 데이터를 조회합니다.findByPhone: (req, res) => {const {phone} = req.params;let reservation = booking.filter((obj) =>{return obj.phone === phone});return res.json(reservation);},// [GET] /book/:phone/:flight_uuid 요청을 수행합니다.// 요청 된 id, phone과 동일한 uuid, phone 예약 데이터를 조회합니다.findByPhoneAndFlightId: (req,res) => {const {phone, flight_uuid} = req.params;// TODO:let reservation = booking.filter((obj) =>{return obj.phone === phone && obj.flight_uuid === flight_uuid});return res.json(reservation);},// [POST] /book 요청을 수행합니다.// 요청 된 예약 데이터를 저장합니다.create: (req, res) => {// POST /book에서 사용할 booking_uuid입니다.const booking_uuid = uuid();// TODO:let information = {flight_uuid : req.body.flight_uuid,name : req.body.name,phone : req.body.phone,booking_uuid : booking_uuid}booking.push(information);return res.status(201).json(information);},'FE' 카테고리의 다른 글
기술면접 (0) 2023.06.08 my-agora-states-server (0) 2023.06.07 RefactorExpress (0) 2023.06.02 CORS (0) 2023.06.01 StateAirline Client part-2 (0) 2023.05.31