RSocket & AsyncAPI
REST와 같은 방식으로 route, request, response type과 service 함수를 생성합니다.
REST와 거의 같은 흐름
REST는 swagger.json을 사용하고, RSocket은asyncapi-rsocket.json을 사용합니다. 문서에서 route, interaction type, request와 response schema를 읽어 TypeScript 타입과 service 함수를 생성합니다.
1. AsyncAPI service 생성
generateAsyncApiRSocket.cjs
js2. 프로젝트의 RSocket 연결을 한 곳에서 관리
WebSocket URL과 JWT를 프로젝트에 맞게 준비한 뒤createRSocketApi를 한 번 생성합니다. 생성 service는callRSocketMono와callRSocketStream만 사용합니다.
rsocketCommonService.ts
ts3. 생성된 함수 호출
다음은 nplauction.com에서 법원 사건 상세 수집 진행 상황을 받는 실제 사용 형태입니다. route 문자열과 event type은 생성 service 안에 들어 있습니다.
CourtCasePage.tsx
tsxmono와 stream 선택
AsyncAPI interaction이 requestResponse이면 생성 함수는callRSocketMono를, requestStream이면 callRSocketStream을 사용합니다. 화면에서는 둘 다 Observable이지만 stream은 여러 번 next가 호출될 수 있습니다.