我有许多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