spring CookieValue 源码

  • 2022-08-08
  • 浏览 (414)

spring CookieValue 代码

文件路径:/spring-web/src/main/java/org/springframework/web/bind/annotation/CookieValue.java

/*
 * Copyright 2002-2021 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.web.bind.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.core.annotation.AliasFor;

/**
 * Annotation to indicate that a method parameter is bound to an HTTP cookie.
 *
 * <p>The method parameter may be declared as type {@link jakarta.servlet.http.Cookie}
 * or as cookie value type (String, int, etc.).
 *
 * <p>Note that with spring-webmvc 5.3.x and earlier, the cookie value is URL
 * decoded. This will be changed in 6.0 but in the meantime, applications can
 * also declare parameters of type {@link jakarta.servlet.http.Cookie} to access
 * the raw value.
 *
 * @author Juergen Hoeller
 * @author Sam Brannen
 * @since 3.0
 * @see RequestMapping
 * @see RequestParam
 * @see RequestHeader
 * @see org.springframework.web.bind.annotation.RequestMapping
 */
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CookieValue {

	/**
	 * Alias for {@link #name}.
	 */
	@AliasFor("name")
	String value() default "";

	/**
	 * The name of the cookie to bind to.
	 * @since 4.2
	 */
	@AliasFor("value")
	String name() default "";

	/**
	 * Whether the cookie is required.
	 * <p>Defaults to {@code true}, leading to an exception being thrown
	 * if the cookie is missing in the request. Switch this to
	 * {@code false} if you prefer a {@code null} value if the cookie is
	 * not present in the request.
	 * <p>Alternatively, provide a {@link #defaultValue}, which implicitly
	 * sets this flag to {@code false}.
	 */
	boolean required() default true;

	/**
	 * The default value to use as a fallback.
	 * <p>Supplying a default value implicitly sets {@link #required} to
	 * {@code false}.
	 */
	String defaultValue() default ValueConstants.DEFAULT_NONE;

}

相关信息

spring 源码目录

相关文章

spring ControllerAdvice 源码

spring CrossOrigin 源码

spring DeleteMapping 源码

spring ExceptionHandler 源码

spring GetMapping 源码

spring InitBinder 源码

spring Mapping 源码

spring MatrixVariable 源码

spring ModelAttribute 源码

spring PatchMapping 源码

0  赞