Next.js Guide (App Router)

Server route handler + client component patterns.

Install

npm install @xaikorea0/js-client

Route handler (app/api/taxia/route.ts)

import { NextResponse } from 'next/server';
import { TaxiaClient } from '@xaikorea0/js-client';

const client = new TaxiaClient({ apiKey: process.env.TAXIA_API_KEY || '' });

export async function POST(req: Request) {
  const { question } = await req.json();
  const res = await client.query(question);
  return NextResponse.json(res);
}

Client component (app/page.tsx)

'use client';
import { useState } from 'react';

export default function Page() {
  const [q, setQ] = useState('법인세율은 얼마인가요?');
  const [a, setA] = useState('');
  const [loading, setLoading] = useState(false);

  const ask = async () => {
    setLoading(true);
    const res = await fetch('/api/taxia', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ question: q }),
    }).then(r => r.json());
    setA(res.answer);
    setLoading(false);
  };

  return (
    
setQ(e.target.value)} />

{loading ? 'Loading...' : a}

); }

Streaming notes

Example project

JS Quick Start · JS API · Docs Home