【问题标题】:Is there any postman like client for protobuffer有没有像 protobuf 客户端这样的邮递员
【发布时间】: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


【解决方案1】:

您可以使用 protoman 类似 Postman 的 API 客户端来处理基于 protobuf 的消息。 https://github.com/spluxx/Protoman

【讨论】:

    【解决方案2】:

    您可以使用 BloomRpc。首先您应该导入您的 proto 文件,然后根据您的 rpc 服务更改请求格式。

    【讨论】:

    • 谢谢,但 BloomRPC 是用于 rpc 服务而不是 https+proto。
    • 您可以在 rpc 服务前面放置 Rest Auto Controller 机制,并通过 Swagger 调用它们
    猜你喜欢
    • 2017-05-17
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 2015-12-09
    • 1970-01-01
    • 2017-10-12
    相关资源
    最近更新 更多