/** * OpenAPI 프록시 라우트 * - 외부 API 호출을 프록시하는 라우트 */ import { Router } from 'express'; import { OpenApiProxyController } from '../controllers/openApiProxyController'; // import { authenticateToken } from '../middleware/authMiddleware'; // 공개 API는 인증 불필요 const router = Router(); const controller = new OpenApiProxyController(); // 날씨, 환율 등 공개 정보는 인증 없이 접근 가능 // router.use(authenticateToken); /** * GET /api/open-api/weather * 날씨 정보 조회 (인증 불필요) * Query: city (도시명, 기본값: Seoul) */ router.get('/weather', (req, res) => controller.getWeather(req, res)); /** * GET /api/open-api/exchange-rate * 환율 정보 조회 * Query: base (기준 통화, 기본값: KRW), target (대상 통화, 기본값: USD) */ router.get('/exchange-rate', (req, res) => controller.getExchangeRate(req, res)); /** * POST /api/open-api/geocode * 주소를 좌표로 변환 (Geocoding) * Body: { address: string } */ router.post('/geocode', (req, res) => controller.geocode(req, res)); export default router;