본문 바로가기

728x90
반응형

Java/Spring

(13)
[Spring Boot] Path Variable - 가변 URI 사용 이번에는 우리가 정의한 URI 값을 변경할 수 있도록, 즉 변수를 사용하여 Endpoint를 활용해 보도록 하겠음. API의 URI를 클라이언트에서 활용할 때에는 정의된 형태로만 호출해야 함. API는 Application Programming Interface이고 Interface는 곧 약속이므로 이 API를 제공하는 사람이 정의해 놓은 방식대로 사용해야 한다는 것. 정의되지 않은 URI를 호출하면 HTTP Status Code 중에서 Page Not Found(또는 Not Found) 에러를 반환하고 정의되지 않은 메서드를 호출하면 Method Not Allowed를 받게 됨. 이처럼 고정된 API만 사용하는 것이 아니라 만약 URI에 가변적인 데이터를 추가해 사용할 수 있다편 편리할 것임. 그렇다면..
[Spring Boot] DispatcherServlet과 프로젝트 동작의 이해 Spring Boot의 작동 원리에 대해 간략하게 정리하고 넘어가도록 하자. Spring Boot의 설정 내용들은 Java 클래스를 이용해 처리할 수도 있음. 그러나 resources 폴더 내에 저장되어 있는 파일들 중 application.yml 또는 application.properties라는 파일이 Spring Boot에서 필요한 설정들을 담당함. .properties 확장자 파일을 사용한다면 =로 구분된 설정 이름과 값을 지정할 수 있고(설정 이름 = 값) .yml(또는 yaml) 파일을 사용하면 설정 이름과 값을 :으로 구분해 저장할 수 있음(설정 이름: 값). .yml(또는 .yaml) 파일을 사용하면 계층 구조로 구분할 수 있기 때문에 같은 이름으로 grouping이 되어 있는 경우 훨씬 더..
[Spring Boot] Hello World Bean 지난 시간에 우리는 Spring Boot 프로젝트의 첫 번째 클래스로서 HelloWorldController를 만들고 "Hello World!"라는 문자열을 반환하는 API를 만듦. https://developing-move.tistory.com/241   이제 우리가 개발할 두 번째 API는 단순히 문자열을 반환하는 것이 아니라 Bean을 반환시켜 주는 method를 만들 것. 반환할 Bean의 이름은 HelloWorldBean이라고 지정할 것이며 Java Bean 클래스 또한 작성하려 함.  우리는 현재의 Spring Boot 프로젝트를 생성하는 과정에서 Lombok이라는 라이브러리를 추가함. Lombok을 추가하면 만들고자 하는 클래스에 대해 어떠한 property를 등록했을 때 getter(), ..
[Spring Boot] HelloWorld Controller 이전에 생성한 Spring Boot 프로젝트에 첫 번째 클래스를 생성해 보겠음. @RestController public class HelloWorldController{ // GET // URI: /hello-world // @RequestMapping(method=RequestMethod.GET, path="/hello-world") } HelloWorldController라는 이름의 클래스를 생성함. 먼저 이 클래스가 Spring Context에 등록되게 하기 위해서 우리는 @RestController라는 어노테이션을 사용할 것임. cf) @RestController와 @Controller의 차이는 다음 글에서 알아볼 예정이다. 일단은 우리가 만들고자 하는 RESTful 서비스에서는 화면단을 가지고..
[Spring Boot] Spring Boot 프로젝트의 구조와 실행 방법 처음 Spring Boot 프로젝트를 생성한 뒤 곧바로 실행해 보자. 지금 생성된 프로젝트는 아무런 내용이 없는 아주 기본적인 형태의 빈 프로젝트임. 이는 앞으로 우리가 개발하려고 하는 프로젝트의 기반이 되는 필수 설정이나 라이브러리들을 가지고 있음. 기본적인 실행 환경을 가지고 있기 때문에 현재 상태만으로도 바로 실행이 가능함.      기본적인 Spring Boot 프로젝트는 내장 Tomcat을 가지고 있기 때문에 위 이미지와 같이  @SpringBootApplication 이라는 Annotation이 들어 있는 클래스 파일에는 main() method가 들어 있을 것이고 이 클래스를 실행하는 것만으로도 embeded Tomcat이 실행됨으로써 서버가 같이 기동됨.    프로젝트를 실행시키고 로그를 ..
Restful API 설계 우리가 작성하려고 하는 서비스 API가 어떻게 구현될 것인지 미리 정의를 내리고 진행해 보도록 하자. 우리는 이번 강의를 통해 사용자(users) 관리 API, 그리고 그 사용자가 작성하는 게시글(posts)에 대한 REST API를 개발하려 함. 일반적으로 사용자와 사용자가 작성하는 게시글의 관계는 한 명의 사용자가 여러 개의 게시글을 작성할 수 있다고 정의내릴 것임. 이러한 상황일 때 사용자와 게시글의 관계를 1:N이라 함. 우리가 설계할 API는 크게 조회, 생성, 삭제와 관련된 기능이 있을 것임. IT 개발에서는 서비스에 사용되는 기능을 구현하는 데 있어서 스토리지에 작업을 어떻게 하는지에 따라 크게 데이터의 생성(CREATE), 조회(READ), 수정(UPDATE), 삭제(DELETE)로 구분함..
[Spring Boot] Spring Boot 개요 Spring Boot는 Spring으로 작성된 단독 실행 가능한 애플리케이션을 개발하기 위한 플랫폼. 간단하게 개발 및 실행이 가능하고 상용화 가능한 수준의 스프링 기반 애플리케이션을 쉽게 만들어낼 수 있다는 장점을 가짐. 기본적으로 Spring Framework를 이용한 애플리케이션 개발에는 많은 설정 작업들이 필요한데 Spring Boot를 이용하면 최소한의 설정만으로 Spring의 플랫폼과 서드파티(Third Party), 라이브러리 등을 사용할 수 있게 됨.  spring.io에서는 Spring Boot에 대해 아래와 같이 설명함.Spring 기반의 '단독 실행 가능한' 애플리케이션을 간단하게 생성할 수 있고, 대부분의 Spring Boot 애플리케이션은 최소한의 설정 작업만으로도 바로 실행할 수..
Open API API(Application Programming Interface)  흔히 말하는 IT 개발에 필요한 운영체제나 시스템, 애플리케이션, 라이브러리 등을 활용해 다양한 응용 프로그램을 작성하게 해 주는 인터페이스. 인터페이스는 일종의 약속이라고 생각함. 어떤 기능을 가지고 처리할 수 있게 하는 함수나 프로그램의 로직을 사용하기 위해 어떻게 호출하는지에 대한 호출 방법, 사용 시 필요한 매개변수, 얻게 되는 반환 값 등이 어떻게 작성되어 있으니 이렇게 사용하라는 약속인 것임. Open API는 누구나 사용할 수 있도록 공개된 API. 즉 API 중 플랫폼의 기능이나 콘텐츠를 외부에서 웹 프로토콜로 호출해 사용할 수 있게 해 주는 개방형 API임. 기관이나 기업이 보유한 다양한 정보나 애플리케이션 등을 타 ..

728x90
반응형