본문 바로가기
WIKI 기술 지식 베이스

Discovery 서비스

원문 보기 위키 갱신

플러그인을 만들 때 다른 플러그인의 기본 URL을 조회해 통신해야 할 필요가 있을 수 있어요. 예를 들어 HTTP 라우트나 어떤 ws 프로토콜 URL일 수 있어요. 이를 위해 주어진 플러그인 ID에 대한 내부 및 외부 기본 URL을 모두 제공할 수 있는 discovery 서비스가 있어요.

출처: 문서

본문

플러그인을 만들 때 다른 플러그인의 기본 URL을 조회해 통신해야 할 필요가 있을 수 있어요. 예를 들어 HTTP 라우트나 어떤 ws 프로토콜 URL일 수 있어요. 이를 위해 주어진 플러그인 ID에 대한 내부 및 외부 기본 URL을 모두 제공할 수 있는 discovery 서비스가 있어요.

서비스 사용

다음 예시는 example 백엔드 플러그인에서 discovery 서비스를 가져와 derp 플러그인의 내부 및 외부 기본 URL 모두에 요청을 보내는 방법을 보여줘요.

import {  coreServices,  createBackendPlugin,} from '@backstage/backend-plugin-api';createBackendPlugin({  pluginId: 'example',  register(env) {    env.registerInit({      deps: {        discovery: coreServices.discovery,      },      async init({ discovery }) {        const url = await discovery.getBaseUrl('derp'); // can also use discovery.getExternalBaseUrl to retrieve external URL        const response = await fetch(`${url}/hello`);      },    });  },});

더 알아보기 (Learn more)