본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

16일차 - 스프링부트

스프링부트 세팅

https://start.spring.io/

  • Spring Boot 3.0.4
  • Java 17
  • Dependencies : Spring Boot DevTools, Spring Web, Lombok, Thymeleaf

- File > Settings > Build, Execution, Deployment > Compiler에서 Build project automatically 체크

- File > Settings > Advanced Settings > Allow auto-make ~ 체크

- File > Project Structure > SDK 17로 설정

- Lombok requires ~ > Enable annotation processing 클릭

- (필요한 경우) File > Repair IDE 실행


@Controller
public class HomeController {
    @GetMapping("/home")
    @ResponseBody
    public String showMain() {
        return "Welcome!";
    }
}

'localhost:8080/home' 에 접속하면 Welcome! 출력


파라미터 받기

    @GetMapping("/home/main")
    @ResponseBody
    public int showMain(@RequestParam(defaultValue = "0") int a){
        return a;
    }
  • 쿼리 스트링 : URL 끝에 물음표로 시작하는 문자열
  • @RequestParam은 생략 가능
  • defaultValue 설정할 수 있음
  • 'localhost:8080/home/main?a=10'으로 접속 시 위 코드의 a는 10

Lombok

@AllArgsConstructor
@Getter
@Setter
@ToString
class Person {
    private String name;
    private int age;
}

- 메서드를 따로 생성하지 않아도 된다.

- @AllArgsConstructor : 입력된 요소의 순서대로 생성자 생성(ex. 위 코드로 Person(String name, int age){...} 생성됨)


JSON Viewer

https://chrome.google.com/webstore/detail/json-viewer/gbmdgpbipfallnflgajpaliibnhdgobh?hl=ko 

 

JSON Viewer

The most beautiful and customizable JSON/JSONP highlighter that your eyes have ever seen. Open source at https://goo.gl/fmphc7

chrome.google.com


쿠키

- 스프링부트는 고객을 구분하지 못한다. => 다른 브라우저로 접속해도 이어져서 실행된다.

- 쿠키를 이용하면 브라우저 별로 구분해서 작동 가능

- HttpServletRequest req : 받은 응답

- HttpServletResponse resp : 보낼 요청