Mes documents

Barre latérale multi-racine

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

RSocket et AsyncAPI

Explique d'abord la méthode de base d'utilisation directe du point d'entrée /rsocket. Le flux de création de types route/request/response et de fonctions de service dans AsyncAPI est ensuite une méthode d'intégration de projet optionnelle.


Utilisation de base de l'adaptateur RSocket.

Installez le package peer uniquement dans les projets utilisant RSocket.

bash

L'utilisation de base ne nécessite pas AsyncAPI generator ni WebFlux. Importez createRSocketApi depuis /rsocket et passez le point de terminaison WebSocket, en transmettant JWT en tant que deuxième argument uniquement si l'authentification est nécessaire. mono ou stream est retourné en tant qu'Observable RxJS.

ts

Optionnel : Intégration de projet pour la génération automatique de services AsyncAPI.
Flux presque identique à REST

REST utilise swagger.jsonet RSocket utilisegithub.com/joohyoungkim19940805/typed-rx-httpLisez le document pour générer des types TypeScript et des fonctions de service à partir des schémas de route, de type d'interaction, de requête et de réponse.

1. D'abord : Vérifiez ce qu'est rsocketCommonService avec le code complet.

rsocketCommonService.ts n'est pas non plus un fichier généré automatiquement par la bibliothèque. Il enveloppe createRSocketApi directement dans le projet pour centraliser la connexion et la politique de réutilisation de JWT, et fait en sorte que le service RSocket généré n'importe que callRSocketMono/callRSocketStream. Voici le code complet de ce fichier. Il lit l'Authorization depuis le headerStore du service public REST, appelle une fois l'API token si absent, et ferme la connexion RSocket existante pour en créer une nouvelle si le JWT change.

rsocketCommonService.ts
ts

Après la copie, modifiez le chemin d'import de headerStore, l'emplacement de AsyncApiTypes, le chemin de l'API de token, NEXT_PUBLIC_RSOCKET_URL et le point de terminaison RSocket réel pour qu'ils correspondent à votre projet.

2. Rôle de la structure du code de rsocketCommonService.

getRSocketUrl

Le serveur utilise des variables d'environnement et le navigateur crée une URL ws ou wss basée sur le protocole et l'hôte actuels.

fetchAuthorization

Appelle l'API de token en incluant le cookie de session lorsque le JWT n'est pas présent dans headerStore, et lit les valeurs des champs token, accessToken ou jwt.

getRsoketApi

Partage la promesse de recherche de token même lorsque plusieurs requêtes arrivent en même temps, réutilise la connexion existante pour le même JWT et recrée la connexion si le JWT change.

resetRsoketApi

Lors de la déconnexion ou de la suppression des informations d'authentification, ferme la connexion RSocket actuelle et réinitialise le JWT et le client enregistrés.

callRSocketMono / callRSocketStream

Vérifie la requête et la réponse avec le type de route généré, et combine la promesse de préparation de connexion dans le flux Observable RxJS pour exécuter mono ou stream.

3. Création de service AsyncAPI.
generateAsyncApiRSocket.cjs
js
4. Appel de la fonction générée.

Voici un exemple typique de requestStream recevant l'état d'avancement de plusieurs tâches. La chaîne de route et le type d'événement sont inclus dans le service généré.

BatchJobPage.tsx
tsx
Choix entre mono et stream

Si l'interaction AsyncAPI est requestResponsela fonction générée estcallRSocketMonoalors requestStreamsinon callRSocketStreamutilise. suivantÀ l'écran, les deux sont des Observable, mais le stream peut être appelé plusieurs fois.

© 2026 Byeolnaerim. Tous droits réservés.PrésentationPolitique de confidentialité