스프링/3. 스프링 MVC 54

44. HTTP API

POST, PUT, PATCH 사용 요청파라미터, get이나 html form을 통한 것을 제외하고는 @RequestParam이나 @ModelAttribute를 쓸 수 없다. 저거 둘은 딱 저 2가지 경우에만 사용함. @Slf4j @Controller public class RequestBodyStringController { @PostMapping("/request-body-string-v1") public void requestBodyString(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request.getInputStream(); String..

39. 요청매핑

요청매핑은 말 그대로 요청 왔을 때 어떤 컨트롤러와 매칭해야 하는 지 @Slf4j @RestController public class MappingController { @RequestMapping(value = {"/hello-basic", "hello-go"}, method = RequestMethod.GET) public String helloBasic(HttpServletRequest request){ log.info("basic"); return request.getRequestURI(); } } 저렇게 uri경로 두개로 받을 수 있다. @GetMapping("/mapping/{userId}") public String mappingPath(@PathVariable("userId") String..

38. 로그

이제 Soutv 같은 거 안쓰고 로그 씀 로그는 스프링 부트 하면 보통 기본 라이브러리로 딸려옴. SLF4J가 인터페이스고 Logback이 구현한 건데 우리가 이걸 씀. 종속 라이브러리 중에서 spring-boot-starter-logging에서 확인 가능 @RestController public class LogTestController { private final Logger log = (Logger)LoggerFactory.getLogger(LogTestController.class); @GetMapping("log-test") public String logTest(){ String name = "Spring"; log.info("info log={}", name); return "ok"; } }..

37. 스프링MVC 시작

packaging의 jar와 war의 차이는, jar는 내장톰캣서버를 사용한다. jsp 사용을 못한다. 물론 뭐 찾아보면 방법이 있지 않나 싶지만... war는 jsp사용이 가능하다. 내장 톰캣이 아니다. 물론 내장톰캣이용가능하지만, jar은 내장톰캣에 최적화 되어있다. 이것은 톰캣따로 설치하고, 코드들만 올려서 쓰고 싶을 때 쓴다. 요즘은 거의 jar로 한다. 다 하고 한번 실행하고 http://localhost:8080/ 들어가 본다.