首页 > 解决方案 > Micronaut API 和带有控制器的客户端使用 Protobuf

问题描述

我有一个 Micronaut @Controller 如下:

@Post("/whatever")
@Consumes("application/x-protobuf")
@Produces(MediaType.TEXT_PLAIN)
public HttpResponse deserializeData (@Body byte[] body)
        throws ProtobufParsingException {

    return requestHandler.processDataRequest(body);
}

以及调用此 API 的客户端:

@Client("${protobuf-manager.url}")
public interface ProtobufManagerClient {

@Post("/${protobuf-manager.apiversion}/whatever")
@Consumes(MediaType.TEXT_PLAIN)
@Produces(ProtobufferCodec.PROTOBUFFER_ENCODED)
   String getData (@Body byte[] data);
}

问题是,我需要从我的byte[] data参数发送我的字节而不是更改@Consumes("application/x-protobuf")我的控制器中的。

body在控制器中以空的形式到达。

任何想法?

标签: arraysrestcontrollerprotocol-buffersmicronaut

解决方案



推荐阅读