[ Spring Boot ] Request 처리 (기본)

2025. 5. 24. 16:18·Web Development/Spring Boot

 

▶ Title - Client에서 Request를 받아오고,

                  Body안에 담긴 데이터들 출력(확인)하기.     

 


▷ 1 - Rest API Controller 생성

// ( Signup_API.java )
@RestController
public class Signup_API {

}

→ 작업 내용:

    - Signup_API class 생성

    - @RestController Annotatoin 추가

 

→ 작업 이유:

    - Request를 처리할 REST API를 생성하여야 하기 때문

 

→ 설명:

    - @RestController Annotation:

          REST API로 활용하고 싶은 class 앞에 @RestController Annotation을 작성하면

          해당 Class는 RestAPI로서 활용이 가능해진다.       


▷ 2 - Endpoint 선언(Routing)

// ( Signup_API.java )
@RestController
public class Signup_API {
	@PostMapping("/api/signup")
}

→ 작업 내용:

    - Signup_API class 내부에 @PostMapping() Annotation을 추가하여

       Method는 Post이고, Path는 "/api/signup"인 Endpoint를 선언

 

→ 작업 이유:

    - Client와 Server가 통신하기 위해서 필요하기 때문

 

→ 설명:

    - Spring Boot에서 Endpoint 선언(Routing)을 하기 위해선
      @PostMapping()과 @GetMapping() Annotation들을 이용할 수 있다.

      @PostMapping()은 Method가 Post이고,

      @GetMapping()은 Method가 Get이다.


▷ 3 - DTO Class 생성

// (SignupRequest.java)
@Getter @Setter
public class SignupRequest {
    private String userEmail;
    private String userId;
    private String userPassword;
}

→ 작업 내용:

    - @Getter, @Setter Annotaion을 활용해 DTO Class를 생성

 

→ 작업 이유:

    - Client에서 전달받은 Json Body를 Java Obejct로 Mapping 해야 하기 때문

 

→ 설명:

    - @Getter와 @Setter Annotation은 Lombok Library에서 제공하는 Annoation이다.

    - 위 Annoatoin은 개발 단계에서는 괜찮지만,

       실제 서비스에서는 직접 구현하는 것을 권장한다. (보안 이슈)


▷ 4 - Request 처리 Method

// ( Signup_API.java )
@RestController
public class Signup_API {
	@PostMapping("/api/signup")
    public String signup(@RequestBody SignupRequest request) {
	    ...
    }
}

→ 작업 내용:

    - "public String signup(@RequestBody SignupRequest request) {}" 문을 추가

 

→ 작업 이유:

    - Request에 담긴 데이터를 처리하기 위하기 때문

 

→ 설명:

    - @RequestBody Annotation:

            DTO Class를 참고하여 Request의 JSON Body를 Java Object로 변환시킨다.


    - SignupRequest:

            앞서 생성한 DTO Class이다.           

 

    - request: 

           DTO Class를 통하여 Java Object로 변환된 결과가 담기는 변수다.


▷ 5 - Requset 출력 (최종 코드)

// ( Signup_API.java )
@RestController
public class Signup_API {
	@PostMapping("/api/signup")
    public String signup(@RequestBody SignupRequest request) {
		System.out.println(request.getUserEmail());
        System.out.println(request.getUserId());
        System.out.println(request.getUserPassword());
        return "Hello";
    }
}

→ 작업 내용:

    - Request Data를 출력하기 위한 코드를 작성

 

→ 작업 이유:

    - Request Data를 출력하기 위하여

 

→ 설명:

    - 코드와 같이 변수 request에 담겨있는 Object들을 활용하면 된다.

    - 위 DTO Class를 사용하였을 땐 다음과 같은 코드들을 활용할 수 있다.

 

'Web Development > Spring Boot' 카테고리의 다른 글

[ Spring Boot ] Setting Up | 시작하기  (2) 2025.03.22
'Web Development/Spring Boot' 카테고리의 다른 글
  • [ Spring Boot ] Setting Up | 시작하기
apply2y
apply2y
  • apply2y
    apply's blog
    apply2y
  • 전체
    오늘
    어제
    • 분류 전체보기 (32)
      • Krafton Jungle (0)
      • Web Project. Typers (stoppe.. (8)
        • 개요 (1)
        • 협업 (0)
        • 개발 과정 (3)
        • 트러블슈팅 (4)
      • Web Development (12)
        • Troubleshooting Note (2)
        • ORM | JPA (1)
        • Spring Boot (2)
        • JWT (1)
        • React (6)
      • Web Security (0)
      • Cloud (3)
        • AWS (3)
      • 리눅스마스터 (6)
        • 리눅스의 개요 (2)
        • 리눅스 시스템의 이해 (2)
        • 네트워크의 이해 (1)
        • 네트워크 보안 (1)
      • Study Notes (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    spring boot 시작하기
    typers
    스프링부트 통신
    스프링부트
    SpringBoot
    리눅스 마스터 1급
    리액트
    React
    AWS
    docker
    gh repo clone
    도커
    리눅스 마스터 2급
    리눅스 마스터
    객체 관계 매핑
    스프링부트 요청 처리
    간단
    아마존 웹 서비스
    도커 핫 리로드 안 됨
    spring boot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
apply2y
[ Spring Boot ] Request 처리 (기본)
상단으로

티스토리툴바