gpt4 book ai didi

java - Spring Hateoas中如何通过注解设置资源关系?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:32 26 4
gpt4 key购买 nike

有没有办法通过注解来设置资源关系?前段时间我提出了类似的问题,但我还不够清楚。我想要这样的东西:

public class UserResource {

private String username;

@Relation(value = "{servicebaseUrl}/classes/${value}", rel = "class")
private String classId;

// Getters and setters
}

然后添加一个消息转换器,仅当客户端发送 Accept = application/hal+json 时才添加链接,避免为 application/hal+json 做两个不同的 Controller 端点application/json。 Spring是否提供类似的东西?我发现它实际上提供了这个 @Relation 注释(或类似的注释),但它似乎不是出于相同的目的。

最佳答案

不,这是不可能的 - 您必须实现 ResourceAssembler 来添加资源链接。

通常您的资源扩展ResourceSupport

class PersonResource extends ResourceSupport {

String firstname;
String lastname;
}

然后您创建 ResourceAssembler 来控制该资源的创建:

class PersonResourceAssembler extends ResourceAssemblerSupport<Person, PersonResource> {

public PersonResourceAssembler() {
super(PersonController.class, PersonResource.class);
}

@Override
public PersonResource toResource(Person person) {

PersonResource resource = createResource(person);
// … do further mapping and add links
resource.add(new Link("http://myhost/people"));
return resource;
}
}

参见 spring hateoas documentation详情

关于java - Spring Hateoas中如何通过注解设置资源关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32802806/

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