스프링 부트 Controller (1)
728x90

나는 Java를 배우기 전에는 Java가 그냥 그런 언어라고 생각했다.

하지만 자바의 기초를 습득하고 스프링을 접할 때 정말 아름다운 언어잖아!라고 다시 생각했다..

 

스프링 부트의 Controller에 대해 잠시 써보고자 한다.

 

먼저 Spring Boot는 Java 기반의 웹 애플리케이션을 쉽게 개발할 수 있도록 도와주는 프레임워크다.

그중 @Controller 어노테이션은 Spring에서 해당 클래스가 웹 요청을 처리하는 컨트롤러 클래스임을 나타낸다.

 

@Controller
public class ArticleController { }

 

저렇게 어노테이션을 붙여주기만 하더라도 스프링 부트에서 이게 컨트롤러구나 인식한다는 뜻이다..!

 

아니.. 자바는 C#이랑 비슷한 객체지향 언어가 아니였나..?

저런 식으로 표현한 언어는 너무 아름다워서 말이 안 나왔다..

파이썬 이후로 두 번째이다.

 

 

	@GetMapping("/addcalc")
	@ResponseBody
	int testAddcalc(
		int a, int b
	) {
		return a + b;
	}

 

@GetMapping 어노테이션은 HTTP GET 요청을 처리하는 메소드이다.

 

ASP .NETCORE 에서는 @GetMapping 대신 HttpGet으로 가져올 수 있던걸로 기억하는데

어느쪽이든 방식은 비슷한 것 같다.

 

@ResponseBody 어노테이션은 메소드가 HTTP 응답의 본문(body)을 직접 생성하고 반환함을 나타낸다.

Resful 웹 서비스에서 JSON 또는 XML 형태의 데이터를 직접 반환할 때 사용한다.

 

	@GetMapping("/addcalc")
	@ResponseBody
	int testAddcalc(
		@RequestParam(defaultValue = "0") int a,
		@RequestParam(defaultValue = "0") int b
	) {
		return a + b;
	}

 

사실 일반적으로 값을 넣지않고 호출하면 웹에서 퉷 하고 뱉어버린다.

그렇기 때문에 DefaultValue를 설정하는것은 매우 중요한 일이다.

 

이때 쓰는 @RequestParam Spring에서 HTTP 요청 파라미터를 메소드의 파라미터로 전달받는데 사용된다!

 

아니.. 스프링 프레임워크 넌 도대체 무엇인가?

 

 

아무튼.. 몇가지 더 있지만 이정도만 쓰려고 한다.

 

여담으로

 

https://start.spring.io/

에서 스프링 관련 Plugins를 넣어서 받을 수 있고 IntelliJ가 매우 유용한 IDE라는 걸 오늘 다시금 깨달았다..

위 기능을 그대로 IDE에 담겨있었다..

 

배우는 건 언제나 즐거운 일이다.

'BackEnd > Spring' 카테고리의 다른 글

Spring Boot 게시판 만들기 연습..  (0) 2023.12.12
[Spring Security] 기초 사용하기  (1) 2023.11.27
Repository  (0) 2023.11.22
Entity  (0) 2023.11.22
스프링 부트 Validation  (0) 2023.11.17