gpt4 book ai didi

spring-hateoas - Spring HATEOAS 模板链接扩展

转载 作者:行者123 更新时间:2023-12-04 06:40:48 26 4
gpt4 key购买 nike

使用很棒的 HATEOAS 链接功能我正在尝试输出模板化的 url 以突出显示用户可用的过滤器参数

示例 Controller 方法

@RequestMapping(value = "/persons", method = RequestMethod.GET, produces = "application/hal+json")
public PersonsResource getPersons (@RequestParam(required = false, value = "name") String name, @RequestParam(required = false, value = "age") Integer age) {
...
personsResource.add(ControllerLinkBuilder.linkTo(ControllerLinkBuilder.methodOn(PersonController.class).getPersons(name, age)).withSelfRel());
}

当调用此方法时不带参数链接出现
_links: {
self: {
href: "http://myserver:8080/persons"
}
}

但我愿意
href: "http://myserver:8080/persons?name={name}&age={age}

如果提供一个参数就更好了
href: "http://myserver:8080/persons?name={name}&age=21

锦上添花的是 {...] 的查询参数将被忽略?

有谁知道这是否可以使用 Spring HATEOAS api?我已经设法解决了这个问题,但这对 API 来说似乎是一个合理的建议?

最佳答案

你可以试试 AffordanceBuilder从 spring-hateoas-ext 作为 ControllerLinkBuilder 的替代品。它为您在 linkTo-methodOn 惯用语中未定义的参数创建模板变量。

它不仅允许创建模板,还为您提供 RFC 5988 链接的全部功能并了解请求主体,以便您可以使用表单样式的请求描述符呈现 Hydra 或 Html 或 Siren 响应。

免责声明:我是 spring-hateoas-ext 的作者。

关于spring-hateoas - Spring HATEOAS 模板链接扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23801913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com