Buf 初入门 2

上文讲了 Buf lint 命令的基础方法,本文将介绍 Buf lint 命令的一些常用配置。 如果你的项目中没有 buf.yaml 配置文件,Buf lint 会提供一个默认的配置文件,默认内容如下: version: v1 lint: use: - DEFAULT except: - FILE_LOWER_SNAKE_CASE ignore: - bat - ban/ban.proto ignore_only: ENUM_PASCAL_CASE: - foo/foo.proto - bar BASIC: - foo enum_zero_value_suffix: _UNSPECIFIED rpc_allow_same_request_response: false rpc_allow_google_protobuf_empty_requests: false rpc_allow_google_protobuf_empty_responses: false service_suffix: Service allow_comment_ignores: true 配置选项 接下来开始介绍 Buf lint 命令的配置选项。 use use 选项配置 lint 的类别,不同类别有相应的规则,有多种类别:DEFAULT、FILE_LOWER_SNAKE_CASE、BASIC 等。默认是 DEFAULT 类别。 except except 选项配置 lint 不使用的类别。 下面的配置,显示使用 DEFAULT 类别,但是不使用 ENUM_NO_ALLOW_ALIAS ,BASIC 类别中的规则。 version: v1 lint: use: - DEFAULT except: - ENUM_NO_ALLOW_ALIAS - BASIC ignore ignore 选项指定忽略的文件,可以是文件名,也可以是目录,注意路径是要相对于 buf.yaml 文件的。 ...

五月 4, 2022 · overstarry

Buf 初入门 1

Buf 的目标是将 API 开发转向模式驱动的范式,从而为未来铺平道路,使 API 以服务所有者和客户可以依赖的方式定义。 与简单地暴露 REST/JSON 服务相比,使用 IDL 来定义 API 有很多好处,今天,Protobuf 是业界最稳定、最广泛采用的 IDL。但就目前的情况来看,使用 Protobuf 比使用 JSON 作为数据传输格式要困难得多。 Buf 正在建立工具,使 Protobuf 对服务所有者和客户来说是可靠和友好的,同时保持它在技术上的明显优势。您的组织不需要重新发明轮子来高效地创建、维护和使用 Protobuf API。我们将为您处理您的 Protobuf 管理策略,因此您可以专注于重要的事情。 本篇文章是讲述 buf 使用的第一篇文章,主要讲解使用 buf 定义 proto 文件的 lint 规则。统一的 lint 规则,可以让个人或团队定义的 API 保持一致。 lint 1 创建 buf.yaml 文件 使用 buf mod init 命令创建 buf.yaml 文件。 version: v1 breaking: use: - FILE lint: use: - DEFAULT 使用默认 lint 规则。 2 运行 lint 命令 使用 buf lint 命令运行 lint。 ...

四月 23, 2022 · overstarry