나는 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 요청 파라미터를 메소드의 파라미터로 전달받는데 사용된다!
아니.. 스프링 프레임워크 넌 도대체 무엇인가?
아무튼.. 몇가지 더 있지만 이정도만 쓰려고 한다.
여담으로
에서 스프링 관련 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 |
Comment