首页 > 解决方案 > 使用 Spring HATEOAS 添加默认链接

问题描述

我有许多 JPA 实体,每个都由 Spring Rest Data 存储库管理,我想在其中一个上重载 POST 方法,进行一次重置调用,然后完全一样。

我希望避免做的是一直从头开始构建我的所有对象和关系,如果我没有提供我自己的方法,我只想准确地获得 spring 默认给我的东西。

尝试1:

创建一个如下所示的控制器:

@RepositoryRestController
public class Entity0Controller {
    @Autowired
    Entity0DataRestRepository repo;

    @PostMapping(path="/entity0")
    public Resource<Entity0> createEntity0(Entity0 e)
    {
        e.setName("I have been changed");
        return new Resource<>(repo.save(e));
    }
}

我回来的错误是:

圆形视图路径 [entity0]:将再次分派回当前处理程序 URL [/entity0]。检查您的 ViewResolver 设置!(提示:由于默认视图名称生成,这可能是未指定视图的结果。)

尝试2:

将 POST 函数更改为:

@PostMapping(path="/entity0")
public @ResponseBody Entity0 createEntity0(Entity0 e)
{
    e.setName("I have been changed");
    return repo.save(e);
}

现在我避开了圆形视图路径错误,但我根本没有得到任何链接。

我觉得我很接近,如果有人想查看 MCVE/SSCCE(总共不到 20 行代码),代码在这里:https ://github.com/soandos/spring-rest-override-example

标签: javaspring-bootspring-data-restspring-hateoas

解决方案


推荐阅读