概述:
我将使用以下命令将基于春-Hateoas-Doc的新链接添加到JSON响应中:
linkTo(methodOn(ProductRepository.class).findOne(10L)).withRel("product");问题:
然而,我得到了以下例外:
java.lang.IllegalArgumentException: 'uriTemplate' must not be null所以,如果有人能给我一个真正的解决方案,我将不胜感激。
发布于 2016-07-25 00:45:11
我发现了问题。由于我的处理器类不是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;
}
}它为我创建了以下链接:
http://localhost/products/10发布于 2020-04-11 20:36:54
如果您使用的是hateos版本0.20.0,那么尝试使用下面的maven依赖项将其升级到23。
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>0.23.0.RELEASE</version>
</dependency>https://stackoverflow.com/questions/38548834
复制相似问题