HttpServletRequest를 인자로 받아서 모든 것을 처리하는 방식의 단점
- 의존성이 높아집니다. HttpServletRequest는 Servlet API의 일부이므로 해당 API에 종속됩니다. 이는 코드의 유연성과 확장성을 저해합니다.
- 코드가 HttpServletRequest 객체에 의존하게 된다. 따라서 코드를 변경하기 어렵게 된다.
- Request 객체에서 처리해야할 일을 명세하고 싶을 때, 이 부분을 Dto가 아닌 HttpServletRequest으로 구현한다면 HttpServletRequest에서 확장시킬 수 없다. 따라서 유연성과 확장성을 저해시킨다.
- 유지보수가 어려워집니다. HttpServletRequest는 모든 종류의 HTTP 요청을 나타내므로 처리할 작업에 대한 정보를 추론해야 합니다. 이는 코드의 가독성과 유지보수를 어렵게 만듭니다.
- 파라미터의 정보만으로 이 Controller 단에서 어떠한 일을 하는지 파악하기가 어렵다.
- 테스트하기 어렵습니다. HttpServletRequest는 브라우저에서 전송되는 HTTP 요청을 나타내므로 테스트하기가 어렵습니다. 이는 코드 품질을 저하시킵니다.
- 이 컨트롤러의 메소드 테스트를 하려면 반드시 HttpServletRequest 객체를 넣어주어야 한다.