有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在基于spring的REST API中将路径参数映射到gRPC对象?

我的REST API必须使用gRPC对象作为输入参数

最简单的例子是:

GET http://localhost:8083/api/books?page.number=1&page.size=30

其中原型定义为:

message PagedMessage {
    Page page = 1;
}

message Page {
    int32 number = 1;
    int32 size = 2;
}

控制器是:

@RequestMapping(value = "/api/books")
public class ObjectOps {

   @Autowired
   private BooksService booksService;

   @GetMapping(value = "/")
   @ResponseBody
   BooksList listBooks(@RequestParam PagedMessage request) {
      return booksService.getBooks(request);
   }
}

在应用程序中,我有this bean

@Bean
ProtobufJsonFormatHttpMessageConverter protobufJsonFormatHttpMessageConverter() {
      return new ProtobufJsonFormatHttpMessageConverter();
}

它对我有效的唯一方法是将分页信息作为GET body传递:

{ 
   "page" : {
      "number": 1,
      "size": 30
   }
}

但是,从请求路径参数中填充list books方法对象将非常好


共 (1) 个答案