[REST API] path parameters로 Hello World REST API 업그레이드하기

민지·2024년 3월 10일
0

REST API - Spring Boot

목록 보기
4/27
post-custom-banner

참고링크 - 내가 정리한 시리즈 글 링크

path 파라미터란? query 파라미터 VS path 파라미터

path parameter의 의미와 예제를 살펴보자!

스프링 MVC 컨트롤러에서 @PathVariable을 사용하는 간단한 예제를 다음과 같다.

@RestController
@RequestMapping("/api/users")
public class UserController {

    // ...

    @GetMapping("/{id}")
    public User getUserById(@PathVariable("id") Long userId) {
        // userId 값을 사용하여 사용자 정보를 조회
        User user = userService.findById(userId);
        return user;
    }

    // ...
}

위의 예제에서 @GetMapping("/{id}")는 /api/users/{id} 형태의 URL에 대한 GET 요청을 처리하는 메서드를 정의한다. URL의 {id} 부분은 URI의 일부로서 동적으로 변할 수 있으며, 예를 들어 /api/users/1, /api/users/2 등과 같이 변할 수 있다!

즉, /api/users url은 상수이고, /{id} 안에 들어가는 것은 변수이다.

@PathVariable("id") Long userId{id}로 표시된 URL의 일부를 userId라는 메서드 파라미터로 바인딩한다. 이렇게 바인딩된 변수는 메서드 내에서 사용자 ID로 사용되어, 해당 ID에 해당하는 사용자 정보를 조회하는 데 사용된다.

restfulwebservices/helloworld/HelloWorldController.java Modified

import org.springframework.web.bind.annotation.PathVariable;

@RestController
public class HelloWorldController {
	// Path Parameters
	// /hello-world/path-variable/{name}
	// /hello-world/path-variable/minjiki2

	@GetMapping(path = "/hello-world/path-variable/{name}")
	public HelloWorldBean helloWorldPathVariable(@PathVariable("name") String userName) {
		return new HelloWorldBean(String.format("Hello World, %s", name)); 
	}
	
}

실행결과,

참고 및 출처

이 시리즈는 Udemy 강의의 내용을 정리한 것입니다.
https://www.udemy.com/course/spring-boot-and-spring-framework-korean/

profile
배운 내용을 바로바로 기록하자!
post-custom-banner

0개의 댓글