如何在@RestResource中将'path'设置为空以仅将端点作为/ search {?name}

时间:2019-03-31 18:08:20

标签: java spring spring-data-rest

我在存储库中有一个自定义方法,我想更改其由Spring产生的端点。需要忽略“ /搜索”之后的“路径”

当前下面是暴露的端点(/search/findByName{?name})。

 "customFind": {
            "href": "http://localhost:8080/productType/search/findByName{?name}",
            "templated": true
        }

当前代码:

@RepositoryRestResource(collectionResourceRel = "productType", path = "productType")
public interface ProductTypeRepository extends JpaRepository<ProductType, Long> {

    @RestResource(path ="findByName", rel = "customFind")
    ProductType findByNameIgnoreCase(@Param("name") String productTypeName);

}

需要更改“路径”,以便我可以像下面那样访问端点。

 "customFind": {
            "href": "http://localhost:8080/productType/search{?name}",
            "templated": true
        }

我尝试指定path="",但没有任何效果。

我希望最终终点像 http://localhost:8080/productType/search?name="wooden"

1 个答案:

答案 0 :(得分:0)

根据Spring Data REST Documentation

All query method resources are exposed under the search resource.

因此,如果要自定义行为,则需要编写自己的自定义控制器方法。