javax.validation.UnexpectedTypeException#org.springframework.web.bind.MissingServletRequestParameterException源码实例Demo

下面列出了javax.validation.UnexpectedTypeException#org.springframework.web.bind.MissingServletRequestParameterException 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: FastBootWeixin   文件: WxArgumentResolver.java
@Override
protected void handleMissingValue(String name, MethodParameter parameter, NativeWebRequest request)
        throws Exception {

    HttpServletRequest servletRequest = request.getNativeRequest(HttpServletRequest.class);
    if (MultipartResolutionDelegate.isMultipartArgument(parameter)) {
        if (!MultipartResolutionDelegate.isMultipartRequest(servletRequest)) {
            throw new MultipartException("Current request is not a multipart request");
        } else {
            throw new MissingServletRequestPartException(name);
        }
    } else {
        throw new MissingServletRequestParameterException(name,
                parameter.getNestedParameterType().getSimpleName());
    }
}
 
源代码2 项目: lams   文件: RequestParamMethodArgumentResolver.java
@Override
protected void handleMissingValue(String name, MethodParameter parameter, NativeWebRequest request)
		throws Exception {

	HttpServletRequest servletRequest = request.getNativeRequest(HttpServletRequest.class);
	if (MultipartResolutionDelegate.isMultipartArgument(parameter)) {
		if (!MultipartResolutionDelegate.isMultipartRequest(servletRequest)) {
			throw new MultipartException("Current request is not a multipart request");
		}
		else {
			throw new MissingServletRequestPartException(name);
		}
	}
	else {
		throw new MissingServletRequestParameterException(name,
				parameter.getNestedParameterType().getSimpleName());
	}
}
 
/**
 * Client did not formulate a correct request.
 * Log the exception message at warn level and stack trace as trace level.
 * Return response status HttpStatus.BAD_REQUEST (400).
 */
@ExceptionHandler({
	MissingServletRequestParameterException.class,
	MethodArgumentTypeMismatchException.class,
	InvalidStreamDefinitionException.class
})
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ResponseBody
public VndErrors onClientGenericBadRequest(Exception e) {
	String logref = logWarnLevelExceptionMessage(e);
	if (logger.isTraceEnabled()) {
		logTraceLevelStrackTrace(e);
	}
	String msg = getExceptionMessage(e);
	return new VndErrors(logref, msg);
}
 
源代码4 项目: Spring-Boot-Book   文件: GlobalExceptionHandler.java
/**
 * 400 - Bad Request
 */
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(MissingServletRequestParameterException.class)
public Map<String, Object> handleMissingServletRequestParameterException(MissingServletRequestParameterException e) {
    logger.error("缺少请求参数", e);
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("rspCode", 400);
    map.put("rspMsg", e.getMessage());
    //发生异常进行日志记录,写入数据库或者其他处理,此处省略
    return map;
}
 
/**
 * 请求方法的的参数缺失
 */
