日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

受 TypeScript 啟發,微軟又搞了一個神器!

來源: 責編: 時間:2024-04-07 17:06:23 207觀看
導讀TypeSpec 是什么TypeSpec[1] 是一種高度可擴展的語言,可輕松描述 REST、OpenAPI、gRPC 和其他協議中常見的 API 結構。TypeSpec 在生成多種不同的 API 描述格式、客戶端和服務端代碼、文檔等方面表現出色。有了 TypeSp

TypeSpec 是什么

圖片UWg28資訊網——每日最新資訊28at.com

TypeSpec[1] 是一種高度可擴展的語言,可輕松描述 REST、OpenAPI、gRPC 和其他協議中常見的 API 結構。TypeSpec 在生成多種不同的 API 描述格式、客戶端和服務端代碼、文檔等方面表現出色。有了 TypeSpec,你就可以擺脫那些拖慢你速度的手寫文件,并在幾秒鐘內生成符合標準的 API Schemas。UWg28資訊網——每日最新資訊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 描述文件

圖片圖片UWg28資訊網——每日最新資訊28at.com

生成 JSON Schema

圖片圖片UWg28資訊網——每日最新資訊28at.com

生成 Protobuf

圖片圖片UWg28資訊網——每日最新資訊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 兩種視圖。UWg28資訊網——每日最新資訊28at.com

File 視圖

圖片圖片UWg28資訊網——每日最新資訊28at.com

Swagger UI 視圖

圖片圖片UWg28資訊網——每日最新資訊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 按鈕。UWg28資訊網——每日最新資訊28at.com

3.創建 TypeSpec 項目

首先新建一個新的目錄,然后在項目的根目錄下執行以下命令:UWg28資訊網——每日最新資訊28at.com

tsp init

圖片圖片UWg28資訊網——每日最新資訊28at.com

圖片圖片UWg28資訊網——每日最新資訊28at.com

4.安裝項目依賴

tsp install

成功執行上述命令后,在當前目錄下會生成以下目錄結構:UWg28資訊網——每日最新資訊28at.com

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

之后,打開 main.tsp 文件,輸入以下代碼:UWg28資訊網——每日最新資訊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 文件:UWg28資訊網——每日最新資訊28at.com

圖片圖片UWg28資訊網——每日最新資訊28at.com

有關 TypeSpec 的相關內容就介紹到這里,如果你想進一步了解 TypeSpec 的基礎使用和高級用法,推薦你閱讀官方的使用文檔[4]。UWg28資訊網——每日最新資訊28at.com

參考資料UWg28資訊網——每日最新資訊28at.com

[1]TypeSpec: https://typespec.io/UWg28資訊網——每日最新資訊28at.com

[2]playground: https://typespec.io/playgroundUWg28資訊網——每日最新資訊28at.com

[3]TypeSpec for VS Code: https://marketplace.visualstudio.com/items?itemName=typespec.typespec-vscodeUWg28資訊網——每日最新資訊28at.com

[4]使用文檔: https://typespec.io/docsUWg28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-81739-0.html受 TypeScript 啟發,微軟又搞了一個神器!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: SpringSecurity保護了什么?你知道嗎?

下一篇: 重磅榜單:去年賺錢的編程語言前十名

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 阳城县| 宜川县| 泰兴市| 临颍县| 营山县| 靖远县| 林周县| 水富县| 金溪县| 子长县| 揭阳市| 大城县| 三门峡市| 瑞昌市| 奉节县| 库尔勒市| 金寨县| 江油市| 息烽县| 雅安市| 横山县| 杂多县| 乌苏市| 承德市| 武邑县| 富民县| 黔西县| 唐河县| 亳州市| 哈巴河县| 昭通市| 新干县| 鄂托克前旗| 南涧| 镇康县| 中阳县| 刚察县| 蓬莱市| 秀山| 定襄县| 普宁市|