首页 > 解决方案 > 如何处理具有不同参数的相同 URL?

问题描述

我在创建一些 REST-API 时遇到了一些问题。

我想要一些 API 有不同的参数。

举些例子:

path?include="stack"
path?exclude="overflow"

我想了两个办法。

@GetMapping
public ResponseEntity getByFilter(@RequestParam @Nullable final String exclude,
                                  @RequestParam @Nullable final String include){
 // any process to distinguish. 
}
@GetMapping(params = "include")
public ResponseEntity getByInclude(@RequestParam final String include){
// do anything
}

@GetMapping(params = "exclude")
public ResponseEntity getByInclude(@RequestParam final String exclude){
// do anything
}

但两者都有问题。

我该如何解决这些问题?

谢谢阅读。

标签: javaspringspring-bootswagger-ui

解决方案


您只需一个控制器即可完成此操作。像这样写控制器

@GetMapping
public ResponseEntity getByFilter(@RequestParam(value="exclude", required=false) String exclude,@RequestParam(value="include", required= flase)String include){
 // any process to distinguish. 
}

推荐阅读