Dorothy_YANG
With Dorothy
Dorothy_YANG
전체 방문자
오늘
어제
  • 분류 전체보기 (279)
    • Hi, I'm Dorothy 🕵️‍♂️ (21)
      • Slowly but Surely (18)
      • IT certifications (3)
    • 🤯TIL (80)
      • HTML & CSS (2)
      • Javascript & jQuery (13)
      • React (13)
      • C언어 (1)
      • JAVA (22)
      • Python (2)
      • Oracle SQL (10)
      • My SQL (5)
      • Spring (12)
    • 💻Programmers (17)
    • 🏫 Open API_JAVA (101)
    • 🌎 Project (10)
      • Shopping (10)
    • 💥 Error (24)
    • ⚙ Setting (23)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • java
  • 창초기화
  • 오류해결
  • CSS
  • 기간설정
  • colaboratory
  • 비쥬얼스튜디오코드
  • 연습문제
  • 이것이자바다
  • HTML
  • 서버등록
  • 콜라보레이토리
  • 코딩앙마
  • Database
  • SQLD합격
  • Javascript
  • 기간쿼리
  • AllArgsConstructor
  • Eclipse
  • 독학후기
  • 시작일종료일
  • 백준
  • googlecolaboratory
  • oracle
  • 파이썬온라인
  • SQLD합격후기
  • spring
  • SQL
  • 노마드코더
  • sql기간

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dorothy_YANG
🤯TIL/Spring

[어노테이션] @ResponseBody / @ResponseEntity<T> / @RequestParam("") 정리

[어노테이션] @ResponseBody / @ResponseEntity<T> / @RequestParam("") 정리
🤯TIL/Spring

[어노테이션] @ResponseBody / @ResponseEntity<T> / @RequestParam("") 정리

2022. 12. 15. 12:11
728x90

 

@ResponseBody @ResponseEntity<T> @RequestParam("") 정리

 

 

ex) 코드예시

 

 


 

✨ 여기서 잠깐! 알아두고 넘어가자!  (HTTP 프로토콜)

           - Http 프로토콜 : 인터넷 상 데이터를 주고받기 위한 서버/클라 모델
           - http Request 요청 : 클라이언트(브라우저) ➡ 서버
           - http Response 응답 : 서버 ➡ 클라이언트(브라우저)
           - http 헤더 : Request, Response 처리 위한 중요한 정보를 담고 있음 / 요구사항(요청/응답)
           - http 바디 : 내용

           *불특정 다수 대상 서비스에 적합

 


@ResponseBody 

  • 스프링에서 *비동기 처리시 사용
    *비동기 처리?
    : 웹에서 화면전환(새로고침)없이 이루어지는 동작

  • Response Body?
    : 서버 ➡ 클라로 응답할 때 보내는 본문
      (RequestBody는 클라 ➡ 서버로 요청할 때 보내는 본문)
    : body 안에는 데이터를 담아서 보내야 한다.

  • 비동기식 ajax
    : 서버와 클라 통신을 위해 JSON 형식의 데이터를 주고받는 것

 

ex) 아이디 중복체크는 비동기 처리로 이루어지기 때문에 페이지가 새로고침되지 않은 상태에서 결과값을 가져온다.

 

 

 


@ResponseEntity<T> 

  • httpEntity를 상속받는 RequestEntity와 ResponseEntity
  • 서버 ➡ 클라로 응답할 때  결과 데이터와 http 상태코드를 직접 제어할 수 있는 클래스

  • Entity ?
    : 한 건의 자료를 구성하는 레코드
  • ResponseEntity ?
    : 사용자의 응답데이터가 포함된 클래스

  • ResponseEntity 사용이유
    : web을 다루다보면 http 헤더를 다루는 경우가 종종 있다.
    : 스프링 MVC는 직접 핸들링하지 않고 작업이 가능하도록 작성되어 있기 때문에 이러한 처리를 위해 사용함
     (스프링 MVC의 Controller 가 이러한 기능을 갖고 있음. https://dorothy-yang.tistory.com/171 참고)
    : ResponseEntity를 통해 원하는 헤더정보나 데이터 전달을 가능하게 한다.

  • ResponseEntity에 담기는 정보들
    : 결과값, 상태코드, 헤더값을 모두 프론트에 넘겨줄 수 있다.
    : 에러코드도 설정해서 보내줄 수 있다.
    ➡ 때문에 전송하고 싶은 데이터와 함께 전송할 수 있어서 세밀한 제어 필요시 사용

ex) RequestParam으로 받아온 mem_id 값을 확인하여 다시 클라에 아이디 사용 가능 여부를 보내줘야 한다.

      서버 ➡ 클라로 응답할 때 사용하는 ResponseEntity<T> 클래스 사용,

      레코드 entity에 isUseID값과 상태코드(아이디 사용중이든 아니든 정상적인 OK코드 나오게) 담아서 전달

 

 


@RequestParam(" ") 

  • 요청의 파라미터를 연결할 매개변수에 붙이는 어노테이션
  • 파라미터 값으로 @RequestParam을 넣어준다.
  • 하나 이상 파라미터에서 사용가능
  • httpServletRequest 의 getParameter() 메소드와 비슷
@RequestParam("가져올 데이터 이름") [데이터 타입] [가져온 데이터를 담을 변수]
  • 만약, @RequestParam 지정한 키값이 존재하지 않는다면 ➡ BadRequest로 http 400번대 에러가 발생

 

ex) 클라 ➡ 서버로 가져올 (요청)데이터 mem_id를 매개변수에 넣어주는 것

728x90
저작자표시

'🤯TIL > Spring' 카테고리의 다른 글

[Spring_JAVA] @AllArgsConstructor 란? / 사용 이유  (0) 2022.12.21
[Spring] @log4j 란? / @log4j 와 System.out.println  (0) 2022.12.21
[게시판 만들기] 코드 총정리 (*ONLY CRUD)  (0) 2022.12.11
[게시판 만들기 - 4 ] 게시판 수정하기 / 삭제하기  (0) 2022.12.09
[게시판 만들기 - 3 ] 게시판 읽기  (0) 2022.12.06
  •  
  • @ResponseBody @ResponseEntity<T> @RequestParam("") 정리
  • @ResponseBody 
  • @ResponseEntity<T> 
  • @RequestParam(" ") 
'🤯TIL/Spring' 카테고리의 다른 글
  • [Spring_JAVA] @AllArgsConstructor 란? / 사용 이유
  • [Spring] @log4j 란? / @log4j 와 System.out.println
  • [게시판 만들기] 코드 총정리 (*ONLY CRUD)
  • [게시판 만들기 - 4 ] 게시판 수정하기 / 삭제하기
Dorothy_YANG
Dorothy_YANG
Slowly but Surely, 비전공 문과생의 개발공부

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.