Module bus.starter

Class MultiFormatArgumentResolver

java.lang.Object
org.miaixz.bus.spring.web.MultiFormatArgumentResolver
All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodArgumentResolver

public class MultiFormatArgumentResolver extends Object implements org.springframework.web.method.support.HandlerMethodArgumentResolver
自动参数解析器

统一处理多种请求格式的参数绑定:

  • JSON请求 (application/json)
  • 表单数据 (application/x-www-form-urlencoded)
  • 文件上传 (multipart/form-data)
通过反射自动将请求参数绑定到控制器方法参数对象
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    resolveArgument(org.springframework.core.MethodParameter methodParameter, org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest, org.springframework.web.bind.support.WebDataBinderFactory binderFactory)
    解析请求参数并绑定到目标对象
    boolean
    supportsParameter(org.springframework.core.MethodParameter parameter)
    判断是否支持解析当前参数

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MultiFormatArgumentResolver

      public MultiFormatArgumentResolver()
  • Method Details

    • supportsParameter

      public boolean supportsParameter(org.springframework.core.MethodParameter parameter)
      判断是否支持解析当前参数
      Specified by:
      supportsParameter in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
      Parameters:
      parameter - 方法参数信息
      Returns:
      true 如果参数不是简单类型(基本类型、String、Number等),false 否则
    • resolveArgument

      public Object resolveArgument(org.springframework.core.MethodParameter methodParameter, org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest, org.springframework.web.bind.support.WebDataBinderFactory binderFactory) throws Exception
      解析请求参数并绑定到目标对象
      Specified by:
      resolveArgument in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
      Parameters:
      methodParameter - 方法参数信息
      mavContainer - 模型和视图容器
      webRequest - 原生 Web 请求
      binderFactory - 数据绑定工厂
      Returns:
      绑定好参数的目标对象
      Throws:
      Exception - 解析过程中可能抛出的异常