Heeseonn 2022. 12. 18. 22:17

로직 과정

  • controller -> service(serviceImpl) -> mapper
    • controller
    private StudyService service;
                    
                    @Autowired
                    public StudyController(StudyService service) {
                        this.service = service;
                    }
    
    : interface인 service로 연결. OCP원칙을 지키기 위함.
    • View단과 연결되는 것은 Controller. * 실제로 Controller에서는 Http통신을 위한 HttpServlet의 객체들을 매개변수로 받음. Service단에서는 안됨.
      • Service단은 모듈화를 통해 어디서든 재사용이 가능한 클래스 파일.
        • 비즈니스로직을 처리하는 모델이기에 요청사항에 따라 변할 수 있는 부분이었고, 변화에 대응하기 위해 확장을 염두하여 인터페이스로 구성

API 제작

    • Gson라이브러리의 사용
      • Gson라이브러리를 사용하면, Return값을 java객체를 넣어도 자동으로 Json형태로 변환
    • Gson라이브러리를 사용하지 않았을 때

  • Gson라이브러리를 사용했을 때

  • 물론, @RequestBody를 썼지만 스프링5부터는 따로 붙이지 않아도 알아서 Json으로 변환해준다고 함(https://admm.tistory.com/100)