대규모 서비스로 갈 수록 처리해야할 서비스가 많아짐 → 이를 하나의 클래스에서 몰아서 처리할 것이 아니라 Controller 라는 중간 제어자 역할 하는 것을 만들어서 한 요청에 대한 것은 한 Controller 가 맡아서 필요한 로직 처리를 위한 서비스를 호출
⇒ 개발 비용이나 유지보수 비용 대폭 감소
Controller 에 사용되는 annotation 들
사용자가 요청 → 응답 (data)
@GetMapping("http/get")
@PostMapping("http/get")
사용자가 요청 → 응답 (Html 파일)
Insert
작업을 진행할 때 null 인 값은 Insert
필드를 제외하고 진행
`Entity.java`(객체)에 추가
→ 사용시 복잡해 질 수 있기 때문에, 잘 사용 안함
url 경로에 변수를 넣어줌
RequestParam
과 PathVariable
비교
RequestParam
PathVariable
JPARepository 중 Optional<> 를 반환하는 함수의 경우
ex : findByIdifPresent()
- 특정 결과를 반환하지 않는다.
- Optional의 값이 존재할 경우에만 실행될 로직이 함수의 인자로 전달된다.
- 함수형 인자로 람다식이 넘어올 수 있다.
isPresent()
- 특정 결과를 반환하지 않는다.
- 현재 optional의 값이 null인지 확인한다.
if-else
문을 사용하지 않고도 null값 존재 검사를 할 수 있다.