Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring Hateoas:创建新链接时出现异常_Spring_Hyperlink_Hateoas_Uritemplate - Fatal编程技术网

Spring Hateoas:创建新链接时出现异常

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控制器,因此提出

概述:

我将使用以下命令向JSON响应添加一个基于的新链接:

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>