Spring Boot 시작하기 #1

ims·2020년 7월 25일
post-thumbnail

시작 !

인텔리제이에서 project -> spring initializer

(spring boot 사이트에서 설정하는 방법도 있다)

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

통신의 종류 2가지 비교


  1. 소켓통신
    1) 접속을 계속 유지하면서 data를 전달
    2) 계속 유지하면서 전달하기 때문에, 서버의 자원에 따라서 연결할 수 있는 client 숫자가 제한 돼있다.
    3) 실시간 정보 교환에 사용하며, HTTP보다 속도가 빠르다.
  2. HTTP 통신
    1) Client 요청이 있을 때만 data를 전달
    2) 요청이 있을때만 전달하기 때문에, Socket보다 상대적으로 많은 양의 data를 처리 가능
    3) data 요청 후, 응답이 오면 연결은 끊어진다.

controller 생성

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 창에 입력값이 출력된다.

local variable이 parameter와 겹치는 경우

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

model 분리

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

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

Json으로 return 하기

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

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

profile
티스토리로 이사했습니다! https://imsfromseoul.tistory.com/ + https://camel-man-ims.tistory.com/

0개의 댓글