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

002 - 둘러보기

원문 보기 위키 갱신

기본적으로 방금 만든 플러그인은 간단한 할 일 목록 애플리케이션을 호스팅해요. http://localhost:7007/api/todo/todos에서 HTTP API를 노출해서 TODO를 만들고, 기존 TODO를 나열하고, 특정 TODO를 가져올 수 있게 해요. 이 TODO들을 메모리에 저장하므로 애플리케이션을 재시작하면 모든 TODO를 잃게 돼요. 또한 TODO를 소프트웨어 카탈로그 엔티티로 태그할 수 있어서 프론트엔드 통합에 유용할 거예요. 이 글에서는 플러그인을 로컬에서 테스트하는 방법을 설명드릴게요.

출처: 문서

본문

기본 플러그인 기능

기본적으로 방금 만든 플러그인은 간단한 할 일 목록 애플리케이션을 호스팅해요. http://localhost:7007/api/todo/todos에서 HTTP API를 노출해서 TODO를 만들고, 기존 TODO를 나열하고, 특정 TODO를 가져올 수 있게 해요. 이 TODO들을 메모리에 저장하므로 애플리케이션을 재시작하면 모든 TODO를 잃게 돼요. 또한 TODO를 소프트웨어 카탈로그 엔티티로 태그할 수 있어서 프론트엔드 통합에 유용할 거예요.

이 플러그인을 프로덕션 준비로 만들려면 몇 가지를 조정해야 해요:

  • 재시작 시 잃지 않도록 TODO를 데이터베이스에 기록.

  • 모든 것이 우리가 기대하는 대로 동작하도록 제대로 된 테스트 작성.

  • 사용자 피드백 얻기.

로컬 테스트

플러그인을 출시할 준비로 만들기 전에, 로컬에서 실행하는 방법을 살펴볼게요. 백엔드 플러그인의 매니페스트(plugins/todo-backend/package.json)를 열고 scripts 섹션을 보면 몇 가지 중요한 명령을 발견할 수 있어요. 지금 우리와 관련된 것은:

  • yarn start - dev/index.ts의 내용을 백엔드로 사용하는 로컬 개발 서버를 시작해요.

  • yarn test - 백엔드 플러그인의 모든 테스트를 실행해요.

yarn start를 실행하면 플러그인 전용 맞춤 백엔드가 시작되는 것을 볼 수 있을 거예요. 이것은 플러그인에서 새 기능을 쉽게 테스트해서 플러그인 개발과 반복을 단순화해요 — 필요한 것을 전역 packages/backend에 추가하는 것만 잊지 마세요. 우리가 찾아봐야 할 중요한 로그는:

2025-06-08T16:14:53.229Z rootHttpRouter info Listening on :7007

이것은 HTTP 서버가 실행 중이고 테스트 HTTP 요청을 보내기 시작할 수 있다는 것을 나타내요. 좋아하는 HTTP 클라이언트를 들고 테스트를 시작해 볼게요!

시작하려면 깨끗한 상태에서 시작하는지 확인해 볼게요. 아래 명령을 실행해서 모든 기존 TODO를 나열할 수 있어요. 빈 목록이 돌아와야 해요:

curl http://localhost:7007/api/todo/todos

새 TODO를 만들려면 같은 엔드포인트로 POST 요청을 보낼 수 있어요. 다만 지금은 401 오류를 받게 될 거예요.

curl -X POST http://localhost:7007/api/todo/todos \-H 'Content-Type: application/json; charset=utf-8' \--data-binary @- << EOF{    "title": "My Todo"}EOF

401 오류는 각 TODO를 만든 사용자의 ID를 추적하기 때문이에요. TODO를 만들려고 요청을 보내는데 Authorization 헤더를 제공하지 않으면 이 실패를 보게 돼요. 프론트엔드도 있는 플러그인의 경우 이 자격 증명 관리는 자동으로 일어나야 해요. 이걸 시도해 볼게요:

curl -v -X POST http://localhost:7007/api/todo/todos \-H 'Content-Type: application/json; charset=utf-8' \-H "Authorization: Bearer *** -s http://localhost:7007/api/auth/guest/refresh | jq -r '.backstageIdentity.token')" \--data-binary @- << EOF{    "title": "My Todo"}EOF

그런 다음 모든 TODO를 나열해서 새 TODO를 확인할 수 있어요!

curl http://localhost:7007/api/todo/todos

createdBy가 user:development/guest인 것을 알 수 있을 거예요. 이것이 TODO를 만드는 데 사용한 토큰이에요. 그것은 요청의 -H "Authorization: Bearer *** -s http://localhost:7007/api/auth/guest/refresh | jq -r '.backstageIdentity.token')" 부분이에요.

더 알아보기 (Learn more)