org.springframework.web.bind.support.WebExchangeBindException类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(7.4k)|赞(0)|评价(0)|浏览(250)

本文整理了Java中org.springframework.web.bind.support.WebExchangeBindException类的一些代码示例,展示了WebExchangeBindException类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WebExchangeBindException类的具体详情如下:
包路径:org.springframework.web.bind.support.WebExchangeBindException
类名称:WebExchangeBindException

WebExchangeBindException介绍

[英]A specialization of ServerWebInputException thrown when after data binding and validation failure. Implements BindingResult (and its super-interface Errors) to allow for direct analysis of binding and validation errors.
[中]数据绑定和验证失败后引发的ServerWebInputException专门化。实现BindingResult(及其超级接口错误),以便直接分析绑定和验证错误。

代码示例

代码示例来源:origin: spring-projects/spring-framework

  1. private void validate(Object target, Object[] validationHints, MethodParameter param,
  2. BindingContext binding, ServerWebExchange exchange) {
  3. String name = Conventions.getVariableNameForParameter(param);
  4. WebExchangeDataBinder binder = binding.createDataBinder(exchange, target, name);
  5. binder.validate(validationHints);
  6. if (binder.getBindingResult().hasErrors()) {
  7. throw new WebExchangeBindException(param, binder.getBindingResult());
  8. }
  9. }

代码示例来源:origin: spring-projects/spring-framework

  1. /**
  2. * Returns diagnostic information about the errors held in this object.
  3. */
  4. @Override
  5. public String getMessage() {
  6. MethodParameter parameter = getMethodParameter();
  7. Assert.state(parameter != null, "No MethodParameter");
  8. StringBuilder sb = new StringBuilder("Validation failed for argument at index ")
  9. .append(parameter.getParameterIndex()).append(" in method: ")
  10. .append(parameter.getExecutable().toGenericString())
  11. .append(", with ").append(this.bindingResult.getErrorCount()).append(" error(s): ");
  12. for (ObjectError error : this.bindingResult.getAllErrors()) {
  13. sb.append("[").append(error).append("] ");
  14. }
  15. return sb.toString();
  16. }

代码示例来源:origin: spring-projects/spring-framework

  1. private void testValidationError(MethodParameter param, Function<Mono<?>, Mono<?>> valueMonoExtractor)
  2. throws URISyntaxException {
  3. ServerWebExchange exchange = postForm("age=invalid");
  4. Mono<?> mono = createResolver().resolveArgument(param, this.bindContext, exchange);
  5. mono = valueMonoExtractor.apply(mono);
  6. StepVerifier.create(mono)
  7. .consumeErrorWith(ex -> {
  8. assertTrue(ex instanceof WebExchangeBindException);
  9. WebExchangeBindException bindException = (WebExchangeBindException) ex;
  10. assertEquals(1, bindException.getErrorCount());
  11. assertTrue(bindException.hasFieldErrors("age"));
  12. })
  13. .verify();
  14. }

代码示例来源:origin: naturalprogrammer/spring-lemon

  1. public static List<LemonFieldError> getErrors(WebExchangeBindException ex) {
  2. List<LemonFieldError> errors = ex.getFieldErrors().stream()
  3. .map(LemonFieldError::of).collect(Collectors.toList());
  4. errors.addAll(ex.getGlobalErrors().stream()
  5. .map(LemonFieldError::of).collect(Collectors.toSet()));
  6. return errors;
  7. }

代码示例来源:origin: hantsy/angular-spring-reactive-sample

  1. WebExchangeBindException webExchangeBindException = (WebExchangeBindException) ex;
  2. log.debug("errors:" + webExchangeBindException.getFieldErrors());
  3. Errors errors = new Errors("validation_failure", "Validation failed.");
  4. webExchangeBindException.getFieldErrors().forEach(e -> errors.add(e.getField(), e.getCode(), e.getDefaultMessage()));

代码示例来源:origin: spring-cloud/spring-cloud-open-service-broker

  1. @ExceptionHandler(WebExchangeBindException.class)
  2. @ResponseStatus(HttpStatus.UNPROCESSABLE_ENTITY)
  3. public ErrorMessage handleException(WebExchangeBindException ex) {
  4. return handleBindingException(ex, ex.getBindingResult());
  5. }

