gpt4 book ai didi

rest - HATEOAS 链接到带有可选请求参数的方法

转载 作者:行者123 更新时间:2023-12-04 16:50:00 28 4
gpt4 key购买 nike

我想链接到具有以下签名的方法:

public SomeResponse getSomeObjects(@RequestParam(value = "foo", defaultValue = "bar") Foo fooValue)

现在我希望链接看起来像这样:

http://myhost/api/someobjects

我尝试使用 Spring HATEOAS 的 ControllerLinkBuilder 中的 methodOn,如下所示:

discoverResponse.add(linkTo(methodOn(SomeController.class).getSomeObjects(null)).withRel("someobjects"))

但它不会导致所需的链接,因为在其末尾添加了 ?foo。我怎样才能达到上述目标?

最佳答案

由于向后兼容性对你来说是个问题,你总是可以像这样手动构造你的 Link 对象:

discoverResponse.add(new Link(baseUri() + "/someobjects", "someobjects"));

另一种选择是在 GitHub 上 fork Spring HATEOAS,自己构建项目,并更改 ControllerLinkBuilder 中处理默认值的方式。我真的不知道你会如何期望一个脱离上下文的链接构建器能够区分它是否应该通告一个可选参数。在 HATEOAS 世界中,如果不包含该参数,则客户端不知道它。那么为什么还要有可选参数呢?

关于rest - HATEOAS 链接到带有可选请求参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20214613/

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