当未找到结果时,Spring Data REST搜索方法返回空体

时间:2015-07-20 18:21:36

标签: spring-data-rest

使用/{repository}/search/{method}搜索方法之一执行搜索时,如果搜索参数导致结果为空,则响应为空体。这可能会导致Ajax应用程序出现问题,该应用程序始终需要值JSON响应。有没有办法返回空JSON响应而不是返回任何内容。以下是我所说的Repository定义的类型。

public UserRepository extends PagingAndSortingRespository<User, Long>
{
   public User findByUsername(@Param("username")String username);
}

在上文中,如果您执行/users/search/findByUsername?username=foobar,您将获得状态代码为200的空响应。我想要做的是返回一个身份为{}的200状态代码

理想情况下,我不希望重写控制器处理并重新实现SDR已经提供的所有工作。

1 个答案:

答案 0 :(得分:1)

通过设计,SDR正在以正确的方式行事。但是,如果您需要始终响应(空或某些结果),请更改搜索方法的定义以返回集合。像下面的东西,并在客户端做必要的工作。

public UserRepository extends PagingAndSortingRespository<User, Long>
{
   public List<User> findByUsername(@Param("username")String username);
}