Spring Hateoas:创建新链接时出现异常
概述: 我将使用以下命令向JSON响应添加一个基于的新链接:Spring Hateoas:创建新链接时出现异常,spring,hyperlink,hateoas,uritemplate,Spring,Hyperlink,Hateoas,Uritemplate,概述: 我将使用以下命令向JSON响应添加一个基于的新链接: linkTo(methodOn(ProductRepository.class).findOne(10L)).withRel("product"); 问题: 但是,我得到了以下例外: java.lang.IllegalArgumentException: 'uriTemplate' must not be null 因此,如果有人能给我一个真正的解决方案,我将不胜感激。我发现了这个问题。由于我的处理器类不是rest控制器,因此提出
linkTo(methodOn(ProductRepository.class).findOne(10L)).withRel("product");
问题:
但是,我得到了以下例外:
java.lang.IllegalArgumentException: 'uriTemplate' must not be null
因此,如果有人能给我一个真正的解决方案,我将不胜感激。我发现了这个问题。由于我的处理器类不是rest控制器,因此提出了这个问题。 为了解决这个问题,我使用了entityLinks,如下所示:
@Controller
public class StockMovementsProcessor implements ResourceProcessor<Resource<StockMovementsProjection>> {
@Autowired
private EntityLinks entityLinks;
@Override
public Resource<StockMovementsProjection> process(Resource<StockMovementsProjection> stockMovementsProjectionResource) {
StockMovementsProjection stockMovementsProjection = stockMovementsProjectionResource.getContent();
stockMovementsProjectionResource.add(entityLinks.linkFor(Product.class).slash(10L).withRel("product"));
return stockMovementsProjectionResource;
}
}
如果您使用的是hateos版本0.20.0,请尝试使用以下maven依赖项将其升级到23
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>0.23.0.RELEASE</version>
</dependency>
org.springframework.hateoas
春风
0.23.0.0发布
这可能是因为hateos版本问题。
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>0.23.0.RELEASE</version>
</dependency>