이번에는 두번째 API를 작성해볼 건데, 단순한 문자형의 반환타입이 아닌 Java Bean 형태로 반환시켜볼 예정이다.
인텔리제이에서는 오류가 발생하면 붉은색으로 밑줄이 가거나 표시가 되기때문에 확인하기 편리하다.
우선 두번째 클래스를 생성해주고 이번에는 Bean타입으로 반환시킬 것이기 때문에 HelloWorldBean형태로 반환타입을 지정해준다.
현재 존재하지않는 클래스이기때문에 클래스를 생성해줘야 하는데, 단축키로 alt + enter 를 누르면 바로 생성 할 수 있다.
생성하면 패키지 위치를 설정할 수 있다.
[ @Lombok ]
다음은 @Lombok설정에 대해 알아볼 것이다.
public class HelloWorldBean {
private String message;
public String getMessage(){
return this.message;
}
public void setMessage(){
this.message = msg;
}
}
원래는 이런식으로 사용되었지만, Lombok을 설정하게되면 setter, getter, 생성자, toString, equals 메서드를 자동 생성해주기 때문에
import lombok.Data;
@Data
//lombok : setter, getter, 생성자, toString, equals 메서드 자동 생성
public class HelloWorldBean {
public HelloWorldBean(String message) { //메서드를 가지고있는 생성자가 생성
//사용하겠다고 한 HelloWorldBean에서 String값을 포함한 채 생성했기 때문에
}
}
이런식으로 사용이 될 수 있다.
[ @AllArgsConstructor ]
이번에는 @AllArgsConstructor 를 사용하여 생성자를 쉽게 생성할 수 있는 방법이다.
public class HelloWorldBean {
private String message;
public HelloWorldBean(String message) { //메서드를 가지고있는 생성자가 생성
//사용하겠다고 한 HelloWorldBean에서 String값을 포함한 채 생성했기 때문에
this.message = message;
}
}
원래는 이런 형식으로 사용되지만 @AllArgsConstructor를 사용하게되면
@Data
@AllArgsConstructor
public class HelloWorldBean {
private String message;
}
처럼 사용할 수 있다.
마지막으로 Lombok이라는 라이브러리를 사용하려면 인텔리제이에서 옵션을 하나 켜줘야 한다.
File > Settings > Annotation Processors 검색 > Enable annotation processing 활성화 > Apply > OK 로 켜주면 된다.
롬복이 지원하는 생성자 기능과 생성자 등록방법을 동시에 등록하게되면 오류가 발생하게된다.
롬복이라는 플러그인을 설치하게되면 화면에서도 오류사항을 확인 할 수 있도록 표시를 해준다.
Settings 를 들어가려면 Ctrl + Alt + S 단축키로 들어가면 된다.
lombok을 검색 후 설치가 안되어있다면 설치를 진행해주면된다!
property에 있는 모든 내용을 가지고 있는 생성자가 아니라 매개변수가 없는 default 생성자를 만들고 싶다면 @NoArgsConstructor 를 사용해주면 된다.
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class HelloWorldBean {
private String message;
}
다시 Controller로 돌아와서 확인해보면 생성자가 생성되었기 때문에 정상적으로 클래스가 생성된 것을 확인할 수 있다.
우리가 반환시키고자 하는 값은 Java Bean 형태이다.
Java Bean 형태로 반환시키게 되면 Spring Framework에서는 값을 단순한 text, object 가 아닌 JSON형태로 반환시켜줄 것 이다.
@RestController를 사용하게되면 반환되는 값이 ResponseBody에 포함하지 않아도 Java의 POJO형태나, 배열 Collection같은 값으로 반환하게되면 JSON 포맷으로 반환이되게 되어있다.
(XML형태로 반환시키고자 하면 XML라이브러리를 추가해서 사용하면 된다.)
실행을 시키고 확인을 해보면
이렇게 웹브라우저와 Postman에서 JSON형태로 확인해볼 수 있다!
'프로그래밍 > SPRING BOOT' 카테고리의 다른 글
[인프런 : spring-boot] Path Variable 사용 (0) | 2022.08.30 |
---|---|
[인프런 : spring-boot] Spring Boot 동작 원리 (0) | 2022.08.30 |
[인프런 : spring-boot] HelloWorld Controller 추가 (1) | 2022.08.29 |
[인프런 : spring-boot] spring boot 구조 확인 / 실행 방법 (1) | 2022.08.29 |
[인프런 : spring-boot] spring boot 프로젝트 만들기 (0) | 2022.08.29 |