eSeGeCe — Delphi 및 .NET용 엔터프라이즈 통신 컴포넌트
추천 · sgcREST

OpenAPI 계약으로 만드는 REST API, Delphi 네이티브로

세 개의 컴포넌트가 두 가지 역할을 담당해요. TsgcHTTPRESTServer는 CORS, 옵트인 /metrics/health 엔드포인트, 멀티테넌트 요청 해석이 내장된 REST 서버예요. TsgcWSAPIServer_OpenAPILoadFromFile로 OpenAPI 3.x 계약을 불러와, 들어오는 모든 요청을 그 계약에 맞춰 디스패치하고 검증하고 인증해요. TsgcOpenAPI_Client는 OpenAPI로 설명된 모든 API용 타입 클라이언트의 기반이 되는 베이스 클래스예요. 단독 제품으로 sgcWebSockets Core 런타임이 함께 제공돼요.

  • 컴포넌트 클래스 3개
  • REST Server · OpenAPI Server · OpenAPI Client
  • CORS, /metrics, /health, 멀티테넌시
  • Delphi 7부터 13까지 · C++ Builder

두 개의 팔레트 컴포넌트, 하나의 클라이언트 베이스 클래스

sgcREST는 단독 패키지예요. 기반이 되는 sgcWebSockets Core 런타임을 함께 제공하고, 모든 라이선스에 전체 소스 코드가 포함되어 있어서 REST 디스패치와 OpenAPI 검증을 여러분의 디버거로 한 줄씩 따라갈 수 있어요.

2 팔레트 컴포넌트 SGC REST 페이지의 TsgcHTTPRESTServer, SGC OpenAPI 페이지의 TsgcWSAPIServer_OpenAPI예요.
3 전체 컴포넌트 클래스 REST 서버, OpenAPI 서버, OpenAPI 클라이언트 베이스 클래스예요.
2 내장 엔드포인트 /metrics/health예요. 옵트인이며 서버가 이미 적용 중인 Authentication 뒤에서 제공돼요.
1 단독 설치 프로그램 sgcWebSockets Core 런타임과 HTTP/TLS 계층이 모두 패키지 안에 들어 있어요.
100% 포함된 소스 코드 모든 라이선스에 세 컴포넌트와 번들 런타임의 전체 소스가 포함돼요.
sgcREST

Delphi와 C++ Builder를 위한 REST 서버와 OpenAPI 서버/클라이언트 컴포넌트예요. sgcWebSockets Core 런타임이 함께 제공되는 단독 패키지로, 전체 소스 코드와 로열티 없는 배포를 제공해요.

API를 게시하거나, 사용하거나

세 클래스는 방향에 따라 깔끔하게 나뉘어요. REST 서버와 OpenAPI 서버는 호출자가 접근하는 엔드포인트를 게시해요. OpenAPI 클라이언트 베이스 클래스는 생성된 SDK가 다른 누군가의 엔드포인트를 호출할 때 사용하는 클래스예요.

REST Server

CORS, 메트릭, 헬스, 테넌시가 내장돼 있어요

TsgcHTTPRESTServer는 sgcWebSockets HTTP 서버를 확장해 REST API에 흔히 필요한 배관 작업을 더해요: 교차 출처 요청을 위한 CORSOptions, ServerStats를 통한 옵트인 /metrics/health 엔드포인트, 그리고 호스트, 경로, 헤더, JWT 클레임 기준으로 동작하는 Tenancy를 통한 멀티테넌트 요청 해석이에요. Tenant는 해석된 값을 여러분의 요청 핸들러에 그대로 노출해요.

REST 서버 보기 →
OpenAPI Server

계약을 불러와서, 모든 요청을 디스패치하고 검증해요

TsgcWSAPIServer_OpenAPILoadFromFile이나 LoadFromString으로 OpenAPI 3.x 문서를 읽어 살아 있는 디스패처로 바꿔요: 들어오는 모든 요청이 계약과 매칭되어 오퍼레이션 ID별로 여러분의 OnRequest 핸들러로 라우팅돼요. OnValidationError, OnAuthenticate, OnValidateAPIKey, OnValidateBasic, OnValidateBearer가 스펙이 선언하는 보안 스킴을 다루고, OnBeforeRequest/OnAfterRequest가 호출을 앞뒤로 감싸요.

OpenAPI 서버 보기 →
OpenAPI Client

생성된 모든 SDK 뒤의 베이스 클래스 하나

TsgcOpenAPI_Client는 OpenAPI로 설명된 모든 API를 위한 범용 런타임 클라이언트예요: Basic 인증과 베어러 토큰, 범용 OAuth2와 JWT를 다루는 Authentication, 그리고 호출을 실행하는 HTTP_REQUESTHTTP_REQUEST_Async예요. 여러분이 직접 불러오거나 생성한 계약에 SetBaseURL을 지정하기만 하면 바로 호출할 준비가 끝나요.

무엇을 할 수 있는지 보기 →
탈출구

스펙에 필요한 모든 콜백

