一 自定义注解
/**
* @author qujiawen
* @version 1.0.0
* @ClassName RequestJson.java
* @Description TODO
* @createTime 2021年11月24日 13:55:00
*/
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestJson {
@AliasFor("name")
String value() default "";
@AliasFor("value")
String name() default "";
boolean required() default false;
String defaultValue() default "";
}
二 编写自定义参数解析器
/**
* @author qujiawen
* @version 1.0.0
* @ClassName RequestJsonHandler.java
* @Description TODO
* @createTime 2021年11月24日 13:53:00
*/
@Slf4j
@Component
public class RequestJsonHandler implements HandlerMethodArgumentResolver {
ThreadLocal<JSONObject> paramObject = new ThreadLocal<>();
@Override
public boolean supportsP