Мой 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);
}
}
И в приложении у меня есть этот компонент :
@Bean
ProtobufJsonFormatHttpMessageConverter protobufJsonFormatHttpMessageConverter() {
return new ProtobufJsonFormatHttpMessageConverter();
}
Единственный способ, которым он работал для меня, - передать информацию о подкачке в виде тела GET:
{
"page" : {
"number": 1,
"size": 30
}
}
, но было бы здорово, чтобы объект метода списка книг заполнялся из пути запросапараметры.