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

org.springframework.web.bind.annotation.InitBinder Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2002-2022 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;

/**
 * Annotation that identifies methods that initialize the
 * {@link org.springframework.web.bind.WebDataBinder} which
 * will be used for populating command and form object arguments
 * of annotated handler methods.
 *
 * 

WARNING: Data binding can lead to security issues by exposing * parts of the object graph that are not meant to be accessed or modified by * external clients. Therefore the design and use of data binding should be considered * carefully with regard to security. For more details, please refer to the dedicated * sections on data binding for * Spring Web MVC and * Spring WebFlux * in the reference manual. * *

{@code @InitBinder} methods support all arguments that * {@link RequestMapping @RequestMapping} methods support, except for command/form * objects and corresponding validation result objects. {@code @InitBinder} methods * must not have a return value; they are usually declared as {@code void}. * *

Typical arguments are {@link org.springframework.web.bind.WebDataBinder} * in combination with {@link org.springframework.web.context.request.WebRequest} * or {@link java.util.Locale}, allowing to register context-specific editors. * * @author Juergen Hoeller * @since 2.5 * @see ControllerAdvice * @see org.springframework.web.bind.WebDataBinder * @see org.springframework.web.context.request.WebRequest */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface InitBinder { /** * The names of command/form attributes and/or request parameters * that this init-binder method is supposed to apply to. *

Default is to apply to all command/form attributes and all request parameters * processed by the annotated handler class. Specifying model attribute names or * request parameter names here restricts the init-binder method to those specific * attributes/parameters, with different init-binder methods typically applying to * different groups of attributes or parameters. */ String[] value() default {}; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy