Accepting a Spring Data REST URI in custom controller

后端 未结 2 522
时光说笑
时光说笑 2021-02-05 08:08

I have a Spring Data Rest webmvc application that I\'d like to add some custom functionality to for batch operations.

I\'ve created a controller, and blended it into the

相关标签:
2条回答
  • 2021-02-05 08:36

    As it turns out, I was on the right track with adding a converter, unfortunately I was doing it in the wrong configuration method.

    I was able to get the desired functionality by moving my testConverter() bean to the RepositoryRestMvcConfiguration extension config class and then adding

    @Override
    public void configureConversionService(ConfigurableConversionService service) {
        service.addConverter(testConverter());
    }
    

    And working as intended. I feel a bit silly now for throwing that in the wrong spot in the first place, but hopefully this will help someone else out!

    0 讨论(0)
  • 2021-02-05 08:39

    I am posting an answer based on my last comment.

    Apparently the logic you require -- autoconverting URI from @RequestParam to a repository-managed entity -- is implemented in a few private methods of RepositorySearchController (see executeQueryMethod and prepareUris), so there's no easy way to get it in custom controllers.

    You can try creating your own argument resolver with Spring HATEOAS. Look into how PersistentEntityResourceHandlerMethodArgumentResolver resolver is implemented. It resolved an entity based on its @BackendId.

    0 讨论(0)
提交回复
热议问题