生成 SDK

以 Markdown 格式查看

按照此页面上的说明生成 C#/.NET SDK。

1

Install the Fern CLI

$npm install -g fern-api
2

Initialize the fern folder

Initialize the fern folder with your existing OpenAPI specification, or start from scratch with a Fern Definition template. Specify your organization name using the --organization flag.

$fern init --openapi path/to/openapi.yml \
>--organization <YourOrganization>

OpenAPI accepts both JSON and YAML formats. You can always convert a Fern Definition to OpenAPI or OpenAPI to a Fern Definition later on.

This creates a fern folder in your current directory.

fern
fern.config.json# root-level configuration
api# your API
generators.yml# generators you're using
openapi
openapi.yml# API-level configuration
3

Validate your API definition

Check that your API definition is valid, and fix errors before proceeding:

$fern check

添加 SDK 生成器

运行以下命令将 C#/.NET SDK 生成器添加到 generators.yml

$fern add fern-csharp-sdk --group {{GROUP_NAME}}

此命令将以下 group 添加到 generators.yml

generators.yml
1 csharp-sdk: # 组名称
2 generators:
3 - name: fernapi/fern-csharp-sdk
4 version: 2.65.0
5 output:
6 location: local-file-system
7 path: ../sdks/csharp

生成 SDK

运行以下命令生成您的 SDK:

$fern generate --group csharp-sdk

如果您有多个 API,请使用 --api 标志来指定您要生成的 API:

$fern generate --group csharp-sdk --api your-api-name

This creates a sdks folder in your current directory. The resulting folder structure looks like this:

fern# 由 fern init 创建
sdks# 由 fern generate --group csharp-sdk 创建
csharp
src
YourOrganizationApi.sln
YourOrganizationApi
Imdb# 或您的 API 名称
Core
YourOrganizationApi.Test
Utils
Core
15

Set up GitHub repositories

Fern uses a multi-repo structure: your source repository contains the fern/ folder, and each SDK gets its own separate repository.

  1. Create a source repository for your fern/ folder if you don’t have one already (e.g., your-org/your-api-definitions).
  2. Create an SDK repository for your SDK (e.g., your-org/your-api-csharp-sdk).
  3. Install the Fern GitHub App on both repositories.
16

发布到 NuGet

遵循发布到 NuGet 指南来配置您的包并通过 GitHub Actions 设置自动发布。