@RestController
Restful Web API를 좀 더 쉽게 만들기 위해 스프링 프레임워크에서 4.0에 추가된 기능
@Controller + @ResponseBody
@Controller : 해당 클래스 요청을 처리하는 컨트롤러
@ResponseBody : 자바 객체를 HTTP 응답 본문의 객체로 변환해 클라이언트에게 전송
설정 파일 properties로 해두는 편이 많음 또는 xml
package com.example;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class UserDto {
private String name;
private Integer age;
}
package com.example;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@GetMapping(value = "/test")
public UserDto test(){
UserDto userDto = new UserDto();
userDto.setAge(20);
userDto.setName("리키김");
return userDto;
}
}
Dto하고 Controller 만들어서 동작하는지 확인
localhost:8080/test 로 확인해본다.
플러그인에서 에러가 나면 아래에 버전을 명시해주면 풀린다.
springdemo라는 폴더안에 넣어놔서 매핑이 안됐음...
target/classes 폴더에 java 파일이 컴파일된 class를 볼 수 있음
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.example;
public class UserDto {
private String name;
private Integer age;
public UserDto() {
}
public String getName() {
return this.name;
}
public Integer getAge() {
return this.age;
}
public void setName(final String name) {
this.name = name;
}
public void setAge(final Integer age) {
this.age = age;
}
public String toString() {
String var10000 = this.getName();
return "UserDto(name=" + var10000 + ", age=" + this.getAge() + ")";
}
}
롬북 풀려서 볼 수 있음
target 왜 있음?
Maven 으로 빌드하면 생기는 jar 파일을 저장하는 것이 주용도입니다.
개발할 때는 이클립스 안에서 모든 것이 이루어지기 때문에 별로 중요성이 없지만
나중에 프로젝트 결과물인 jar 또는 war 를 실서버에 반영할 때는 target 밑에 있는 jar 나 war 를 배포하게 되는 것이죠.
실제로 배포되는 파일은 target에 있는 파일!
'SpringBoot' 카테고리의 다른 글
카카오페이 API 결제 TEST 연결 (0) | 2024.08.13 |
---|---|
SpringBoot : OCR 화면 번역 프로그램 만들기 ( API 사용 ) (0) | 2024.07.11 |
[스프링부트] Hiberante 설정 , db연결 , 열거형 패키지 생성 (0) | 2022.04.18 |
[스프링 부트] MYSQL 테이블 CREATE , SHOW , JPA 사용 이유 (0) | 2022.04.13 |