▶ 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 |
---|