簡體   English   中英

如何在基於Spring的REST API中將路徑參數映射到gRPC對象?

[英]How to map path params to gRPC object in spring based REST API?

我的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

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

它對我有用的唯一方法是將分頁信息作為GET主體傳遞:

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

但是最好從請求路徑參數中填充列表方法方法的對象。

我認為您只需刪除@RequestParam批注,Spring就會填充該對象。 通過此答案引用: https : //stackoverflow.com/a/16942352/8075423

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM