Spring Framework/끄적끄적 14

[Spring] 스프링 @Controller 와 @RestController 차이

주요한 차이점 : HTTP Response Body가 생성되는 방식 @Controller 전통적인 Spring MVC의 컨트롤러 View 기술사용 @ResponseBody를 사용하면 View를 리턴하지 않고 Controller에서 직접 데이터 리턴 가능 Spring4.0부터 @RestController를 통해 더 단순화 되었다. @RestController Restful 웹서비스의 컨트롤러 반환 되는 객체 데이터 타입 : JSON/XML 타입의 HTTP 응답을 직접 리턴 @Controller의 실행 흐름 Client -> Request -> Dispatcher Servlet -> Handler Mapping -> Controller -> View -> Dispatcher Servlet -> Respons..

[Spring] @RequestMapping 속성

value (URL 값으로 매핑 되는 조건을 처리) method ( HTTP Request 메소드 값을 매핑조건으로 부여 ) - GET ,POST, PUT ,DELETE 등.. params (같은 URL 이여도 , 요청 파라미터를 구분할수 있다.) 프론트단에서 JSON 로 데이터를 주고 받을땐 보통 두개를 썼다. produces (보통 이렇게 쓰인다, produces = MediaType.APPLICATION_JSON_UTF8_VALUE ) - 반환 HTTP 응답 헤더로 "Content-Type: application/json;charset=UTF-8"을 반환한다. 생략할 경우 메써드 리턴 타입에 따라 Content-Type을 자동으로 판단하여 반환한다. consumes (보통 이렇게 쓰인다, consu..

[Spring] @RequestBody, @ReponseBody 어노테이션

@RequestBody - HTTP 요청 몸체를 자바 객체로 전달받음 - HTTP 요청의 body 내용을 자바 객체로 매핑하는 역할 아래의 예제는 프론트단에서 , json으로 된 배열을 서버로 보내주는데 @RequestBody 를 사용하면, StockVO 객체에 쌓인다 (JSON이 배열형식이다보니 StockVO 에는 list변수를 따로선언해야함) 1 2 3 4 5 6 //json 배열 db에 담기 @PostMapping(value = "/new" ,consumes = "application/json") public void createList(@RequestBody StockVO vo){ log.info(vo) } Colored by Color Scripter cs @ResponseBody - 자바 객체..

[Spring] RestAPI 란?

아래의 이미지는 내가 댓글 기능을 구현할때, 사용했던 RestAPI 적용방식이다. 사실 RestAPI를 어렵게 생각할필요없고, 그냥 단순히 다른사람들이 한번에 URI만 보고 어떤기능을 할것인지 유추할수 있게 요약한 URI을 만드는거라고 생각하면된다 ( 거기서 어떤요청을 할건지에 따라 각각 다른 기능을 함 ) POST GET PATCH PUT 등 /replies/all/{bno} - get요청 게시물 /replies/{bno} - post요청 등록 /replies/{rno} - patch요청 수정 /replies/{rno} - delete요청 삭제 공부하면서 궁금했던점 ? 자연스레 댓글 부분을 공부하면서 ajax 란? @RequestMapping produces 속성과 consumes 속성 , Rest A..