2016-07-24 10 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