一个人开发一个App(OpenApi)

部署运行你感兴趣的模型镜像

为了少写代码,统一前后端的网络层,我使用了OpenApi设计restful接口。然后用openapi-generator来生成flutter的代码。生成go代码用的是oapi-codegen,它对go更友好一些。

我们直接在api.yml中设计接口,所有的返回值与请求者都提取到components里的schemas,responses里面去,这样生成的model命名更规范。

注意
1.go中的ID一般全部大写,而flutter这些是驼峰命名,所以要用x-go-name: ID来告诉生成go代码的时候用大写。
2.上传文件接口,上传多个文件的时候,生成的flutter代码final List? files;前面没有加@JsonKey(includeFromJson: false, includeToJson: false), 如果是单文件的就加了的。需要用vendorExtensions修改模版来生成

首先我们介绍go端的流程。
首先就是install插件

go install github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest

然后就能生成对应的go代码

oapi-codegen -config config.yml api.yml

flutter端的流程:

brew install openapi-generator

然后生成flutter代码

openapi-generator generate \
  -i api.yml \
  -g dart-dio \
  -o ./client_api \
  -t ./templates/dio \
  --additional-properties=serializationLibrary=json_serializable --global-property skipFormModel=false,modelDocs=false,apiTests=false,modelTests=false,enumUnknownDefaultCase=true

-g 有两个值 dart 与 dart-dio, dart就用内置的网络库,dart-dio用了一些第三方库如dio,json_serializable
-t 是模版,官方的模版可以再git clone https://github.com/OpenAPITools/openapi-generator.git下来在目录openapi-generator/modules/openapi-generator/src/main/resources/dart/libraries/dio里面可以看到,copy一份来修改即可。

这样就可以为我们生成go与flutter两端的接口代码,少写很多代码哦。

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值