본문 바로가기
728x90
반응형

전체 글602

[Spring] HTTP 응답 - 정적 리소스, 뷰 템플릿 스프링(서버)에서 응답 데이터를 만드는 방법은 크게 3가지이다. 1) 정적 리소스 - 예) 웹 브로우저의 정적인 HTML, css, js를 제공할 때는, 정적 리소스를 사용한다. 2) 뷰 템플릿 사용 - 예) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용한다. 3) HTTP 메시지 사용 - HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야하므로, HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다 정적 리소스 스프링 부트는 클래스패스의 다음 디렉토리에 있는 정적 리소스를 제공한다. /static, /public, /resources, /META-INF/resources src/main/resources 는 리소스를 보관하는 곳이고, 또 클래스패스의 시.. 2023. 6. 12.
[Spring] HTTP 요청 메시지 - JSON 이번에는 HTTP API에서 주로 사용하는 JSON 데이터 형식을 조회해본다. 기존 서블릿에서 사용했던 방식과 비슷하게 시작해본다. RequestBodyJsonController package hello.springmvc.basic.request; import com.fasterxml.jackson.databind.ObjectMapper; import hello.springmvc.basic.HelloData; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpEntity; import org.springframework.stereotype.Controller; import org.springframework.util.StreamU.. 2023. 6. 12.
[Spring] HTTP 요청 메시지 - 단순 텍스트 HTTP message body는 데이터를 직접 담아서 요청을 보내는 것이다. - HTTP API에서 주로 사용하고, JSON, XML, TEXT 등이 있다. - 데이터 형식은 주로 JSON을 사용한다. - POST, PUT, PATCH가 있다. 요청 파라미터와 다르게, HTTP 메시지 바디를 통해 데이터가 직접 넘어오는 경우는 @RequestParam, @ModelAttribute를 사용할 수 없다. 물론 HTML Form 형식으로 전달되는 경우는 요청 파라미터로 인정 된다. 가장 단순한 텍스트 메시지를 HTTP 메시지 바디에 담아서 전송하고 읽어본다. HTTP 메시지 바디의 데이터를 InputStream 을 사용해서 직접 읽을 수 있다. RequestBodyStringController package.. 2023. 6. 12.
[Spring] HTTP 요청 파라미터 - @ModelAttribute @ResponseBody @RequestMapping("/request-param-v3") public String requestParamV3( @RequestParam String username, @RequestParam int age ) { log.info("username={}, age={}", username, age); HelloData data = new HelloData(); data.setUserName(username); data.setAge(age); return "ok"; } 실제 개발을 하면 요청 파라미터를 받아서 필요한 객체를 만들고 값을 넣어주어야 한다. 보통은 위 코드처럼 데이터를 넣어주는 작업을 해야한다. 스프링은 위와 같은 과정을 자동화해주는 @ModelAttribute .. 2023. 6. 12.
[프로그래머스/MySQL] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/151137 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 CAR_RENTAL_COMPANY_CAR 테이블에서 ① '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력하는 SQL문을 작성해주세요. ② 이때 자동차 수에 대한 컬럼명은 CARS로 지정하고, 결과는 자동차 종류를 기준으로 오름차순 정렬해주세요. 시트의 종류가 여러 개인데, 여기에서 뽑아야할 포인트는 살펴봐야할 옵션의 공통적인 .. 2023. 6. 9.
[프로그래머스/MySQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/151139 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 ① 대여 시작일을 기준으로 ② 2022년 8월부터 2022년 10월까지 ③ 총 대여 횟수가 5회 이상인 자동차들에 대해서 ④ 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력 하는 SQL문을 작성해주세요. ⑤ 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬해주세요. ⑥ 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외해주세요. ① ~ ③ 번과 ④번 쿼리를 나눠서 작성하는 생각을 해야한다. ⑤번 조건은 마지막에 정렬해도 되니 .. 2023. 6. 9.
728x90
반응형