@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();
}
'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 |