【发布时间】:2020-08-03 19:50:20
【问题描述】:
我想开发一个协议缓冲区类型的 RESTful API,用协议缓冲区替换 JSON。
例如,一个 Spring Boot 实现:
@RestController
@RequestMapping("account")
public class AccountController {
@RequestMapping(
path = "ListAccount",
method = RequestMethod.POST,
consumes = {"application/x-protobuf", "application/x-protobuf;charset=UTF-8"},
produces = {"application/x-protobuf", "application/x-protobuf;charset=UTF-8"})
public ListAccountResponse listAccount(ListAccountRequest request) {
// do something
ListAccountResponse response = ListAccountResponse.newBuilder().build();
return response;
}
}
syntax = "proto3";
option java_multiple_files = true;
option java_package = "account.proto.api";
package account.api;
import "common/pagination.proto";
import "common/valid.proto";
import "account/data/account.proto";
message ListAccountRequest {
common.Pagination page = 1 [(valid.validate) = true];
}
message ListAccountResponse {
repeated account.data.Account accounts = 1;
common.Pagination page = 2;
}
似乎没有像 postman 这样的 GUI 客户端来测试协议缓冲区 API,这让我用 java 编写了一个测试器。如果有人能告诉我答案,我将不胜感激。
【问题讨论】:
-
让我们创建一个开源的:D
-
我找到了protoman 用于测试 API,但它无法正常工作。
标签: protocol-buffers