2016-07-24 41 views
1

概述:彈簧HATEOAS:異常創建一個新的鏈接

我會用下面的命令基於Spring-Hateoas-Doc一個新的鏈接添加到JSON響應:

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

問題:

但是我得到了以下異常:

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

所以,如果有人可以建議我一個真正的解決方案,我將不勝感激。

回答

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