Intellij, JDK17, Postman을 이용해
간단하게 실습을 해보았다
프로젝트 생성시 Spring Initializr 타입으로 설정하고
3가지 기능을 추가하였다.


생성된 프로젝트에 Controller라는 새로운 package를 생성하고 HelloController 클래스를 만들어준다.
아래와 같이 적어주면
package com.spring.springstudy1.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String helloWorld() {
return "hello";
}
}
위와 같이 RestController를 활용해 localhost에 get 요청시 hello를 출력하도록 할 수 있었다.

실행후 postman을 통해 확인해보니 잘 작동하는 모습이었다(웹 브라우져에 그냥 http://localhost:8080/hello만 쳐도 확인 가능)
위에서는 @RequestMapping을 통해서 메서드를 지정받았지만
@GetMapping 어노테이션을 활용한다면 메서드를 지정해줄 필요 없이 오직 GET 메서드로만 요청받을 수도 있고
이에 @PathVariable을 더하여 2개의 매개변수를 받는 GET 메서드를 구현해보기도 하였다.
package com.spring.springstudy1.Controller;
import org.springframework.web.bind.annotation.*;
import java.sql.SQLOutput;
import java.util.HashMap;
@RestController
public class HelloController {
@GetMapping(value = "/member/{studentId}/name/{name}")
public HashMap<String, Integer> getStudentIdAndName(@PathVariable(value = "studentId") Integer studentId, @PathVariable(value = "name") String name) {
System.out.println(studentId);
System.out.println(name);
HashMap<String, Integer> response = new HashMap<>();
response.put(name, studentId);
return response;
}
}

-이외에도 URI에서 ? 우측에 {key}={value}형식으로 열거하는 쿼리 방식
-DTO 객체를 활용하여 여러 키값을 각각 클래스의 매개변수로 정의해두고 toString()을 이용해 깔끔히 출력 등 다양한 방식 존재
- @PostMapping:데이터베이스 저장소에 리소스를 저장할 때 사용되는 API, 저장하고자 하는 리소스는 HTTP Body에 담아 제출
- @PutMapping:리소스의 값을 업데이트하는데 사용
- @DeleteMapping:서버의 리소스를 삭제할 때 사용
필요하면 그때그때 활용해보면 될듯 하다.
'Backend > 스프링' 카테고리의 다른 글
| 스프링부트 스터디 5주차 - 유효성 검사 및 실습 (0) | 2023.08.30 |
|---|---|
| 스프링부트 스터디 4주차 - Spring Data JPA 및 연관매핑 (0) | 2023.08.23 |
| 스프링부트 스터디 3주차 - 데이터베이스 연동 (0) | 2023.08.22 |