2

概述:

我将使用以下命令将基于Spring-Hateoas-Doc的新链接添加到 JSON 响应:

linkTo(methodOn(ProductRepository.class).findOne(10L)).withRel("product");

问题:

但是我得到了以下异常:

java.lang.IllegalArgumentException: 'uriTemplate' must not be null

因此,如果有人能建议我一个真正的解决方案,我将不胜感激。

4

2 回答 2

1

我发现了这个问题。因为我的处理器类不是休息控制器,所以已经提出了这个问题。为了解决这个问题,我使用了 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;
    }
}

它为我创建了以下链接:

http://localhost/products/10
于 2016-07-25T00:45:11.280 回答
0

如果您使用的是 hatos 0.20.0 版本,请尝试使用以下 maven 依赖项将其升级到 23

<dependency>
    <groupId>org.springframework.hateoas</groupId>
    <artifactId>spring-hateoas</artifactId>
    <version>0.23.0.RELEASE</version>
</dependency>
于 2020-04-11T20:36:54.367 回答