본문 바로가기
코딩일기/날씨앱 만들기 프로젝트

[Spring Boot] RestAPI 만들기 예제

by 욱파이어니어 2021. 12. 16.
728x90
반응형

이번엔 Spring Boot에서 RestAPI를 만들어볼 예정이다.

 

RestAPI가 뭔지 정확히 모르는 분들은 아래 링크를 통해서 확인해보고 오면 좀더 이해가 빠를것이다.

 

https://wpioneer.tistory.com/231?category=1051315 

 

[RestAPI] Rest, RestAPI 설명 및 설계 규칙

RestAPI를 설명하기 이전에 Rest가 뭔지 부터 알아보자. Rest 란? Rest는 Representational State Transfer의 약자로써 자원을 이름으로 구분해 해당 자원의 상태를 주고 받는것을 뜻한다. 즉 URI를 통해 자원을..

wpioneer.tistory.com

 

일단 Spring Boot에서 RestAPI를 만드는 순서는 아래와 같다.

 

 

1. RestController Class를 만든다.

2. Mapping을 시켜주는 메소드를 만든다.

 

 

 

 

 

1. RestController Class를 만든다.

 

RestController Class를 만드는 방법은 간단하다.

Class를 하나 새로 만들고 @RestController 어노테이션을 추가해주면 된다.

 

ReadWeatherController class

@RestController
public class ReadWeatherController {


}

 

 

2. Mapping을 시켜주는 메소드를 만든다.

 

이제 그럼 URI에 매핑시켜준 메소드를 만들면 되는데 방법도 위와 같이 매우 간단하다.

그냥 @HTTP메소드Mapping을 적어주면 된다.

나는 GET을 사용할것이기 때문에 아래와 같이 적어주었다.

 

@RestController
public class ReadWeatherController {


	private TempService ts;
	
	public ReadWeatherController(TempService ts) {
		this.ts = ts;
	}



	//이제 여기다가 API를 만들면됨
	@GetMapping("/maxmintemp/{tempKey}")
	public Temperature readWeather(@PathVariable("tempKey")String tempKey) {
		
		Temperature temp = ts.getTemp(tempKey);
		return temp;
	}
	
}

나는 해당 메소드에서 PathVariable을 사용해주었는데 RequestParam을 사용하지 않고 PathVariable을 사용한 이유는 

리소스를 정렬이나 필터링 하기 위함이 아닌 식별하기 위함이여서 PathVariable을 사용하였다.

 

참조 

https://ryan-han.com/post/translated/pathvariable_queryparam/

 

[번역] Path Variable과 Query Parameter는 언제 사용해야 할까? | Integerous DevLog

[번역] Path Variable과 Query Parameter는 언제 사용해야 할까? 2019/04/23 원작자의 허락을 받고 번역한 글입니다. 원문: When Should You Use Path Variable and Query Parameter? *역자 주: Spring boot와 Vue.js로 파일럿 프로

ryan-han.com

 

위 URI를 실제로 PostMan을 통해서 호출을 해보면 아래와 같은 결과가 나타난다.

 

 

 

앞으로는 특정 키를 header에서 입력을 하고

해당 키를 통해서 인가를 받은 사람만이 API를 호출할수 있게 만들 예정이다.

반응형