首页 > 解决方案 > 带有许多参数的 GET 方法 by rest

问题描述

我有课

@Data
@NoArgsConstructor
@AllArgsConstructor
public class TransactionRequest {
  private String p1;
  private String p2;
  private String p3;
}

我有休息方法

@Slf4j
@RestController
@RequestMapping("/api/transactions")
public class TransactionsController {

  ...

  @PostMapping(value = "/page/{page}")
  public TransactionsResponse transactions(@RequestBody TransactionRequest transactionRequest,
    @PathVariable int page) {
    return transactionsService.getTransactions(transactionRequest, page);

我在 Body 中传递了 3 个参数。但从逻辑上讲,如果我需要所有交易,我需要调用 GET 方法。并将 URL 更改为

@GetMapping(value = "/{p1}/{p2}/{p3}/page/{page}")

但如果我需要大过滤器来处理请求,我需要在 url 中传递许多参数。

一般来说,通过休息来做到这一点是正确的吗?

标签: javarestspring-mvcrestful-url

解决方案


推荐阅读