代码示例来源:origin: spring-projects/spring-framework

  1. if (adapter != null) {
  2. return adapter.fromPublisher(errors.hasErrors() ?
  3. Mono.error(new WebExchangeBindException(parameter, errors)) :
  4. valueMono);
  5. throw new WebExchangeBindException(parameter, errors);

代码示例来源:origin: org.springframework/spring-web

  1. /**
  2. * Returns diagnostic information about the errors held in this object.
  3. */
  4. @Override
  5. public String getMessage() {
  6. MethodParameter parameter = getMethodParameter();
  7. Assert.state(parameter != null, "No MethodParameter");
  8. StringBuilder sb = new StringBuilder("Validation failed for argument at index ")
  9. .append(parameter.getParameterIndex()).append(" in method: ")
  10. .append(parameter.getExecutable().toGenericString())
  11. .append(", with ").append(this.bindingResult.getErrorCount()).append(" error(s): ");
  12. for (ObjectError error : this.bindingResult.getAllErrors()) {
  13. sb.append("[").append(error).append("] ");
  14. }
  15. return sb.toString();
  16. }

代码示例来源:origin: org.springframework/spring-web-reactive

  1. protected void validate(Object target, Object[] validationHints,
  2. MethodParameter param, BindingContext binding, ServerWebExchange exchange) {
  3. String name = Conventions.getVariableNameForParameter(param);
  4. WebExchangeDataBinder binder = binding.createDataBinder(exchange, target, name);
  5. binder.validate(validationHints);
  6. if (binder.getBindingResult().hasErrors()) {
  7. throw new WebExchangeBindException(param, binder.getBindingResult());
  8. }
  9. }

代码示例来源:origin: apache/servicemix-bundles

  1. /**
  2. * Returns diagnostic information about the errors held in this object.
  3. */
  4. @Override
  5. public String getMessage() {
  6. MethodParameter parameter = getMethodParameter();
  7. Assert.state(parameter != null, "No MethodParameter");
  8. StringBuilder sb = new StringBuilder("Validation failed for argument at index ")
  9. .append(parameter.getParameterIndex()).append(" in method: ")
  10. .append(parameter.getExecutable().toGenericString())
  11. .append(", with ").append(this.bindingResult.getErrorCount()).append(" error(s): ");
  12. for (ObjectError error : this.bindingResult.getAllErrors()) {
  13. sb.append("[").append(error).append("] ");
  14. }
  15. return sb.toString();
  16. }

代码示例来源:origin: org.springframework/spring-web-reactive

  1. if (adapter != null) {
  2. return adapter.fromPublisher(errors.hasErrors() ?
  3. Mono.error(new WebExchangeBindException(parameter, errors)) :
  4. Mono.just(value));
  5. throw new WebExchangeBindException(parameter, errors);

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web

  1. /**
  2. * Returns diagnostic information about the errors held in this object.
  3. */
  4. @Override
  5. public String getMessage() {
  6. MethodParameter parameter = getMethodParameter();
  7. Assert.state(parameter != null, "No MethodParameter");
  8. StringBuilder sb = new StringBuilder("Validation failed for argument at index ")
  9. .append(parameter.getParameterIndex()).append(" in method: ")
  10. .append(parameter.getExecutable().toGenericString())
  11. .append(", with ").append(this.bindingResult.getErrorCount()).append(" error(s): ");
  12. for (ObjectError error : this.bindingResult.getAllErrors()) {
  13. sb.append("[").append(error).append("] ");
  14. }
  15. return sb.toString();
  16. }

代码示例来源:origin: spring-cloud/spring-cloud-open-service-broker

  1. @Test
  2. public void webExchangeBindExceptionException() throws NoSuchMethodException {
  3. BindingResult bindingResult = new MapBindingResult(new HashMap<>(), "objectName");
  4. bindingResult.addError(new FieldError("objectName", "field1", "message"));
  5. bindingResult.addError(new FieldError("objectName", "field2", "message"));
  6. Method method = this.getClass().getMethod("setUp", (Class<?>[]) null);
  7. MethodParameter parameter = new MethodParameter(method, -1);
  8. WebExchangeBindException exception =
  9. new WebExchangeBindException(parameter, bindingResult);
  10. ErrorMessage errorMessage = exceptionHandler.handleException(exception);
  11. assertThat(errorMessage.getError()).isNull();
  12. assertThat(errorMessage.getMessage()).contains("field1");
  13. assertThat(errorMessage.getMessage()).contains("field2");
  14. }

相关文章