Spring Boot Controller

yenn·2021년 8월 8일
0

Spring

목록 보기
10/12
post-thumbnail

Controller

  • 사용자의 요청이 진입하는 지점
  • 요청에 따라 어떤 처리를 할지 결정
    → 결정만 해주고 실질적 처리는 Service 에서 담당
  • 사용자에게 View(또는 서버에서 처리된 데이터를 포함하는 View)를 응답으로 보내줌

Controller 를 왜 사용하는지

대규모 서비스로 갈 수록 처리해야할 서비스가 많아짐 → 이를 하나의 클래스에서 몰아서 처리할 것이 아니라 Controller 라는 중간 제어자 역할 하는 것을 만들어서 한 요청에 대한 것은 한 Controller 가 맡아서 필요한 로직 처리를 위한 서비스를 호출

⇒ 개발 비용이나 유지보수 비용 대폭 감소

Annotation

Controller 에 사용되는 annotation 들

1️⃣ @RestController

사용자가 요청 → 응답 (data)

  • @GetMapping("http/get")
  • @PostMapping("http/get")

2️⃣ @Controller

사용자가 요청 → 응답 (Html 파일)

3️⃣ @DynamicInsert

Insert 작업을 진행할 때 null 인 값은 Insert 필드를 제외하고 진행

`Entity.java`(객체)에 추가 

→ 사용시 복잡해 질 수 있기 때문에, 잘 사용 안함

4️⃣ @pathvariable & @RequestParam

url 경로에 변수를 넣어줌

  • String의 경우 . 이 포함되어있다면, . 뒤가 잘려서 들어오게 됨

RequestParamPathVariable 비교


JPARepository 중 Optional<> 를 반환하는 함수의 경우
ex : findById

ifPresent()

  • 특정 결과를 반환하지 않는다.
  • Optional의 값이 존재할 경우에만 실행될 로직이 함수의 인자로 전달된다.
  • 함수형 인자로 람다식이 넘어올 수 있다.

isPresent()

  • 특정 결과를 반환하지 않는다.
  • 현재 optional의 값이 null인지 확인한다.
  • if-else문을 사용하지 않고도 null값 존재 검사를 할 수 있다.
profile
Junior BackendEngineer 😎

0개의 댓글