Dok Perpustakaan Saya

Sidebar Multi-root

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

OpenAPI & Generator Layanan

Skrip Node opsional yang disediakan terpisah dari klien HTTP inti. Hanya digunakan saat menghasilkan tipe TypeScript dan file layanan dari JSON OpenAPI/Swagger.


Fitur opsional: Tidak diperlukan untuk penggunaan inti

Pengguna umum @byeolnaerim/typed-rx-http, /next, atau /rsocket tidak perlu menjalankan skrip ini dan tidak perlu menginstal openapi-typescript di proyek.

ts
Isolasi ketergantungan openapi-typescript

Pembuatan tipe OpenAPI memerlukan openapi-typescript CLI, tetapi paket tidak dimasukkan ke dalam dependensi umum. devDependencies.typescript dari typed-rx-http mempertahankan standar TypeScript 6.0.3, dan hanya menggunakan lingkungan npx sementara di skrip node auto OpenAPI.

Pada tahap pembuatan OpenAPI dasar, openapi-typescript dan [email protected] dijalankan bersamaan, sehingga tidak mengubah atau menggunakan versi TypeScript/openapi-typescript yang diinstal di proyek pengguna.

bash

Jika perlu, seluruh perintah dapat dikunci dengan openApiTypescriptCommand.

ts

Atau Anda juga dapat mengubah hanya versi paket yang membentuk perintah dasar.

ts
Pertama: Siapkan file proyek yang akan ditunjuk oleh commonServiceFile

Sebelum commonServiceFile muncul dalam contoh generator, Anda harus memahami file ini terlebih dahulu. commonServiceFile adalah jalur file yang dimiliki proyek yang mengimpor fungsi HTTP umum dari layanan yang dihasilkan, bukan opsi untuk membuat file. Nama file dapat ditentukan secara bebas seperti rxjsHttpService.ts, commonService.ts, dll.

Kode lengkap minimum

File di bawah ini membuat createHttpClient sekali di proyek dan mengekspor callApi dan callApiStream agar layanan yang dihasilkan dapat digunakan kembali. Jika tidak memerlukan cache atau otentikasi sesi, Anda dapat memulai dari struktur ini.

rxjsHttpService.ts
ts
Kode lengkap termasuk cache Session/CSR/SSR

Jika layanan yang dihasilkan menggunakan callApiClientCache atau callApiServerCache, atau jika Anda ingin menangani header dan otentikasi sesi secara umum di Next.js, perluasan dilakukan dengan bentuk lengkap berikut.

rxjsHttpService.ts
ts
Metode eksekusi
ts
File yang dihasilkan

Pengaturan default menghasilkan file-file di bawah ini.

text

apiUnionArrays.tsmembuat array konstanta readonly untuk enum parameter query, path, header, dan cookie, serta menangani items.enum dari parameter query array.


Opsional: Menghubungkan Swagger backend dengan commonService proyek

Mulai dari sini adalah contoh menghubungkan generator ke proyek nyata. WebFlux/webflux-fe-dev-assistant hanyalah salah satu cara untuk menyediakan Swagger dan bukan ketergantungan yang wajib.

Siapkan dokumen Swagger

Swagger bisa berasal dari Springdoc, alat OpenAPI lainnya, atau file yang ditulis secara manual. Jika menggunakan endpoint fungsional WebFlux, webflux-fe-dev-assistantAnda juga dapat menggunakan cara untuk menyediakan dokumen Swagger.

Contoh pembuatan dengan menyatakan opsi di proyek

Anda dapat menyatakan endpoint backend, swagger.json yang akan disimpan, jalur output tipe/layanan, dan commonServiceFile sesuai dengan struktur proyek.

generateSwagger.cjs
js

Dalam lingkungan di mana dokumen tidak dapat diterima melalui HTTP, Anda dapat menggunakan generateSwaggerFromFiledengan opsi output yang sama.

commonServiceFile adalah jalur target import

commonServiceFileadalah jalur file yang dimiliki proyek yang mengimpor callApi, callApiStream, dan pembungkus cache dari layanan yang dihasilkan. Ini bukan opsi untuk membuat atau menimpa file ini.

ApiBusinessService.ts
ts
Contoh di mana hasil pembuatan ditempatkan di proyek
text

File umum yang ditentukan dengan commonServiceFile seperti rxjsHttpService.ts dikelola langsung oleh proyek. Hasil di bawah auto dan @types/auto akan dibuat ulang jika dokumen berubah.

Aturan nama file dan fungsi

Nama file layanan ditentukan oleh dua segmen pertama dari URL, dan nama fungsi ditentukan oleh segmen ketiga dan seterusnya. Variabel path disertakan dalam nama fungsi dalam bentuk By + PascalCase.

GET /api/business/workplaces/search

ApiBusinessService.ts → workplacesSearch({ params })

GET /api/business/workplaces/{id}

ApiBusinessService.ts → workplacesById({ path })

GET /api/orders/history/search

ApiOrdersService.ts → historySearch({ params })

POST /oauth2/login

Oauth2LoginService.ts → post({ body })

Argumen pemanggilan fungsi pembuatan
GeneratedServiceUsage.tsx
tsx

Kunci parameter query dari layanan yang dihasilkan adalah params, variabel path adalah path, dan body permintaan adalah body. Di dalam fungsi pembuatan, masing-masing akan diubah menjadi ServiceArguments dari queryString, pathVariable, dan body.

© 2026 Byeolnaerim. Semua hak dilindungi.PengenalanKebijakan Penanganan Data Pribadi