@Controller
public class HomeController {
@GetMapping("/home/main")
@ResponseBody
public String showMain() {
return "안녕하세요.";
}
}
@를 붙이고 써있는 것은 개발자가 스프링부트에게 명령하는 것이다.
@Controller -> 이건 컨트롤러야 알았지?
@GetMapping("/home/main") -> http://localhost:8080/home/main 여기 접속하면 아래 메서드 실행해줘 알았지?
@ReseponseBody -> 아래 메서드 실행하고 그 리턴값을 응답을 삼아줘. 화면에 보여줘. 알았지?
http://localhost:8080/home/plus?a=1&b=2
이렇게 요청 올 때 받는 법
@GetMapping("/home/plus")
@ResponseBody
public int showPlus(@RequestParam(defaultValue = "0") int a, @RequestParam int b) {
return a + b;
}
defaultValue를 쓰면 주소에 인자를 전달 안해도 된다.
이건 둘 다 붙여도 되고 둘 다 안붙여도 되고 하나만 붙여도 되고 마음대로~
@RequestParam이라는 어노테이션 자체는 생략 가능하다.
@AllArgsConstructor
선언된 변수가 모두 포함된 생성자를 자동으로 생성
@Getter, @Setter
변수들에게 getter setter 메서드 자동 생성
모든 변수에 만들고 싶으면 클래스 이름 위에 쓰고 몇 개만 하고 싶으면 변수 위에 작성
boolean removed = people.removeIf(person -> person.getId() == id);
다른건 됐고 이거 기억하자.
removeIf : 있으면 지우고 true, 없으면 false
Person found = people
.stream()
.filter(p -> p.getId() == id)
.findFirst()
.orElse(null);
여기선 이거 기억하자.
findFirst : 조건에 일치하는 element 1개 리턴
orElse : 없으면 null