@ExceptionHandler(MissingServletRequestParameterException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
ResponseMessage handleException(MissingServletRequestParameterException exception) {
    return ResponseMessage
            .error(HttpStatus.BAD_REQUEST.value(), "参数[" + exception.getParameterName() + "]不能为空");
}
 
@ExceptionHandler(MissingServletRequestParameterException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public void handleMissingServletRequestParameterException(MissingServletRequestParameterException e,
        HttpServletRequest request) {

    log.debug("A {} request for '{}' failed because parameter '{}' is missing.",
            request.getMethod(), request.getPathInfo(), e.getParameterName(), e);
}
 
源代码7 项目: spring-boot-shiro   文件: GlobalExceptionHand.java
/**
 * 400 - Bad Request
 */
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(MissingServletRequestParameterException.class)
public Response handleMissingServletRequestParameterException(MissingServletRequestParameterException e) {
    String msg = "缺少请求参数!";
    log.error(msg, e);
    return new Response().failure(msg);
}
 
源代码8 项目: staffjoy   文件: GlobalExceptionTranslator.java
@ExceptionHandler(MissingServletRequestParameterException.class)
public BaseResponse handleError(MissingServletRequestParameterException e) {
    logger.warn("Missing Request Parameter", e);
    String message = String.format("Missing Request Parameter: %s", e.getParameterName());
    return BaseResponse
            .builder()
            .code(ResultCode.PARAM_MISS)
            .message(message)
            .build();
}
 
源代码9 项目: SENS   文件: GlobalExceptionHandler.java
/**
 * 400 - Bad Request
 */
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(MissingServletRequestParameterException.class)
public String handleMissingServletRequestParameterException(MissingServletRequestParameterException e, Model model) {
    log.error("缺少请求参数", e);
    String message = "【缺少请求参数】" + e.getMessage();
    model.addAttribute("message", message);
    model.addAttribute("code", 400);
    return viewName;
}
 
源代码10 项目: iotplatform   文件: RestRequest.java
public String getParameter(String paramName, String defaultValue) throws ServletException {
  String paramValue = request.getParameter(paramName);
  if (StringUtils.isEmpty(paramValue)) {
    if (defaultValue == null) {
      throw new MissingServletRequestParameterException(paramName, "String");
    } else {
      return defaultValue;
    }
  } else {
    return paramValue;
  }
}
 
@Test
public void handleMissingServletRequestParameter() {
	MissingServletRequestParameterException ex = new MissingServletRequestParameterException("foo", "bar");
	ModelAndView mav = exceptionResolver.resolveException(request, response, null, ex);
	assertNotNull("No ModelAndView returned", mav);
	assertTrue("No Empty ModelAndView returned", mav.isEmpty());
	assertEquals("Invalid status code", 400, response.getStatus());
	assertEquals("Required bar parameter 'foo' is not present", response.getErrorMessage());
}
 
@RequestMapping(produces = {Versions.V1_0, Versions.V2_0})
@ExceptionHandler({MissingServletRequestParameterException.class,
        UnsatisfiedServletRequestParameterException.class,
        HttpRequestMethodNotSupportedException.class,
        ServletRequestBindingException.class
})
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
public @ResponseBody Map<String, Object> handleRequestException(Exception ex) {
    Map<String, Object>  map = Maps.newHashMap();
    map.put("error", "Request Error");
    map.put("cause", ex.getMessage());
    return map;
}
 
/**
 * Handle a {@link MissingServletRequestParameterException}
 *
 * @param ex the exception
 * @return an error message
 */
@ExceptionHandler(MissingServletRequestParameterException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public ErrorMessage handleException(MissingServletRequestParameterException ex) {
	LOG.error(UNPROCESSABLE_REQUEST, ex);
	return getErrorResponse(ex.getMessage());
}
 
源代码14 项目: Blog   文件: GlobalExceptionHandler.java
/**
     * controller参数异常/缺少
     *
     * @param e
     * @return
     */
    @ExceptionHandler({
            MissingServletRequestParameterException.class,
            MethodArgumentTypeMismatchException.class,
            RequestRejectedException.class}
    )
    public Result missingServletRequestParameterException(Exception e) {
//        e.printStackTrace();
        return Result.create(StatusCode.ERROR, "参数异常");

    }
 
源代码15 项目: springdoc-openapi   文件: GlobalControllerAdvice.java
@ExceptionHandler(MissingServletRequestParameterException.class)
@ResponseStatus(code = HttpStatus.BAD_REQUEST)
public ResponseEntity<ErrorMessage> handleMissingServletRequestParameterException(MissingServletRequestParameterException ex
) {

	List<String> errors = new ArrayList<>();
	String error = ex.getParameterName() + ", " + ex.getMessage();
	errors.add(error);
	ErrorMessage errorMessage = new ErrorMessage(errors);
	return new ResponseEntity(errorMessage, HttpStatus.BAD_REQUEST);
}
 
源代码16 项目: springdoc-openapi   文件: GlobalControllerAdvice.java
@ExceptionHandler(MissingServletRequestParameterException.class)
@ResponseStatus(code = HttpStatus.BAD_REQUEST)
public ResponseEntity<ErrorMessage> handleMissingServletRequestParameterException(MissingServletRequestParameterException ex
) {

	List<String> errors = new ArrayList<>();
	String error = ex.getParameterName() + ", " + ex.getMessage();
	errors.add(error);
	ErrorMessage errorMessage = new ErrorMessage(errors);
	return new ResponseEntity(errorMessage, HttpStatus.BAD_REQUEST);
}
 
@Test
public void MissingServletRequestParameterExceptionをハンドリングできる() {
    MissingServletRequestParameterException ex = new MissingServletRequestParameterException("name", "type");
    ErrorMessage message = this.exceptionHandlerSupport.handle(ex);
    assertThat(message, notNullValue());
    assertThat(message.getStatus(), is(400));
    assertThat(message.getMessage(), is("不正なリクエストです。"));
}
 
源代码18 项目: plumemo   文件: RestExceptionHandler.java
/**
 * 400错误
 */
@ExceptionHandler({MissingServletRequestParameterException.class})
@ResponseBody
public Result requestMissingServletRequest(MissingServletRequestParameterException ex) {
    log.error("异常类 MissingServletRequestParameterException {},", ex.getMessage());
    return Result.createWithErrorMessage(ErrorEnum.PARAM_INCORRECT);
}
 
@Test
public void handleMissingServletRequestParameter() {
	MissingServletRequestParameterException ex = new MissingServletRequestParameterException("foo", "bar");
	ModelAndView mav = exceptionResolver.resolveException(request, response, null, ex);
	assertNotNull("No ModelAndView returned", mav);
	assertTrue("No Empty ModelAndView returned", mav.isEmpty());
	assertEquals("Invalid status code", 400, response.getStatus());
	assertEquals("Required bar parameter 'foo' is not present", response.getErrorMessage());
}
 
源代码20 项目: j360-dubbo-app-all   文件: BaseController.java
@ExceptionHandler({ServletRequestBindingException.class,
        HttpMediaTypeNotAcceptableException.class,
        HttpMediaTypeNotSupportedException.class,
        HttpMessageNotReadableException.class,
        HttpRequestMethodNotSupportedException.class,
        MissingServletRequestParameterException.class,
        MissingServletRequestPartException.class,
        TypeMismatchException.class
})
@ResponseBody
public ApiResponse ServletRequestBindingExHandler(Exception ex) {
    return createExResult(new ValidationException(ex));
}
 
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
@ExceptionHandler(MissingServletRequestParameterException.class)
public Response handleMissingServletRequestParameterException(
        MissingServletRequestParameterException e) {
    logError("missingServletRequestParameterException", e.getMessage(), e);
    return Response
            .fail(400,
                    String.format("参数%s未传", e.getParameterName()));
}
 
源代码22 项目: flow-platform-x   文件: ExceptionAdviser.java
@ResponseBody
@ResponseStatus(HttpStatus.OK)
@ExceptionHandler({
    MethodArgumentNotValidException.class,
    MissingServletRequestParameterException.class
})
public ResponseMessage<Object> inputArgumentException(Exception e) {
    return new ResponseMessage<>(ErrorCode.INVALID_ARGUMENT, e.getMessage(), null);
}
 
源代码23 项目: cola-cloud   文件: GlobalExceptionHandler.java
@ResponseBody
@ExceptionHandler(MissingServletRequestParameterException.class)
@ResponseStatus(HttpStatus.OK)
public Result handleMissingServletRequestParameterException(
        MissingServletRequestParameterException e) {
    log.error(ErrorStatus.MISSING_ARGUMENT.getMessage() + ":" + e.getMessage());
    return failure(ErrorStatus.MISSING_ARGUMENT,e);
}
 
源代码24 项目: dk-foundation   文件: GlobalExceptionHandler.java
@ExceptionHandler({MissingServletRequestParameterException.class})
public @ResponseBody
StandResponse exception(MissingServletRequestParameterException e, HttpServletResponse response) {
    logger.error("#######ERROR#######", e);
    StandResponse standResponse = new StandResponse();
    standResponse.setCode(StandResponse.ARGUMENT_MISSING);
    standResponse.setSuccess(false);
    standResponse.setMsg("缺少参数:" + e.getParameterName());
    return standResponse;
}
 
/**
 * Only handles {@link ServletException}s and {@link HttpMessageNotReadableException}s.
 *
 * @param exception The exception to examine.
 * @return {@code true} when can handle the {@code exception}, {@code false} otherwise.
 */
@Override
public boolean canHandle(Throwable exception) {
    return exception instanceof HttpMediaTypeNotAcceptableException ||
        exception instanceof HttpMediaTypeNotSupportedException ||
        exception instanceof HttpRequestMethodNotSupportedException ||
        exception instanceof MissingServletRequestParameterException ||
        exception instanceof MissingServletRequestPartException ||
        exception instanceof NoHandlerFoundException ||
        exception instanceof HttpMessageNotReadableException;
}
 
private Object[] provideParamsForCanHandle() {
    return p(
        p(null, false),
        p(new RuntimeException(), false),
        p(new NoHandlerFoundException(null, null, null), true),
        p(new HttpMessageNotReadableException("", mock(HttpInputMessage.class)), true),
        p(new MissingServletRequestParameterException("name", "String"), true),
        p(new HttpMediaTypeNotAcceptableException(""), true),
        p(new HttpMediaTypeNotSupportedException(""), true),
        p(new HttpRequestMethodNotSupportedException(""), true),
        p(new MissingServletRequestPartException("file"), true)
    );
}
 
源代码27 项目: common-project   文件: ControllerAdviceHandler.java
@ExceptionHandler
@ResponseBody
@ResponseStatus(HttpStatus.OK)
public Object handle(Exception exception) {
    logger.error("错误信息  ====  "+exception.getMessage());
    if (exception instanceof BindException) {
        BindException bindException = (BindException) exception;
        List<FieldError> fieldErrors = bindException.getFieldErrors();
        for (FieldError fieldError : fieldErrors) {
            return ResponseMessage.error(10010,fieldError.getField() + fieldError.getDefaultMessage());
        }
    }

    if (exception instanceof ConstraintViolationException) {
        ConstraintViolationException exs = (ConstraintViolationException) exception;

        Set<ConstraintViolation<?>> violations = exs.getConstraintViolations();
        for (ConstraintViolation<?> violation : violations) {
            return ResponseMessage.error(10010,violation.getPropertyPath() + violation.getMessage());
        }
    }
    if (exception instanceof HandlerException) {
        HandlerException handlerException = (HandlerException) exception;
        return new ResponseMessage(handlerException.getCode(), handlerException.getErrorInfo());
    }
    if (exception instanceof MissingServletRequestParameterException) {
        MissingServletRequestParameterException missingServletRequestParameterException = (MissingServletRequestParameterException) exception;
        return ResponseMessage.error(10010, "请求参数" + missingServletRequestParameterException.getParameterName() + "不能为空");
    }
    if (exception instanceof FileUploadException) {
        FileUploadException fileUploadException = (FileUploadException) exception;
        return ResponseMessage.error(10010, fileUploadException.getMessage());
    }

    return ResponseMessage.error(0, "服务异常");
}
 
@Test
public void handleMissingServletRequestParameter() {
	MissingServletRequestParameterException ex = new MissingServletRequestParameterException("foo", "bar");
	ModelAndView mav = exceptionResolver.resolveException(request, response, null, ex);
	assertNotNull("No ModelAndView returned", mav);
	assertTrue("No Empty ModelAndView returned", mav.isEmpty());
	assertEquals("Invalid status code", 400, response.getStatus());
	assertEquals("Required bar parameter 'foo' is not present", response.getErrorMessage());
}
 
源代码29 项目: blade-tool   文件: BladeRestExceptionTranslator.java
@ExceptionHandler(MissingServletRequestParameterException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public R handleError(MissingServletRequestParameterException e) {
	log.warn("缺少请求参数", e.getMessage());
	String message = String.format("缺少必要的请求参数: %s", e.getParameterName());
	return R.fail(ResultCode.PARAM_MISS, message);
}
 
源代码30 项目: ywh-frame   文件: GlobalExceptionHandler.java
/**
 * 400错误拦截
 * @param ex 异常信息
 * @return 返回前端异常信息
 */
@ExceptionHandler(MissingServletRequestParameterException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public Result request400(MissingServletRequestParameterException ex){
    log.error("错误详情:" + ex.getMessage(),ex);
    return Result.errorJson(BaseEnum.BAD_REQUEST.getMsg() + "   找不到传入的参数",BaseEnum.BAD_REQUEST.getIndex());
}