这是我的端点 http://localhost:8080/country/all
回复所有国家都可以
当我想过滤它们时返回未找到
国家为空并返回异常
throw new RecordNotFoundException("无效请求,无数据返回");
在我的数据库中有一条记录
县_代码 国家
KM科摩罗
这是我的 json 负载
{
"country_code":["KM"]
}
public interface CountryRepo extends JpaRepository, JpaSpecificationExecutor {
}
public final class CountrySpecs implements Specification {
final private SearchCriteria criteria;
public CountrySpecs(SearchCriteria searchCriteria) {
this.criteria = searchCriteria;
}
@Override
@Nullable
public Predicate toPredicate(Root root, CriteriaQuery> query, CriteriaBuilder builder) {
switch (criteria.getOperation()) {
case ":":
if (root.get(criteria.getKey()).getJavaType() == String.class) {
return builder.like(
root.get(criteria.getKey()),
"%" + criteria.getValue() + "%");
} else {
return builder.equal(root.get(criteria.getKey()),
criteria.getValue());
}
case "=":
return builder.equal(root.get(criteria.getKey()),
criteria.getValue());
case "in":
return builder.in(root.get(criteria.getKey())).value(criteria.getValue());
default:
return null;
}
}
}
@GetMapping("/all")
public ResponseEntity
谢谢Rashin,我已经改进了代码,但这个问题仍然存在!
希望能找到解决办法。
重置代码后,它正在工作......