如何使用Spring HATEOAS添加查询字符串参数?

前端之家收集整理的这篇文章主要介绍了如何使用Spring HATEOAS添加查询字符串参数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试生成搜索资源的链接.所以,我想创建一个提供我的搜索链接的资源:

  1. POST /resourcesearch
  2. {param1: "value1",param2:"value2"}

答复应该是:

  1. {"links":[
  2. {
  3. "rel":"self","href":"http://localhost:8080/resourcesearch"
  4. },{
  5. "rel":"resources","href":"http://localhost:8080/resources?param1=value1&param2=value2"
  6. }
  7. }

这是我的代码

  1. @Controller
  2. @RequestMapping("/resourcesearch")
  3. public class ResourceSearchController{
  4. @RequestMapping(method = RequestMethod.POST)
  5. public ResponseEntity

问题是我无法弄清楚如何将查询字符串参数添加到行中的url:

  1. resource.add(linkTo(ResourceController.class).withRel("resources"));

因为该行的结果是:

  1. {
  2. "links" : [
  3. {
  4. "rel":"resources","href":"http://localhost:8080/resources"
  5. }
  6. ]
  7. }

有任何想法吗?

最佳答案
您在资源和所需输出中使用的名称之间存在一些(潜在的)不匹配,因此我无法很好地映射.

无论如何,您需要使用ControllerLinkBuilder的methodOn. Here’s一个很好的例子,应该让你去.

对于更复杂的示例,Spring HATEOAS的unit tests是一个很好的示例来源.

猜你在找的Spring相关文章