본문 바로가기

Web/ReadingCode

[Spring Reading Code] @PostMapping

728x90

 

 

 

@PostMapping 의 애노테이션이 어떻게 설정되어있는지 보고 싶어졌다

default 가 다 비워져있고, 아마 이 애노테이션을 쓰면 해당 값들에다가 기본 비운채로 챱챱챱 채워넣어서 post 프로세스가 진행되는 것 같다

 

 

 

 

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RequestMapping(method = RequestMethod.POST)
public @interface PostMapping {

   /**
    * Alias for {@link RequestMapping#name}.
    */
   @AliasFor(annotation = RequestMapping.class)
   String name() default "";

   /**
    * Alias for {@link RequestMapping#value}.
    */
   @AliasFor(annotation = RequestMapping.class)
   String[] value() default {};

   /**
    * Alias for {@link RequestMapping#path}.
    */
   @AliasFor(annotation = RequestMapping.class)
   String[] path() default {};

   /**
    * Alias for {@link RequestMapping#params}.
    */
   @AliasFor(annotation = RequestMapping.class)
   String[] params() default {};

   /**
    * Alias for {@link RequestMapping#headers}.
    */
   @AliasFor(annotation = RequestMapping.class)
   String[] headers() default {};

   /**
    * Alias for {@link RequestMapping#consumes}.
    */
   @AliasFor(annotation = RequestMapping.class)
   String[] consumes() default {};

   /**
    * Alias for {@link RequestMapping#produces}.
    */
   @AliasFor(annotation = RequestMapping.class)
   String[] produces() default {};

}

 

 

RequestMapping 을 타고타고 들어가서

MvcUriComponentsBuilder.class 를 확인했다

 

 

Spring MVC 컨트롤러의 @RequestMapping 메서드를 가리켜 UriComponentsBuilder 인스턴스를 생성합니다. 

여러 가지 방법 그룹이 있습니다. 

ServletUriComponentsBuilder.fromCurrentServletMapping()에 대한 호출로 결정된 현재 요청의 정보를 사용하여 링크를 준비하는 정적 fromXxx(...) 메서드. 정적 fromXxx(UriComponentsBuilder,...) 메서드는 요청 컨텍스트 외부에서 작동할 때 baseUrl을 지정할 수 있습니다. RelativeTo(UriComponentsBuilder)를 통해 baseUrl로 MvcUriComponentsBuilder의 인스턴스가 생성되는 인스턴스 기반 withXxx(...) 메서드. 

 

참고: 이 클래스는 클라이언트를 반영하기 위해 "Forwarded"(RFC 7239), "X-Forwarded-Host", "X-Forwarded-Port" 및 "X-Forwarded-Proto" 헤더(있는 경우)의 값을 사용합니다. 

 

-originated protocol and address.

이러한 헤더를 추출하여 사용할지 또는 삭제할지 중앙 위치에서 선택하려면 ForwardedHeaderFilter를 사용하는 것이 좋습니다.

 

Since:
4.0
Author:
Oliver Gierke, Rossen Stoyanchev, Sam Brannen

 

 

MvcUriComponentsBuilder 에서 사용 중

public interface MethodInvocationInfo {

   /**
    * Return the controller types.
    */
   Class<?> getControllerType();

   /**
    * Return the controller method.
    */
   Method getControllerMethod();

   /**
    * Return the argument values.
    */
   Object[] getArgumentValues();
}

 

728x90

'Web > ReadingCode' 카테고리의 다른 글

[Spring Reading Code] ConstraintViolation  (0) 2023.03.28
[Spring Reading Code] @ControllerAdvice  (0) 2023.02.24
[Spring Reading Code] ErrorController.java  (0) 2023.02.22