当前位置: 首页 > 知识库问答 >
问题:

Spring boot rest请求数据类型验证

令狐跃
2023-03-14

我正在spring boot rest中对请求对象进行验证。我必须验证请求的数据类型。该请求有多个布尔值,并试图验证是否为布尔数据类型传入了字符串。我在ControllerAdvice类中处理了HttpMessageOnTreadableException,并发送了错误消息列表。但在我的回答中,只有第一个字段抛出异常。如果有线索,请帮忙。

共有1个答案

韩朝斑
2023-03-14

@毗瑟奴·杜比用这个。。。。。

  @RestControllerAdvice
        public class ServiceControllerAdvice {
            private static final Logger log = LoggerFactory.getLogger(ServiceControllerAdvice.class);
            @ExceptionHandler(value = { ConstraintViolationException.class })
            @ResponseStatus(value = HttpStatus.BAD_REQUEST)
            public ServiceResponse<?> constraintViolationException(final ConstraintViolationException ex) {
                log.error("Validation failed", ex);
                final ServiceResponse<?> response = new ServiceResponse<>(-1);
                final Error error = new Error();
                error.setCode("PS01");
                error.setContext(ex);
                error.setMessage(ex.getMessage());
                response.setError(error);
                return response;
            }
}
 类似资料:
  • TP5提供了很多请求判断的方法,如下: // 是否为 GET 请求 $request->isGet(); // 是否为 POST 请求 $request->isPost(); // 是否为 PUT 请求 $request->isPut(); // 是否为 DELETE 请求 $request->isDelete(); // 是否为 Ajax 请求 $request->isAjax();

  • 请参考:http://www.kancloud.cn/manual/thinkphp/1722

  • TP6提供了很多请求判断的方法,如下: // 是否为 GET 请求 $request->isGet(); // 是否为 POST 请求 $request->isPost(); // 是否为 PUT 请求 $request->isPut(); // 是否为 DELETE 请求 $request->isDelete(); // 是否为 Ajax 请求 $request->isAjax();

  • 获取请求类型 在很多情况下面,我们需要判断当前操作的请求类型是GET、POST、PUT、DELETE或者HEAD,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全性,过滤不安全的请求。 请求对象Request类提供了下列方法来获取或判断当前请求类型: 用途 方法 获取当前请求类型 method 判断是否GET请求 isGet 判断是否POST请求 isPost 判断是否

  • 问题内容: 我想检查我的客户请求的类型是JSON还是HTML,因为我希望自己的路线能够同时满足人和机器的需求。 我在以下位置阅读了Express 3文档: http://expressjs.com/api.html 有两种方法和,使用方法如下: 要么 由于这些无法正常工作,因此我尝试使用: 要么 总是… 也不起作用。我究竟做错了什么? 编辑1 :我已经检查了正确的客户端HTML协商。这是我的两个不

  • POST请求中的内容类型和数据类型是什么?假设我有这个: 是我们发送的吗?那么我们在上面的例子中发送的是JSON,而我们收到的是纯文本?我真的不明白。