OnException이 핸들러 오류를 와이어에 닿기 전에 잡아내고, 검증 및 인증 이벤트 모두가 PathParams, QueryParams, RespondJSON이 담긴 파싱된 TsgcOpenAPIServerContext를 받으므로, 호출이 왜 승인되거나 거부되었는지가 전혀 숨겨지지 않아요.

검증 표면 →
크로스플랫폼

다섯 개의 플랫폼, 하나의 런타임

REST 서버와 OpenAPI 서버는 TsgcHTTPServer의 자손 클래스이고, OpenAPI 클라이언트는 Core 런타임의 나머지 부분과 동일한 HTTPS 스택 위에서 동작해요. Delphi 7부터 RAD Studio 13까지, 그리고 C++ Builder에서도요.

기능 매트릭스 →

각 컴포넌트의 참조 페이지예요:

엔드포인트를 게시하거나, 계약을 게시하거나

REST 서버는 요청을 여러분에게 그대로 넘겨줘요. OpenAPI 서버는 이미 매칭되고 검증된 오퍼레이션을 넘겨줘요. 둘 다 Delphi 7부터 13까지, 그리고 C++ Builder에서 동일하게 컴파일돼요.

uses
  sgcHTTP_REST_Server, sgcHTTP_REST_Server_Stats;
var
  RESTServer: TsgcHTTPRESTServer;
  Stats: TsgcHTTPServerStats;
begin
  // REST server: CORS, health/metrics and tenancy in one component
  RESTServer := TsgcHTTPRESTServer.Create(nil);
  Stats := TsgcHTTPServerStats.Create(nil);
  Stats.Endpoints.Health.Enabled := True;

  RESTServer.Port := 8080;
  RESTServer.CORSOptions.Enabled := True;
  RESTServer.CORSOptions.AllowOrigins := 'https://app.example.com';
  RESTServer.ServerStats := Stats;
  RESTServer.OnCommandGet := RESTServerCommandGet;
  RESTServer.Active := True;
end;

procedure TForm1.RESTServerCommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  AResponseInfo.ContentText := '{"status":"ok"}';
end;
uses
  sgcWebSocket_Server_API_OpenAPI, sgcHTTP_Server;
var
  OpenAPIServer: TsgcWSAPIServer_OpenAPI;
begin
  // OpenAPI server: load the contract, dispatch by operation id
  OpenAPIServer := TsgcWSAPIServer_OpenAPI.Create(nil);
  OpenAPIServer.Server := sgcHTTPServer1;
  OpenAPIServer.LoadFromFile('petstore.yaml');
  OpenAPIServer.OnRequest := OpenAPIServerRequest;

  sgcHTTPServer1.Port := 8080;
  sgcHTTPServer1.Active := True;
end;

procedure TForm1.OpenAPIServerRequest(Sender: TObject;
  const aOperationId: string; const aContext: TsgcOpenAPIServerContext;
  var Handled: Boolean);
begin
  if aOperationId = 'getPetById' then
  begin
    aContext.RespondJSON(200,
      '{"id":"' + aContext.PathParamAsString('petId') + '","name":"Rex"}');
    Handled := True;
  end;
end;

Object Pascal에서도 C++ Builder에서도 똑같은 모양이에요. 전체 기능 매트릭스 →

먼저 알아 두면 좋은 두 가지

sgcREST에 무엇이 필요한지, 그리고 무엇이 필요하지 않은지. 두 답 모두 짧고, 깨알 같은 약관이 아니라 바로 이 페이지에 있어요.

세 개의 컴포넌트, 두 가지 역할
component                           role
TsgcHTTPRESTServer                  publish a REST API: CORS,
                                       /metrics, /health, tenancy
TsgcWSAPIServer_OpenAPI             publish a REST API from an
                                       OpenAPI 3.x contract
TsgcOpenAPI_Client                  consume any OpenAPI-described API

Both server components are TsgcHTTPServer
  descendants, so they attach to the same Port,
  TLSOptions and Authentication your other
  sgcWebSockets servers already use.

sgcREST는 단독 제품이에요

단독 제품으로 sgcWebSockets Core 런타임이 포함되어 있어요. REST 서버와 OpenAPI 서버가 모두 실행되는 HTTP/TLS 서버 스택과, OpenAPI 클라이언트가 응답을 디코딩하는 JSON 계층까지 모두 포함해요. 설치 프로그램 하나에 전체 소스 코드가 들어 있어요.

REST 서버와 OpenAPI 서버는 하나의 기반을 공유해요

TsgcHTTPRESTServerOpenAPI 서버가 연결되는 HTTP 서버는 모두 TsgcHTTPServer의 자손이므로, 어느 쪽이 API를 게시하든 CORS, TLS, Authentication, 요청 파이프라인이 동일하게 동작해요.

OpenAPI 클라이언트에는 계약만 있으면 돼요

TsgcOpenAPI_Client는 경로, 헤더, 인증을 OpenAPI 문서에서 곧바로 해석해, Core 런타임의 순수 HTTPS 스택으로 통신해요.

