All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jianggujin.http.support.annotation.JRequestParam Maven / Gradle / Ivy

package com.jianggujin.http.support.annotation;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.util.Collection;
import java.util.Map;

/**
 * 请求参数,当注解用在方法参数上面的时候
 * 如果参数为{@link String},首先会判断{@link #value()}是否为空串,是则注解参数用法相同,不是则{@link #value()}为请求参数名称,参数值为对应请求参数的值;
 * 如果参数为{@link Collection}或数组,则仅有{@link #kvDelimiter()}参数有效;
 * 如果参数为{@link Map}则所有参数无效
 * 
 * @author jianggujin
 *
 */
@Retention(RUNTIME)
@Target({ TYPE, METHOD, PARAMETER })
public @interface JRequestParam {
   /**
    * 请求参数信息
    * 
    * @return
    */
   String value() default "";

   /**
    * 请求参数每一项分隔字符串
    * 
    * @return
    */
   String itemDelimiter() default "&";

   /**
    * 请求参数的每一项的name/value分隔符
    * 
    * @return
    */
   char kvDelimiter() default '=';
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy