如何使用所有查询参数返回与被调用端点相等的字符串

时间:2017-08-10 10:45:30

标签: java spring rest spring-mvc spring-boot

我们正在使用Spring rest api。 我们有一些端点,可以使用SOME查询参数调用。

@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<List<SomeObject>> someMethod(@RequestParam(required = false) MultiValueMap<String, String> params)

我们事先并不知道会收到哪些参数。 所以我们使用MultiValueMap然后处理它。 但是在响应中我们应该返回String,它用所有参数表示这个端点。 例如,如果客户端将其称为

/someendpoint?param1=value1&params2=value2&params3=[value3a,value3b]

我们只需要返回此字符串。 因为我们可以构造这个字符串迭代地图。 但我认为春天有一种更优雅的方式。

2 个答案:

答案 0 :(得分:2)

看一下Spring HATEOAS ControllerLinkBuilder

也许您可以使用它从给定参数生成URL。虽然没有尝试过。

List<Order> methodLinkBuilder = methodOn(YourController.class).someMethod(params);
Link selfLink = linkTo(methodLinkBuilder).withRel("self");

答案 1 :(得分:2)

您可以尝试以下操作。

true