반응형

Java Backend 개발자 되기 31

Mac OS에서 시스템 환경 변수 등록하는 방법

Mac OS의 기본 셸 확인하기 Mac OS Catalina 이 전 버전까지는 기본 셸이 Bash shell(bash)이었으나, Catalina부터 Z shell(zsh)이 기본 셸로 변경되었습니다. 따라서 Mac OS에서 시스템 환경 변수를 등록하기 위해서는 현재 사용하고 있는 Mac OS의 기본 셸이 무엇인지부터 확인을 해야 합니다. Mac OS에서 기본 셸은 아래의 터미널 명령으로 손쉽게 확인할 수 있습니다. kevin@hwang ~ % echo $SHELL /bin/zsh or /bin/bash Z shell에서 시스템 환경 변수 등록 방법 Z shell의 경우 다음과 같은 절차를 따릅니다. 아래와 같이 vi 편집기로 .zshrc 파일을 생성 또는 오픈합니다. kevin@hwang ~ % vi ~..

HttpMessageConverter에 대한 이야기

HttpMessageConverter란? 웹 브라우저 같은 클라이언트에서 보여지는 HTML 컨텐츠가 렌더링(Rendering)되는 방식은 크게 두 가지입니다. 하나는 웹 애플리케이션 서버에서 동적으로 변하는 데이터를 포함하는 HTML을 만들어서 HTML 자체를 한번에 클라이언트 쪽으로 내려주는 방식입니다. 이 방식은 JSP나 타임리프(Thymeleaf) 같은 기술을 사용해서 HTML을 템플릿화 한 다음에 Controller의 핸들러 메서드에서 리턴하는 모델 데이터를 템플릿에 동적으로 채워 넣은 후, 최종적으로 완성된 HTML을 클라이언트 쪽으로 내려주는 방식입니다. 이 방식을 바로 서버 사이드 렌더링(Server Side Rendering)이라고 합니다. 또 하나는 클라이언트 쪽을 담당하는 Apache나..

ResponseEntity 알아보기

ResponseEntity란? ResponseEntity는 HttpEntity의 확장 클래스로써 HttpStatus 상태 코드를 추가한 전체 HTTP 응답(상태 코드, 헤더 및 본문)을 표현하는 클래스입니다. ResponseEntity를 어디에 사용할 수 있나요? ResponseEntity 클래스는 주로 @Controller 또는 @RestController 애너테이션이 붙은 Controller 클래스의 핸들러 메서드(Handler Method)에서 요청 처리에 대한 응답을 구성하는데 사용됩니다. Used in RestTemplate as well as in @Controller methods. 그리고 RestTemplate으로 외부의 API 통신에 대한 응답을 전달 받아서 처리할 경우, 역시 Respo..

Controller 핸들러 메서드의 Argument 알아보기

Controller의 핸들러 메서드는 다양한 유형의 Argument(인수)를 지원합니다. 그 중에서 REST API 애플리케이션에서 자주 사용되는 유형의 Argument를 간단히 살펴보도록 하겠습니다. Method Argument 설명 @RequestParam 쿼리 파라미터, form-data 등의 Servlet request Parameter를 바인딩 해야 할 경우 사용합니다. @RequestHeader request header를 바인딩해서 header의 key/value에 접근할 수 있습니다. @RequestBody request body를 읽어서 지정한 Java 객체로 deserialization 해줍니다. @RequestPart 'multipart/form-data' 형식의 request 데이터..

@RequestMapping 애너테이션

​@RequestMapping 애너테이션은 어디에 사용할 수 있나요? @RequestMapping 애너테이션은 클라이언트의 요청과 Controller의 핸들러 메서드를 매핑하기 위해서 사용하는 애너테이션입니다. 즉, @RequestMapping 애너테이션에 정의된 URI에 매치되는 요청을 처리할 수 있도록 해줍니다. @RequestMapping 애너테이션은 클래스 레벨에 사용할 수 있고, 메서드 레벨에 사용할 수 있습니다. 일반적으로 공통 URI는 클래스 레벨에 정의하고, 핸들러 메서드별로 달라지는 URI는 각각의 핸들러 메서드에 정의합니다. @RequestMapping 애너테이션 단축 표현 @RequestMapping 애너테이션은 HTTP Method 에 해당하는 단축 표현들을 주로 사용합니다. @Ge..

Postman 기본 사용법

