일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- pointcut
- jpa
- 김영한
- db
- Thymeleaf
- springdatajpa
- Spring Boot
- Servlet
- SpringBoot
- JPQL
- spring
- JDBC
- 그리디
- http
- Android
- 스프링 핵심 원리
- 알고리즘
- 자바
- QueryDSL
- transaction
- 인프런
- 스프링 핵심 기능
- AOP
- Exception
- Proxy
- 백준
- 스프링
- Greedy
- kotlin
- Today
- Total
목록인프런/[인프런] 스프링 MVC 1 (59)
개발자되기 프로젝트
1. Item Class @Data public class Item { private Long id; private String itemName; private Integer price; private Integer quantity; public Item() { } public Item(String itemName, Integer price, Integer quantity) { this.itemName = itemName; this.price = price; this.quantity = quantity; } } 2. ItemRepository DB사용하지 않고 간단하게 메모리 활용.. @Repository public class ItemRepository { private static final Map ..
1. 프로젝트 생성. JAVA 11 Gradle SpringWeb Lombok Thymleaf 2. welcome page /resources/static/index.html 상품 관리 상품 관리 - 기본 3. 상품 도메인 모델 상품ID 상품명 가격 수량 4. 상품 관리 기능 상품 목록 상품 상세 상품 등록 상품 수정 5. 서비스 흐름 6. GitHub : MVC3 GitHub - bsh6463/MVC3 Contribute to bsh6463/MVC3 development by creating an account on GitHub. github.com
HTTP 메시지 컨버터는 SpringMVC 어디 쯤? 에서 사용됨....? 1. SpringMVC 구조 @RequestMapping을 처리하는 핸들러 Adapter인 RequestMappingHandlerAdapter에서 처리함. 2. RequestMappingHandlerAdapter 동작 방식 2.1 Argument Resolver annotation 기반 controller는 다양한 파라미터 사용 가능 HttpServletRequest, Model, @RequestParam, @ModelAttribute, @RequsetBody, HttpEnttiy 등등 이렇게 유연한 처리가 가능한 이유는 ArgumentResolver 때문임. annotaion기반 Controller를 처리하는 RequestMap..
HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우 HTTP 메시지 컨버터를 사용하면 편리하다. 1. @ResponseBody 사용 원리 @ResponseBody 를 사용 HTTP의 BODY에 문자 내용을 직접 반환 viewResolver 대신에 HttpMessageConverter 가 동작 기본 문자처리: StringHttpMessageConverter 기본 객체처리: MappingJackson2HttpMessageConverter byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음 참고: 응답의 경우 클라이언트의 HTTP Accept 해더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter 가..
https://github.com/bsh6463/MVC2HTTP API를 제공하는 경우 데이터를 전달해야함. 따라서 Message Body JSON형식으로 전달해야함. 1. HttpServletResponse 사용 writer를 가져와서 data를 message body에 넣음. @GetMapping("/response-body-string-v1") public void responseBodyV1(HttpServletResponse response) throws IOException { response.getWriter().write("ok"); } 2. ResponseEntity 사용 ResponseEntity를 사용하면 String을 MessageBody에 넣어줌.
1. 서버에서 reponse data를 만드는 3가지 방법 정적 resource HTML, CSS, js View Template 사용 웹 브라우져에 동적인 HTML 사용할 경우 view template 사용 HTTP 메시지 HTTP API를 제공하는 경우, HTML이 아니라 데이터 전달을 해야함. HTTP Message Body에 JSON형식으로 데이터 넣어서 보냄. 2. 정적 resource 정적 리소스 : 해당 파일을 변경없이 그대로 서비스 하는 것을 말함. SpringBoot는 src/main/resources 하위의 다음 directory에 있는 static resource를 제공함. /static /public /resources /META-INF/resources src/main/resour..
1. JSON 형식 data 받기 v1 ObjectMapper : JSON Object @Slf4j @Controller public class RequestBodyJsonController { private ObjectMapper objectMapper = new ObjectMapper(); @PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request.getInputStream(); String messageBody = Stream..
1.HTTP message Body에 데이터를 직접 담아서 요청할 수 있음. HTTP API에서 주로 사용, JSON, XML, TEXT JSON 형식 POST, PUT, PATCH 요청 파라미터와 다르게 HTTP 메시지 바디에 데이터를 답아서 넘어오면 @RequestParam, @ModelAttribute를 사용할 수 없다. (단, HTML Form형식은 메시지 바디에 쿼리 파라미터 형태임 ㅋㅋ) 2. messageBody의 텍스트 꺼내기. inputStream 받기 : request.getInputStream() Stream을 String으로 바꾸기 StreamUtils에서 제공하는 copyToString()사용, stream은 바이트코드로 바이트코드를 문자로 변경할 때는 인코딩 방식 지정 필요. @..