lkwa201
922
2021-08-21 19:07:24
2
208

스프링부트 통신방식과 테스트코드 구현 질문


client <-> server 대화방식이 restful-api 방식인가요?

예제소스들 대부분의 컨트롤러 클래스를 보면 @RestController로 시작하더라고요.

일반적인 스프링은 @Controller로 하고, @Autowride를 많이 쓰는 반면에 부트는.... 조금 다른 게 조금은 익숙하지가 않네요.


테스트 코드도 짤 때 MockMvc 보다 RestTemplate로 구현하는게 맞는건가요?

요것도 조금 헷갈립니다.

0
  • 답변 2

  • 열심히살자.
    43
    2021-08-22 00:13:38

    저도 공부하고있는 입장입니다만 제가 알고있는 지식을 말씀드리면

    Spring boot rest api는개발하는 방법은  2가지 패턴이 있습니다 흔한 mvc패턴과 data rest를 활용하는 방법입니다

    client <-> server를 통해 get,post,put,delete 처리를하고 반환되는 형식이 xml,json인 형식이 data rest방식입니다

    그리고 @RestController가 view 반환을 data로  @Controller는 view반환을 .html로 반환을합니다 

    (즉 mvc에서 반환형식이 .html이면 rest api는 xml,json으로 나뉘게 됩니다)


    테스트 코드는 아무거나 사용하셔도 상관없습니다

    2개 차이점은 TestRestTemplate은 서블릿 컨테이너(톰켓)을 사용하고 MocMvc는 서블릿 컨테이너(톰켓)을  사용하지않습니다 

    그래서 TestRestTemplate사용하면 실제 서버가 동작하는 것처럼 테스트를 수행이 가능한겁니다

  • 천사와악마
    2k
    2021-08-22 11:45:09

    요즘 트렌드가 프론트엔드 백엔드 구분이 되니 REST 방식이 선호되는것일뿐

    부트든 레거시 스프링이든 다 기존과 동일하게 설정 가능합니다

    부트는 설정에서 차이가 있을뿐이지 구현에 차이가 없습니다 있다면 스프링 5.x 대와의 차이가 있겠죠

    - 둘 다 할 줄 알아야 합니다


    autowired 는 지양하는 편입니다. 이유는 구글링하면 친절하게 잘나와있으니 참고하시고

    부트에선 구동시 순환 참조 에러 체크하니 AA 설계 잘하셔야 합니다


    제 생각에도 테스트코드 작성할때 유리한건 REST 방식이 편한 것 같긴해요. 

  • 로그인을 하시면 답변을 등록할 수 있습니다.