Replies: 1 comment 2 replies
|
표로 정리하니까 너무 깔끔하네요 >!! 👏 👏 |
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
6_스프링 MVC - 기본 기능 (1)
프로젝트 생성
로깅 간단히 알아보기
System.out.println()같은 시스템 콘솔로 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용하여 로그를 출력로깅 라이브러리
스프링부트 라이브러리를 사용하면, 스프링부트 로깅 라이브러리(
spring-boot-starter-logging)가 함께 포함된다.로그 선언
private Logger log = LoggerFactory.getLogger(getClass());private static final Logger log = LoggerFactory.getLogger(Xxx.class)@Slf4j: 롬복 사용 가능로그 호출
log.info("hello")System.out.println("hello")LogTestController매핑 정보
@RestController@Controller(일반 컨트롤러 애노테이션)을 사용하는데, 이 애노테이션을 사용하게되면 반환 값이String인 경우, 뷰 이름으로 인식된다. 따라서, 뷰를 찾고, 뷰가 렌더링된다.@RestController을 사용하면, 문자를 반환할 때 그 문자가 바로 그대로 반환이 된다.출력 결과 1
log.info("info log={}", name);로그 출력 결과name = Spring) 출력LogTestController), 메세지(info log=Spring)까지 출력테스트
TRACE > DEBUG > INFO > WARN > ERRORlog.debug-> 현재 로그는 디버그할 때 보는 것 (개발 서버같은 데서 보는 것)log.info-> 현재 로그는 중요한 정보 (비즈니스 정보거나 꼭 운영 시스템에서 봐야 할 정보)log.warn-> 경고, 위험한 정보log.error-> 에정출력 결과 2
로그 레벨이 기본적으로 info로 설정되어있기에, trace와 debug는 출력되지 않는다
만약 더 많은 레벨의 로그를 출력하고 싶다면, 로그 레벨 설정 정보를 추가하면 된다
application.properties올바른 로그 사용법
log.info("info log={}", name);이렇게 사용하지 않고log.info("info log=" + name);이렇게 사용해도 로그가 출력은 되나, 이렇게 사용하면 X로그 사용시 장점
요청 매핑
MappingController전체 코드HTTP 메서드
@RequestMapping에method속성으로 HTTP 메서드를 지정하지 않으면, HTTP 메서드와 무관하게 호출된다. 즉,GET, HEAD, POST, PUT, PATCH, DELETE를 모두 허용한다.HTTP 메서드 매핑
method속성을GET으로 설정했기 때문에GET만 허용한다.POST요청을 하면 스프링 MVC는 405 상태코드(Method Not Allowed)를 반환한다.HTTP 메서드 매핑 축약
@RequestMapping과method를 지정해서 사용하고 있음을 알 수 있다.PathVariable(경로 변수) 사용
/mapping/userA/users/1@RequestMapping은 URL 경로를 템플릿화 할 수 있는데,@PathVariavle을 사용하면 매칭 되는 부분을 편리하게 조회할 수 있다.@PathVariable의 이름과 파라미터 이름이 같으면 생략할 수 있다.PathVariable 사용 - 다중
@PathVariable을 사용하여 2개 이상의 파라미터 이름과 매핑도 가능하다특정 파라미터 조건 매핑
특정 헤더 조건 매핑
미디어 타입 조건 매핑 - HTTP 요청 Content-Type, consume
미디어 타입 조건 매핑 - HTTP 요청 Accept, produce
요청 매핑 - API 예시
회원 관리 API
/users/users/users/{userId}/users/{userId}/users/{userId}MappingClassControllerAPI test Example
/mapping/users/mapping/users/mapping/users/id1/mapping/users/id1/mapping/users/id1🔗 출처
All reactions