ballerina 学习三 根据swagger 以及protobuf 生成code
备注:
基本环境安装就不用介绍了,swagger 以及grpc 同时也不用介绍了,都是比较简单的代码,就是一个简单的测试
1. 初始化项目
ballerina init
项目结构如下:
├── README.md
├── hello_service.bal
├── swagger.json
├── tests
│ └── hello_service_test.bal
└── userservice.proto
2. 代码说明
备注: 主要是swagger 以及proto
a. swagger.json
这个是直接从swagger 官方的editor 导出的比较简单
b. userservice.proto(一个简单的echo服务定义 )
syntax="proto3";
package echoservice;
option go_package="echoservice";
service EchoService {
rpc Echo(EchoMessage) returns (EchoResponse);
}
message EchoMessage{
string message=1;
}
message EchoResponse{
string message=1;
}
3. 生成代码
a. swagger
ballerina swagger client swagger.json
b. grpc
ballerina grpc --input userservice.proto
生成之后的代码基本项目结构如下:
├── README.md
├── echoservice
│ └── client
│ ├── EchoService_pb.bal
│ └── EchoService_sample_client.bal
├── hello_service.bal
├── protoc-osx-x86_64.exe
├── schema.bal
├── swagger.json
├── swagger_petstore.bal
├── tests
│ └── hello_service_test.bal
└── userservice.proto
备注:具体代码可以参考github 项目
4. 参考文档
https://editor.swagger.io/
https://github.com/rongfengliang/ballerina-swagger-demo
https://ballerina.io/learn/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2015-05-14 js 动态 activex 组件
2014-05-14 IE6/IE7下:inline-block解决方案
2014-05-14 IEPNGFix 解决IE6支持PNG透明问题
2014-05-14 Oracle:Decode在时间范围中的使用
2014-05-14 使用 dl 设计的简单的登陆界面 (为了记录)