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


<>에 ? 가 들어가면 어떤값이 들어와도 상관없다.

  • postman


400 추가


정리

RequestMapping

스프링 프레임워크에서 사용되는 애노테이션(Annotation) 웹 애플리케이션에서 요청을 처리하는 핸들러 메서드를 지정하는 데 사용. 이 애노테이션을 사용하여 특정 URL 패턴과 HTTP 메서드를 매핑하여 해당 요청을 처리할 메서드를 지정할 수 있다.
@GetMapping, @PostMapping, @PutMapping, @DeleteMapping 등의 애노테이션을 사용하여 각각의 HTTP 메서드에 매핑하는 것이 권장됨.

GetMapping

웹 요청 중 HTTP GET 메서드에 대해 처리할 핸들러 메서드를 지정하는 데 사용.
특정 URL 패턴과 HTTP GET 메서드를 매핑하여 해당 요청을 처리하는 메서드를 지정할 수 있다.
@GetMapping은 @RequestMapping보다 더 명시적이고 간결하게 GET 메서드에 대한 매핑을 표현할 수 있어서 코드를 더 읽기 쉽고 유지보수하기 편리하게 만들어줌.

PostMapping

웹 요청 중 HTTP POST 메서드에 대해 처리할 핸들러 메서드를 지정하는 데 사용

PutMapping

DeleteMapping

ResponseEntity

HttpEntity


이어져있는 상태 - 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)

  • 상태코드
  • 메시지
  • 데이터

1개의 댓글

comment-user-thumbnail
2023년 7월 24일

유익한 글이었습니다.

답글 달기