RequestMapping (요청주소, 요청메소드GET,POST,PUT,DELETE)
JSESSIONID와 session(로그인)
jpa로 테이블 만들기
ResponseEntity ( 데이터, 상태코드 보내기)
-> ResponseDTO ( 서버코드, 서버메시지 보내기)
-> DTO (데이터)
-> HttpStatus (상태코드)
MainControllerApiV1
@RequestMapping(method = RequestMethod.GET, value = "/api/v1/main")
에서 get전용으로 만든게 @GetMapping
@GetMapping("/api/v1/main")
공통된 "/api/v1/main" 이름 같은 경우
위로 뺀다
응답
TempControllerApiV
<>에 ? 가 들어가면 어떤값이 들어와도 상관없다.
400 추가
정리
스프링 프레임워크에서 사용되는 애노테이션(Annotation) 웹 애플리케이션에서 요청을 처리하는 핸들러 메서드를 지정하는 데 사용. 이 애노테이션을 사용하여 특정 URL 패턴과 HTTP 메서드를 매핑하여 해당 요청을 처리할 메서드를 지정할 수 있다.
@GetMapping, @PostMapping, @PutMapping, @DeleteMapping 등의 애노테이션을 사용하여 각각의 HTTP 메서드에 매핑하는 것이 권장됨.
웹 요청 중 HTTP GET 메서드에 대해 처리할 핸들러 메서드를 지정하는 데 사용.
특정 URL 패턴과 HTTP GET 메서드를 매핑하여 해당 요청을 처리하는 메서드를 지정할 수 있다.
@GetMapping은 @RequestMapping보다 더 명시적이고 간결하게 GET 메서드에 대한 매핑을 표현할 수 있어서 코드를 더 읽기 쉽고 유지보수하기 편리하게 만들어줌.
웹 요청 중 HTTP POST 메서드에 대해 처리할 핸들러 메서드를 지정하는 데 사용
이어져있는 상태 - Stateful
이어져 있지 않은 상태 - Stateless
http는 요청과 응답 , 이어져있지 않다. - 기본적으로 Stateless
session - 서버에서 내 정보를 저장하는 공간
HTTP는 stateless 인데 session을 사용해서 임시 stateful로 만드는것
MainController.java
정리
JSESSIONID와 session
JSESSIONID
웹 애플리케이션에서 클라이언트와 서버 간의 세션을 유지하는 데 사용되는 세션 ID입니다. 세션은 클라이언트와 서버 간의 상태 정보를 유지하기 위해 사용되며, 웹 애플리케이션에 접속한 클라이언트마다 고유한 세션 ID가 부여됩니다. 이 세션 ID는 주로 쿠키(Cookie)를 사용하여 클라이언트 측에 저장됩니다. 따라서, JSESSIONID라는 이름의 쿠키에 해당 세션 ID가 저장되어 클라이언트가 웹 애플리케이션과 상호작용할 때마다 서버로 전송되고 세션을 식별하게 됩니다. 이를 통해 서버는 각 클라이언트에 대해 고유한 세션을 유지하고 사용자의 상태를 저장할 수 있습니다.
session
jpa로 테이블 만들기
db를 건드리지 않고도 jpa로 생성할 수 있다.
ddl-autoㄹ를 create
엔티티 먼저 만들고 테이블 만들어지면
ddl-auto를 none
디비버에서 ddl 수정해서 테이블 삭제 후 쿼리 날리기
->문제 : 테스트시 데이터를 항상 같은 조건으로 두고 싶은데 데이터가 계쏙 쌓여서 직접 지운 뒤에 다시 테스트 해야한다.
sample 아이디 만들어서 테스트 했는데, db에서 삭제한 다음에 ㄷ ㅏ시 만들어야 하는데 귀찮음
해결 : 설정파일에서 sql init 으로 schema와 data쿼리를 자동으로 실행하도록 함
방법2
postentity
db 지우면 생성안됨
MainControllerApiV1.java
MainServiceApiV1.java
ResMainApiDTO.java
ResMainApiDTO - 보내고 싶은 데이터
HttpStatus.OK - 보내고 싶은 상태 코드
MainServiceApiV1.java
컨트롤러
리파지토리 - 서비스 - 컨트롤러 - 화면
클라이언트한테 보내야 될 것
- 화면
컨트롤러가 서비스에서 받을 것 (DTO)
- 데이터
레스트컨트롤러
리파지토리 - 서비스 - 레스트컨트롤러 - 데이터
클라이언트한테 보내야 될 것
- 상태코드
- 메시지
- 데이터
레스트 컨트롤러가 서비스에서 받을 것 (ResponseEntity)
- 상태코드
- 메시지
- 데이터
유익한 글이었습니다.