api-party
nuxt-api-party

サーバープロキシと動的コンポーザブルで、あらゆるAPIに安全に接続

Nuxt API Party module

Nuxt API Party

Nuxtモジュールは、複数のAPIエンドポイントとのシームレスな統合を提供します。設定した各APIエンドポイントに対して、タイプセーフなコンポーザブルを生成し、NuxtのuseFetch$fetchと同様の使い慣れた開発体験を提供し、APIクレデンシャルを安全に保ち、サーバープロキシを介してCORS問題を解消します。

機能

セットアップ

!TIP📖 ドキュメントを読む

npx nuxt module add api-party

基本的な使い方

!TIP📖 ドキュメントを読む

Nuxt API PartyをNuxtの設定に追加し、apiPartyモジュールオプションに以下のプロパティを持つエンドポイントオブジェクトを設定して、最初のAPI接続を準備します。

// `nuxt.config.ts`
export default defineNuxtConfig({
  modules: ['nuxt-api-party'],

  apiParty: {
    endpoints: {
      jsonPlaceholder: {
        url: process.env.JSON_PLACEHOLDER_API_BASE_URL!,
        // Global headers sent with each request
        headers: {
          Authorization: `Bearer ${process.env.JSON_PLACEHOLDER_API_TOKEN}`
        }
      }
    }
  }
})

APIをjsonPlaceholderと呼ぶ場合、生成されるコンポーザブルは以下のようになります。

  • $jsonPlaceholder$fetchと同様に、レスポンスデータを返します。
  • useJsonPlaceholderDatauseFetchと同様に、複数の値を返します。

これらのコンポーザブルをテンプレートまたはコンポーネントで使用します。

<script setup lang="ts">
const { data, refresh, error, status, clear } = await useJsonPlaceholderData('posts/1')
</script>

<template>
  <h1>{{ data?.title }}</h1>
  <pre>{{ JSON.stringify(data, undefined, 2) }}</pre>
</template>

!TIP 必要な数のAPIを接続できます。endpointsオブジェクトに追加するだけです。

💻 開発

  1. このリポジトリをクローンする
  2. corepack enable を使用して Corepack を有効にする
  3. pnpm installを使用して依存関係をインストールする
  4. pnpm run dev:prepare を実行します。
  5. pnpm run dev を使用して開発サーバーを起動します。

スペシャルサンクス

  • このパッケージの初期バージョンをスポンサーしてくださったDennis Baum氏。
  • ロゴのピクセルアートを作成してくださったMaronbeere氏。

ライセンス

MITライセンス © 2022-PRESENT Johann Schopplich

MITライセンス © 2025-PRESENT Matthew Messinger