ZOYKU火线榜

smithy-lang/smithy技术文档

Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.

多语言回退提示:当前仓库原作者暂未发布本地化文档,已为您无缝切换至官方英文原版(English),排版及代码实例完整保真。
极速安装
git clone https://github.com/smithy-lang/smithy.git

Smithy Smithy

Build Status

Important

Smithy IDL 2.1 has released! See the changelog to learn about the new syntax features.

Smithy defines and generates clients, services, and documentation for any protocol.

Smithy IDL

Smithy models define a service as a collection of resources, operations, and shapes.

$version: "2"

namespace example.weather

service Weather {
    version: "2006-03-01"
    resources: [City]
    operations: [GetCurrentTime]
}

resource City {
    identifiers: { cityId: CityId }
    read: GetCity
    list: ListCities
    resources: [Forecast]
}

// See the full example at https://smithy.io/2.0/quickstart.html#complete-example

Find out more about modeling a service with Smithy in the Quick Start guide.

Building Smithy models

Important

Before you proceed, make sure you have the Smithy CLI installed.

The Smithy CLI is the easiest way to get started with building Smithy models. First, create a smithy-build.json file:

{
    "version": "1.0",
    "sources": ["model"]
}

Next, create your first model model/main.smithy:

$version: "2"

namespace com.example

service ExampleService {
    version: "2020-05-27"
}

Finally, run smithy build to build the model with the Smithy CLI.

Find out more about building artifacts of your Smithy model in the Building Smithy Models guide. For more examples, see the examples repository

License

This library is licensed under the Apache 2.0 License.

文档镜像归档自 GitHub 官方源路径 · 访问原项目 GitHub
最后同步快照:2026-11-08