@xapi-js/adaptor-express
Version:
Express.js adaptor for X-API.
115 lines (83 loc) • 2.73 kB
Markdown
# -ts/adaptor-express
This package provides an Express.js adaptor for X-API data.
## Installation
```bash
# npm
npm install -ts/adaptor-express
# yarn
yarn add -ts/adaptor-express
# pnpm
pnpm add -ts/adaptor-express
# bun
bun add -ts/adaptor-express
# deno
deno add -ts/adaptor-express
```
## Usage
Here's how to use `-ts/adaptor-express` with an Express application:
```typescript
import express from 'express';
import { xapiExpress } from '@xapi-ts/adaptor-express';
import { XapiRoot } from '@xapi-ts/core';
const app = express();
// Define your X-API handler function
const xapiHandler = async (xapi: XapiRoot): Promise<XapiRoot> => {
// Process the incoming X-API request (xapi)
// For example, you can access parameters or datasets:
const service = xapi.parameters.get('service')?.value;
console.log(`Service requested: ${service}`);
// Create a response X-API object
const responseXapi = new XapiRoot();
responseXapi.addParameter({ id: 'result', value: 'success' });
return responseXapi;
};
// Use the xapiExpress middleware
app.use('/xapi', xapiExpress(xapiHandler));
// Start the server
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Express server listening on port ${PORT}`);
});
```
---
# -ts/adaptor-express
이 패키지는 X-API 데이터를 위한 Express.js 어댑터를 제공합니다.
## 설치
```bash
# npm
npm install -ts/adaptor-express
# yarn
yarn add -ts/adaptor-express
# pnpm
pnpm add -ts/adaptor-express
# bun
bun add -ts/adaptor-express
# deno
deno add -ts/adaptor-express
```
## 사용법
다음은 Express 애플리케이션에서 `-ts/adaptor-express`를 사용하는 방법입니다:
```typescript
import express from 'express';
import { xapiExpress } from '@xapi-ts/adaptor-express';
import { XapiRoot } from '@xapi-ts/core';
const app = express();
// X-API 핸들러 함수 정의
const xapiHandler = async (xapi: XapiRoot): Promise<XapiRoot> => {
// 들어오는 X-API 요청(xapi) 처리
// 예를 들어, 파라미터 또는 데이터셋에 접근할 수 있습니다:
const service = xapi.parameters.get('service')?.value;
console.log(`Service requested: ${service}`);
// 응답 X-API 객체 생성
const responseXapi = new XapiRoot();
responseXapi.addParameter({ id: 'result', value: 'success' });
return responseXapi;
};
// xapiExpress 미들웨어 사용
app.use('/xapi', xapiExpress(xapiHandler));
// 서버 시작
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Express server listening on port ${PORT}`);
});
```