protocol-buffers - protobuf api-linter 显示时要导入的内容:“未知扩展 google.api.method_signature”
问题描述
我带着旗子跑:
api-linter rf/x/v1alpha1/y.proto \
-I=/home/asd/go/pkg/mod/github.com/grpc-ecosystem/grpc-gateway/v2@v2.2.0/third_party/googleapis \
-I=/home/asd/go/pkg/mod/github.com/grpc-ecosystem/grpc-gateway/v2@v2.2.0 \
--disable-rule="core::0123::resource-annotation" \
--disable-rule="core::0131::request-name-behavior" \
--disable-rule="core::0131::method-signature" \
--disable-rule="core::0131::request-name-reference" \
--disable-rule="core::0132::request-parent-reference" \
--disable-rule="core::0132::request-parent-behavior" \
--disable-rule="core::0132::method-signature"
--disable-rule="core::0133::request-parent-behavior" \
--disable-rule="core::0133::request-resource-behavior" \
--disable-rule="core::0133::request-parent-reference" \
--disable-rule="core::0133::http-uri-parent" \
--disable-rule="core::0133::http-uri-parent" \
--disable-rule="core::0133::method-signature" \
--disable-rule="core::0192::has-comments" \
--disable-rule="core::0191::java-outer-classname" \
--disable-rule="core::0191::java-package"
要导入什么?
在它抱怨之前
message: Get methods should include `(google.api.method_signature) = "name"`
rule_id: core::0131::method-signature
rule_doc_uri: https://linter.aip.dev/131/method-signature
所以我添加了这一行:
rpc GetFoo(FooRequest) returns (Foo) {
option (google.api.http) = {
get: "/v1/{name=foo/*}"
};
option (google.api.method_signature) = "name";
// ^ this line added because api-linter complaint
}
解决方案
推荐阅读
- mocking - 开玩笑模拟多个 axios 调用
- python - 为什么这个方法不被类识别?
- java - 在 RestAssured Response 中迭代和验证 Json 数组中的值
- fragment - 片段的重用包含在元素中具有硬编码 id 的对话框
- php - 如何选择所有未发布的用户,按日期分组?
- r - 如何在 R 中的函数 read.table 中转义特殊字符?
- linux - auditd Syscalls - chown 和 chownat 之间的区别?
- javascript - 网络蓝牙,获取配对设备列表
- java - 打印控制台到 JFrame TextArea - 行为怪异(闪烁屏幕)
- c++ - C++ - 加载图像的 Base64 编码字符串以提升 GIL 图像/视图