加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 01:33:56 所属栏目:大数据 来源:网络整理
导读:我正在尝试生成搜索资源的链接.所以,我想创建一个提供我的搜索链接的资源: POST /resourcesearch{param1: "value1",param2:"value2"} 答复应该是: {"links":[ { "rel":"self","href":"http://localhost:8080/resourcesearch" },{ "rel":"resources","href"

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

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

答复应该是:

{"links":[
  {
    "rel":"self","href":"http://localhost:8080/resourcesearch"
  },{
    "rel":"resources","href":"http://localhost:8080/resources?param1=value1&param2=value2"
  }
}

这是我的代码:

@Controller
@RequestMapping("/resourcesearch")
public class ResourceSearchController{
  @RequestMapping(method = RequestMethod.POST) 
  public ResponseEntity

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

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

因为该行的结果是:

{
  "links" : [
    {
      "rel":"resources","href":"http://localhost:8080/resources"
    }
  ]
}

有任何想法吗?

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读