이번 시간에는 REST API 요청을 테스트하기 위한 API 테스트 툴인 Postman의 기본 사용법을 알아보도록 하겠습니다. API 요청을 보내는 최소한의 사용법만 살펴볼 예정이므로 Postman의 세부 기능이 궁금하신 분들은 공식 사이트의 매뉴얼을 참고해주세요. Postman은 웹에서도 사용 가능하지만 여기서는 편의를 위해 실행 파일을 다운로드한 후, 설치하는 것을 기준으로 설명합니다. 이 글의 Postman 실행 파일은 Windows 기준이지만 다른 OS의 경우도 사용법은 크게 다르지 않을 것이라 생각합니다. 실행 파일 다운로드 Postman 사이트에서 Postman 실행 파일을 다운로드 받습니다. 실행 파일 설치 다운로드 받은 실행 파일을 실행한 후, 안내에 따라서 설치합니다. 설치된 파일 실행 ..

Spring Boot 애플리케이션의 부트스트랩(Bootstrap) 과정 알아보기

Spring Boot에서의 부트스트랩이란? 일반적으로 부트스트랩(Bootstrap)이란 어떠한 과정이 시작되어 알아서 진행되는 일련의 과정을 의미합니다. 컴퓨터의 부팅 과정을 생각해보면 이해가 쉬울것입니다. 우리가 컴퓨터 전원을 켜게 되면 일반적으로 다음과 같은 작업이 내부적으로 진행이 됩니다 전원을 켜면 컴퓨터 전원이 잘 공급되는지를 확인한다. 중앙 처리 장치의 상태를 점검한다. ROM에서 컴퓨터의 입출력 장치 및 램과 같은 주요 기본 장치들에 대한 정보를 읽어들여서 정상 동작 유무를 확인한다. 운영체제를 램으로 읽어 들여서 실행한다. Spring Boot에서의 부트스트랩도 컴퓨터 부팅 과정과 유사합니다. Spring Boot 애플리케이션이 실행이 되면, 클라이언트가 사용 가능한 애플리케이션으로 동작하..

@SpringBootApplication 의 역할

[코드 1-1] @SpringBootApplication public class CoffeeApplication { public static void main(String[] args) { SpringApplication.run(CoffeeApplication.class, args); } } [코드 1-1]과 같이 Spring Boot Application 클래스에 @SpringBootApplication 애너테이션을 추가하면 기본적으로 해당 애플리케이션이 Spring Boot 기반의 애플리케이션으로 동작하도록 해줍니다. 그렇다면 @SpringBootApplication 은 내부적으로 어떤 기능을 하는 걸까요? @SpringBootApplication 은 다음과 같은 세 가지 기능을 활성화 하는데 사용됩..

RESTful API의 URL 작성 규칙

REST API란? REST(Representational State Transfer)는 HTTP 네트워크 상의 리소스(Resource, 자원)를 정의하고 해당 리소스를 URI라는 고유한 주소로 접근하는 접근 방식을 의미하며, REST API란 REST 방식을 통해서 리소스에 접근하기 위한 서비스 API를 지칭합니다. REST에서 의미하는 리소스란? REST에서 의미하는 자원은 데이터베이스에 저장된 데이터, 문서, 이미지, 동영상 등 HTTP 통신을 통해 주고 받을 수 있는 모든 것을 의미합니다. URI(Uniform Resource Identifier)와 URL(Uniform Resource Locator) URI는 네트워크 상에 있는 특정 리소스를 식별하는 통합 자원 식별자(Uniform Resour..

Spring MVC의 동작 방식 추가 설명

Handler 용어의 의미 핸들(Handle) 이라고 하면 일반적으로 자동차의 핸들을 제일 먼저 떠올릴 수 있는데, 자동차의 핸들은 운전자가 직접 핸들을 움직이면서 직접적으로 자동차의 주행을 처리하는 역할을 합니다. Spring MVC에서는 자동차의 핸들과 마찬가지로 클라이언트의 요청을 처리하는 처리자를 Handler라고 합니다. 그렇다면 Spring MVC에서 Handler는 누구일까요? Spring MVC에서의 요청 Handler는 바로 여러분들이 작성하는 Controller 클래스를 의미합니다. 그리고 Controller 클래스에 있는 ‘@GetMapping, @PostMapping’ 같은 애너테이션이 붙어 있는 메서드들을 핸들러 메서드라고 합니다. HandlerMapping이란 의미는 결국 사용자..

반응형