如何在spring boot中使用可分页接口从http url中删除/处理不相关或错误的排序参数?
例如,我有一个类似的问题http://localhost:8080/all?sort=firstName,asc
如何处理或删除不相关的字段“nosuchfield”?
此外,如何限制URL中的排序参数?
如果数据库中不存在排序字段,则Spring JPA将引发以下异常。
org.springframework.data.mapping.PropertyReferenceException: No property nosuchfield found for type <TYPE>!
at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:94)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:382)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:358)
但是,可以使用各种类型来处理异常。最终,您可以将其记录或转换为任何自定义异常。根据我的要求,我已将其转换为自定义异常。
@Aspect
@Component
public class UnKnownColumnSortingExceptionHandler {
@AfterThrowing(pointcut = "execution(* com.repositorypackage.*.*(..))", throwing = "exception")
public void executeWhenExceptionThrowninRepository(JoinPoint jp, Throwable ex) {
if (ex instanceof PropertyReferenceException) {
throw new CustomException("Invalid Database operation");
}
}
}
@ControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
public GlobalExceptionHandler() {}
@ExceptionHandler({PropertyReferenceException.class})
public ResponseEntity<Void> handleAllExceptions(Exception ex, WebRequest req) {
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
}
}
将以下代码添加到您的控制器
@ExceptionHandler({PropertyReferenceException.class})
public ResponseEntity<Void> handleAllExceptions(Exception ex, WebRequest req)
{
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
}
我试图在SonarQube 4.5.1上使用FxCop,但FxCopCmd失败了。 问题是,当SonarQube创建FxCopCmd调用时,他添加了参数 /aspnet.因为我的程序是一个Web项目,而不是一个网站,这个参数会导致4个分析引擎异常: C:\程序文件\Microsoft FxCOP 10.0 如果我在没有 /aspnet参数的情况下执行相同的调用,FxCopCmd运行良好: C:\程
问题内容: 我有一张桌子。为了快速升级/部署网站,我做了一个新表,其中包含一些新数据,方法是: 现在每个表都有一个PK列,看起来像: 重要的一点是,两个表都依赖于完全相同的序列。没有。就我的目的而言,这似乎还可以。 此后,我加载了新数据并重命名了表,以便将其作为实盘接管,而原始表变成了。现在我尝试删除: 足够公平,列默认值仍取决于顺序。 这是踢脚线。 因此,不再对序列具有任何可见的依赖关系,但是它
很抱歉,如果这是显而易见的,但我们已经为这件事挠头好几天了。 考虑三个实体,Parent、Child和x: X与Child有@ManyToOne关系,可选=true。 当我们删除一个父级时,理想情况是这样的。我们希望delete级联并移除与已删除父行相对应的所有子行。目前还没问题。但我们也希望引用任何已删除子项的任何X将子项关系清空。我们不想删除任何X,我们只想将关系空掉。这与它是一种“可选的”关
问题内容: 我正在创建一个RESTful Web服务(在Golang中),该服务从数据库中提取一组行并将其返回给客户端(智能手机应用程序或Web应用程序)。该服务需要能够提供分页。唯一的问题是,此数据在定期更改的“计算”列上排序(例如,网站上某内容的“竖起大拇指”或“竖起大拇指”的数量),因此 行可以在在客户的要求之间 。 我看了一些PostgreSQL功能,可以潜在地用来帮助我解决这个问题,但是
问题内容: 我的主活动调用了我的子活动中的处理程序。该处理程序由某些Runnable 的子类使用,但我无法对其进行管理。现在,在这种情况下,我需要先删除它们,然后再完成“活动”(以某种方式调用,但仍然会反复调用)。无论如何,要从处理程序中删除所有回调吗? 问题答案: 以我的经验,这非常有效! 在removeCallbacksAndMessages的文档中,它说… 删除obj为令牌的回调和已发送消息
我使用了spring boot(1.3.5)、spring-data、spring-data-jpa、JPA(hibernate/hsqldb)。 代码: 控制器: 我试着 也是,但不起作用。 浏览器输出: SQL无效!额外的“:”和重复的“ASC ASC”。 控制台输出: