首页 > 其他分享 >typespec 简单试用

typespec 简单试用

时间:2024-01-28 09:05:25浏览次数:34  
标签:Store string Pet 试用 简单 typespec tsp

typespec 是一个强大的api 描述框架,以下是一个简单的试用

安装typespec

可以安装为全局cli

  • 命令
npm install -g @typespec/compiler

使用

  • 创建项目
tsp init // 后续按照提示操作,可以选择http
  • 安装依赖
tsp install 
  • 项目结构
├── main.tsp
├── package-lock.json
├── package.json
└── tspconfig.yaml
  • 代码简单说明

tspconfig.yaml

emit:
  - "@typespec/openapi3"

package.json

{
  "name": "demo",
  "version": "0.1.0",
  "type": "module",
  "dependencies": {
    "@typespec/compiler": "latest",
    "@typespec/http": "latest",
    "@typespec/openapi3": "latest"
  },
  "private": true
}

main.tsp

import "@typespec/http";
 
using TypeSpec.Http;
 
model Pet {
  name: string;
  age: int32;
}
 
model Store {
  name: string;
  address: Address;
}
 
model Address {
  street: string;
  city: string;
}
 
@route("/pets")
interface Pets {
  list(@query filter: string): Pet[];
  create(@body pet: Pet): Pet;
  read(@path id: string): Pet;
}
 
@route("/stores")
interface Stores {
  list(@query filter: string): Store[];
  read(@path id: Store): Store;
}
  • 编译
tsp compile .
  • 效果

说明

以上是一个简单的试用,typespec 还是很强大的,值得学习试用下,对于开发api first 的架构很值得参考

参考资料

https://typespec.io/
https://github.com/microsoft/typespec

标签:Store,string,Pet,试用,简单,typespec,tsp
From: https://www.cnblogs.com/rongfengliang/p/17987926

相关文章

  • MFC 滑块控件简单使用
    ▲关联值在滑块的父窗体Dlg中,BOOLCMFCApplication1Dlg::OnInitDialog()初始化:m_pos关联Textbox,m_sb关联水平滑块。//设置编辑区默认m_pos=50;UpdateData(FALSE);//设置滑块范围m_sb.SetScrollRange(0,100);//设置滑块位置m_......
  • C# 简单的 HTTP 静态文件服务 NS (Netnr.Serve)
    NS(Netnr.Serve)简单的HTTP静态文件服务SimpleHTTPstaticfileservingStart(启动)启动逐个参数设置--urls(default:http://*:713/):--root(default:D:/site):#根目录,默认命令行启动位置--index(default:index.html):--404(default:404.html):--suffix(d......
  • 可观测性系统中对用户行为如何记录的一些简单介绍
    本文仅讨论核心代码的技术实现思路,以及从代码中看出来的一些内容,涉及到的内容基本包含以下四个文件rumEventCollectionactionCollectiongetActionNameFromElementlistenActionEventstrackClickAction以下内容,方便用户了解,我做了一些整理,包括精华代码部分。监听事件获取的前提第一步......
  • Springboot CRUD简单实现
    SpringBoot对Spring的改善和优化,它基于约定优于配置的思想,提供了大量的默认配置和实现使用SpringBoot之后,程序员只需按照它规定的方式去进行程序代码的开发即可,而无需再去编写一堆复杂的配置SpringBoot的主要功能如下:起步依赖:SpringBoot以功能化的方式将需要的依赖进行组装,并......
  • lazarus简单实现监控网络设备数据包
    1、准备工作。从Lazarus安装目录中找到pcap.pp。加到工程中,并引用它。win下要安装WinPcap。2、写一个读取数据的回调functionhtons(hostshort:word):word;beginResult:=((hostshortand$00FF)shl8)or((hostshortand$FF00)shr8);end;procedurePacketHandler(p......
  • 多线程简单介绍
    线程:是操作系统能够进行运算调度的最小单位。它被包含在进程中,是进程中实际运作单位进程:进程是程序的基本执行实体,一个程序就是一个进程简单理解线程:应用软件中相互独立,可以同时运行的功能有了多线程,就可以让程序同时做多件事线程的生命周期完整的线程状态New(新建状态)->......
  • MFC 定时器的简单用法
    View下两个消息事件:ON_WM_CREATEON_WM_TIMERBEGIN_MESSAGE_MAP(CMFCApplication1View,CView)//标准打印命令ON_COMMAND(ID_FILE_PRINT,&CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT,&CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW,&a......
  • 简单使用vim编辑器的用法
    vim的使用笔记可以涵盖很多内容,以下是一些基本操作和常见命令的简要总结:启动Vim打开或创建文件:vimfilename基本模式切换正常模式(NormalMode):启动时默认进入此模式,用于执行移动、复制、删除等操作。进入插入模式:按下i、a、o或O键(在光标前/后插入文本、新行下方/上方......
  • 简单定时任务实现
     在Java中,可以使用java.util.Timer或java.util.concurrent.ScheduledExecutorService类来实现定时任务。以下是使用java.util.Timer实现定时任务的示例代码: 1publicclassMyTimerTaskextendsTimerTask{2@Override3publicvoidrun(){4//......
  • V4l2 简单介绍和使用
    概述:Videoforlinux2(简称V4L2),是linux中关于视频设备的内核驱动。它也是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序;作用:支持许多USB网络摄像头,电视调谐器和相关设备,使它们的输出标准化,因此程序员可以轻松地向其应用程序......