Delphi와 C++ Builder

sgcREST는 Delphi 7부터 RAD Studio 13까지, 그리고 C++ Builder를 지원해요. REST 서버는 sgcWebSockets Professional 이상에도 들어 있고, OpenAPI 서버와 클라이언트는 기존 sgcOpenAPI 팩에도 포함되어 있어서, 기존 라이선스로 이미 커버될 수도 있어요. 무료 체험판 설치 프로그램은 sgcWebSockets All-Access 체험판이라서 오늘 바로 세 클래스 모두를 평가해 볼 수 있어요.

OpenAPI 3.x CORS 멀티테넌시 /metrics & /health 전체 소스

모든 컴포넌트와 속성 →

sgcREST는 여러분이 통제할 수 없는 코드 생성기를 감싸는 대신, 계약이 설명하는 REST와 OpenAPI 표면을 직접 구현하므로, 요청과 검증과 디스패치가 모두 일급 메서드와 이벤트로 제공되고, 전체 소스 코드 덕분에 그 사이에 블랙박스는 하나도 없어요.

열세 개의 라이브러리, 하나의 도구 상자

sgcREST는 Delphi, C++ Builder, .NET을 위한 열세 개의 eSeGeCe 컴포넌트 라이브러리 중 하나예요. 같은 규칙을 공유하고, 전체 소스와 함께 제공되며, 로열티 없이 배포할 수 있어요.

sgcREST

Delphi와 C++ Builder를 위한 REST 서버, OpenAPI 서버, OpenAPI 클라이언트 컴포넌트예요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcHTTP

Delphi와 C++ Builder를 위한 HTTP/2 클라이언트, gRPC 클라이언트, Google Cloud Pub/Sub, Calendar, FCM 클라이언트예요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcAuth

Delphi와 C++ Builder를 위한 OAuth2 클라이언트, JWT 클라이언트, WebAuthn 지원이에요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcWebSockets

Delphi, C++ Builder, Lazarus, .NET을 위한 WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI 및 30개 이상의 API 통합이에요. Enterprise 에디션에는 gRPC도 포함되어 있어요.

자세히 알아보기 →

sgcMQ

Delphi와 C++ Builder를 위한 MQTT, AMQP 0.9.1과 1.0, Apache Kafka, STOMP 클라이언트 컴포넌트예요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcSocial

Delphi와 C++ Builder를 위한 Telegram 및 WhatsApp Business 클라이언트 컴포넌트예요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcHTML

Delphi, C++ Builder, .NET을 위한 Bootstrap 5와 htmx 기반의 서버 사이드 HTML 및 UI 컴포넌트예요.

자세히 알아보기 →

sgcQUIC

원시 QUIC 전송과 HTTP/3 클라이언트 및 서버, 그리고 WebTransport를 제공해요. sgcWebSockets Enterprise의 애드온이에요.

자세히 알아보기 →

sgcAI

Delphi와 C++ Builder를 위한 AI, LLM, MCP 컴포넌트예요. 컴포넌트 하나로 일곱 개 LLM 제공업체를 사용하고, MCP와 임베딩, 음성까지 지원해요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcOpenAPI

OpenAPI 3.x 파서, 네이티브 Pascal SDK 생성기, OpenAPI 서버 컴포넌트, 그리고 1,195개 이상의 사전 빌드 클라우드 SDK를 제공해요.

자세히 알아보기 →

sgcSign

문서에는 XAdES, PAdES, CAdES, ASiC를, 코드에는 Authenticode, ClickOnce, NuGet, VSIX를 제공해요.

자세히 알아보기 →

sgcBiometrics

Delphi와 C++ Builder를 위한 Windows Hello, 지문 센서, Windows Biometric Framework를 제공해요.

자세히 알아보기 →

sgcIndy

Delphi 7부터 13까지 최신 TLS, IPv6, HTTP/2를 갖춘 업데이트된 Indy TCP/IP 컴포넌트예요.

자세히 알아보기 →

가격 및 라이선스 보기 무료 체험판 다운로드

개발자들의 평가

전 세계의 Delphi, C++ Builder, Lazarus 및 .NET 개발자가 신뢰해요.

sgcWebSockets 라이브러리는 정말 유용하고 설정하기 쉬워요. 앞으로도 좋은 작업 부탁드려요!

Simone Moretti Delphi 개발자

sgcWebSockets는 정말 훌륭하고 지원도 최고예요!

Christian Meyer 창립자 및 CTO

도움과 지원에 정말 감사드려요. 컴포넌트가 너무 마음에 들어요.

Mark Steinfeld CTO

지금 eSeGeCe의 REST & OpenAPI 관점을 보고 있어요.

다른 관점 보기 →

REST API, OpenAPI 계약, 네이티브 코드

REST 서버, OpenAPI 서버, OpenAPI 클라이언트를 하나로, sgcWebSockets Core 런타임이 함께 제공되고 전체 소스 코드가 상자 안에 들어 있어요.