본문 바로가기

STUDY/Spring

Spring Boot | REST API 만들기 ( + IntelliJ Lombok추가)

REST API 맨 처음에 프로젝트 생성하는 건 안 해봐서 해보기로 한다!

 

0. 인텔리제이에 롬복 사용 설정

File -> Settings -> Plugins -> Lombok검색 후 install

1. 스프링 부트 프로젝트 생성 및 설정

Spring Boot | 프로젝트 생성, 실행하기

 

Spring Boot | 프로젝트 생성, 실행하기

1. 스프링 부트 스타터 사이트 이용 - start.spring.io/ spring initializr - 스프링 부트 프로젝트를 만들어주는 스프링에서 운영하는 사이트 Project: Gradle 선택 (과거에는 Maven을 많이 사용했지만, 요즘은 G.

gaemi606.tistory.com

뭐 똑같다.. 그런데 이번엔 Maven(pom.xml)로 만들어봤음.. gradle이 훨씬 가독성이 좋은 것 같다..

MySQL과 연동하기 위해 일단 mysql-connector가 추가되어있는데, 아직 MyBatis는 추가되지 않은 상태다.

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

 

MySQL연동을 위한 설정을 해준다. yaml은 포기하지 않았다...

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/example?serverTimezone=UTC&characterEncoding=UTF-8
    username: [유저네임]
    password: [비밀번호]

 

만약 properties라면 아래와 같이 입력!

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/example?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=1234

 

실행해서 오류나지 않으면 잘 연결이 되었다고 보면 된다.

 

2. Controller만들기

굳이... 적어본다... 

@RestController는 return값을 JSON형식으로 반환해준다.

@RestController
public class WebRestController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello World";
    }
}

 

/hello로 접근했을 때 아래와 같이 뜨면 잘 된것입니다~

 

다른 설정들이 없이 만드니 허무하지만... 기억하기 위함이므로...