当前位置:首页 > 科技  > 软件

受 TypeScript 启发,微软又搞了一个神器!

来源: 责编: 时间:2024-04-07 17:06:23 316观看
导读TypeSpec 是什么TypeSpec[1] 是一种高度可扩展的语言,可轻松描述 REST、OpenAPI、gRPC 和其他协议中常见的 API 结构。TypeSpec 在生成多种不同的 API 描述格式、客户端和服务端代码、文档等方面表现出色。有了 TypeSp

TypeSpec 是什么

图片u4128资讯网——每日最新资讯28at.com

TypeSpec[1] 是一种高度可扩展的语言,可轻松描述 REST、OpenAPI、gRPC 和其他协议中常见的 API 结构。TypeSpec 在生成多种不同的 API 描述格式、客户端和服务端代码、文档等方面表现出色。有了 TypeSpec,你就可以摆脱那些拖慢你速度的手写文件,并在几秒钟内生成符合标准的 API Schemas。u4128资讯网——每日最新资讯28at.com

TypeSpec 的特点

  • 简洁轻量:受 TypeScript 的启发,TypeSpec 是一种极简语言,可帮助开发人员以熟悉的方式描述 API。
  • 易集成:编写 TypeSpec,发布为各种格式,快速与其它生态系统集成。
  • 支持多种协议:TypeSpec 标准库支持主流的 OpenAPI 3.0,JSON Schema 2020-12,Protobuf,和 JSON RPC 等协议。
  • 功能强大:受益于庞大的 OpenAPI 工具生态系统,可用于配置 API 网关、生成代码和验证数据。
  • 保证数据一致性:定义要在 API 中使用的通用模型,使用 JSON Schema 发射器获取类型的 JSON Schema,并使用它们验证数据。
  • 友好的开发体验:在 VSCode 和 Visual Studio 编辑器中为了 TypeSpec 提供了全面的语言支持。比如,语法高亮、代码补全等功能。

TypeSpec 使用示例

生成 OpenAPI 描述文件

图片图片u4128资讯网——每日最新资讯28at.com

生成 JSON Schema

图片图片u4128资讯网——每日最新资讯28at.com

生成 Protobuf

图片图片u4128资讯网——每日最新资讯28at.com

TypeSpec Playground

要快速体验 TypeSpec 的功能,推荐你使用 TypeSpec 官方提供的 playground[2]。该 playground 预设了 API versioning、Discriminated unions、HTTP service、REST framework、Protobuf Kiosk 和 Json Schema 6 个不同的使用示例,并支持 File 和 Swagger UI 两种视图。u4128资讯网——每日最新资讯28at.com

File 视图

图片图片u4128资讯网——每日最新资讯28at.com

Swagger UI 视图

图片图片u4128资讯网——每日最新资讯28at.com

TypeSpec 快速上手

1.安装 @typespec/compiler 编译器

npm install -g @typespec/compiler

2.安装 VSCode 扩展

在 VSCode 中搜索 TypeSpec 安装 TypeSpec for VS Code 扩展,或在浏览器中打开 TypeSpec for VS Code[3] 网址后点击 Install 按钮。u4128资讯网——每日最新资讯28at.com

3.创建 TypeSpec 项目

首先新建一个新的目录,然后在项目的根目录下执行以下命令:u4128资讯网——每日最新资讯28at.com

tsp init

图片图片u4128资讯网——每日最新资讯28at.com

图片图片u4128资讯网——每日最新资讯28at.com

4.安装项目依赖

tsp install

成功执行上述命令后,在当前目录下会生成以下目录结构:u4128资讯网——每日最新资讯28at.com

.├── main.tsp├── node_modules├── package-lock.json├── package.json└── tspconfig.yaml

之后,打开 main.tsp 文件,输入以下代码:u4128资讯网——每日最新资讯28at.com

import "@typespec/http";using TypeSpec.Http;@service({  title: "Widget Service",})namespace DemoService;model Widget {  @visibility("read", "update")  @path  id: string;  weight: int32;  color: "red" | "blue";}@errormodel Error {  code: int32;  message: string;}@route("/widgets")@tag("Widgets")interface Widgets {  @get list(): Widget[] | Error;  @get read(@path id: string): Widget | Error;  @post create(...Widget): Widget | Error;  @patch update(...Widget): Widget | Error;  @delete delete(@path id: string): void | Error;  @route("{id}/analyze") @post analyze(@path id: string): string | Error;}

完成输入后,运行 tsp compile . 命令执行编译操作。成功编译后,在 tsp-output/@typespec/openapi3 目录下就会生成 openapi.yaml 文件:u4128资讯网——每日最新资讯28at.com

图片图片u4128资讯网——每日最新资讯28at.com

有关 TypeSpec 的相关内容就介绍到这里,如果你想进一步了解 TypeSpec 的基础使用和高级用法,推荐你阅读官方的使用文档[4]。u4128资讯网——每日最新资讯28at.com

参考资料u4128资讯网——每日最新资讯28at.com

[1]TypeSpec: https://typespec.io/u4128资讯网——每日最新资讯28at.com

[2]playground: https://typespec.io/playgroundu4128资讯网——每日最新资讯28at.com

[3]TypeSpec for VS Code: https://marketplace.visualstudio.com/items?itemName=typespec.typespec-vscodeu4128资讯网——每日最新资讯28at.com

[4]使用文档: https://typespec.io/docsu4128资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-81739-0.html受 TypeScript 启发,微软又搞了一个神器!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: SpringSecurity保护了什么?你知道吗?

下一篇: 重磅榜单:去年赚钱的编程语言前十名

标签:
  • 热门焦点
  • 天猫精灵Sound Pro体验:智能音箱没有音质?来听听我的

    这几年除了手机作为智能生活终端最主要的核心之外,第二个可以成为中心点的产品是什么?——是智能音箱。 手机在执行命令的时候有两种操作方式,手和智能语音助手,而智能音箱只
  • 分享六款相见恨晚的PPT模版网站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS网站旨在为全球Office用户提供丰富的高品质原创PPT模板、实用文档、数据图表及个性化定制服务。优点:OfficePLUS是微软官方网站,囊括PPT模板、Word模
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 一文掌握 Golang 模糊测试(Fuzz Testing)

    模糊测试(Fuzz Testing)模糊测试(Fuzz Testing)是通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。可以用来发现应用程序、操作系统和网络协议等中的漏洞或
  • 本地生活这块肥肉,拼多多也想吃一口

    出品/壹览商业 作者/李彦编辑/木鱼拼多多也看上本地生活这块蛋糕了。近期,拼多多在App首页“充值中心”入口上线了本机生活界面。壹览商业发现,该界面目前主要
  • 东方甄选单飞:有些鸟注定是关不住的

    作者:彭宽鸿来源:华尔街科技眼‍‍‍‍‍‍‍‍‍‍东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一
  • 首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    2023年5月23日晚,iQOO Neo8系列正式发布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro强悍登场,限时售价3099元起;价位段最强性能手机iQOO Neo8同期上市
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
  • 荣耀Magic4 至臻版 首创智慧隐私通话 强劲影音系统

    2022年第一季度临近尾声,在该季度内,许多品牌陆续发布自己的最新产品,让大家从全新的角度来了解当今的手机技术。手机是电子设备中,更新迭代十分迅速的一款产品,基
Top