我们正在使用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¶ms2=value2¶ms3=[value3a,value3b]
我们只需要返回此字符串。 因为我们可以构造这个字符串迭代地图。 但我认为春天有一种更优雅的方式。
答案 0 :(得分:2)
看一下Spring HATEOAS ControllerLinkBuilder。
也许您可以使用它从给定参数生成URL。虽然没有尝试过。
List<Order> methodLinkBuilder = methodOn(YourController.class).someMethod(params);
Link selfLink = linkTo(methodLinkBuilder).withRel("self");
答案 1 :(得分:2)
您可以尝试以下操作。
true