
인텔리제이에서 project -> spring initializer
(spring boot 사이트에서 설정하는 방법도 있다)


type은 gradle 과 maven을 선택할 수 있는데, gradle type이 더 최신의 type이라고 생각하면 된다.


package 하위에 controller package 를 만들고 , 거기에 GetController를 생성
그 후에 위의 사진과 같이 코드를 쳐준다.
그러고 localhost:8080/api/getMethod 주소로 접속하면 "Hi getMethod"라는 text가 화면에 뜬다.

RequestMapping 을 하면 method를 따로따로 지정해줘야 하는 데, 이보다 효율적인 방법이 있다.
GetMapping, PostMapping, DeleteMapping, PutMapping 등을 하면
method= RequestMethod.N 을 지정하지 않아도 알아서 지정해준다.
예시로 localhost:8080/api/getMapping?id=1234&password=5678 을 입력하면
콘솔과 web 창에 입력값이 출력된다.

위와 같이 name으로는 password를 받지만, 실제 parameter의 변수 이름은 다른 이름을 사용하여 에러를 피할 수 있다.
( 단, local variable과 parameter의 name은 겹치지 않게 naming 하는 것이 권장 )

만약 위와 같은 상황이 있을 경우, @RequestParam을 계속 써주면 코드가 더러워진다.
그래서 model을 만들고 생성한 model을 이용해 값을 받는다.

searchParam 이라는 model안에 3개의 변수를 선언하고, getter와 setter역시 생성해준다.
(객체를 통해서 parameter를 받을 수 있다.)


spring boot에서는 기본적으로 jackson library를 내장하고 있다. 이 jackson library는 객체를 자동으로 json 형태로 return 해준다.
http://localhost:8080/api/multi?account=ac&password=1234&page=1
으로 요청을 다시 보내보면

위의 사진과 같이 json 형태로 return 되는 것을 알 수 있다.