DevKim
[Spring] 스프링 서버 띄워서 클래스 정보 브라우저에 보내기 본문
chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc?hl=en
데이터를 서버에서 전달 받을 땐 JSON 형식으로 전달을 받는데, 이를 띄워보려고한다.
JSON 데이터를 정갈한 형태로 보기 위해 JSONView를 크롬에 추가해줬다.
data로 응답하는 것, html/css/js 데이터를 한번에 돌려주는 것 중에, 지금은 데이터만 받아오는걸 할 것임
= 클래스 정보만 띄워주고 싶음
이때, 데이터로 응답하려면 RestController를 사용해야하는데,
Rest
- 서버의 응답이 JSON 형식임을 나타냄 (데이터)
- HTML,CSS 주고 받을 땐 Rest를 붙이지 않음
Controller
= 자동 응답기 -> 누군가 말을 걸면 응답하는 것
클라이언트의 요청(request)를 전달받는 코드를 Controller라고 부름
-> JSON만을 돌려주는 것은 RestController 라고 부름
* 클라이언드가 브라우저에 쳐서 요청하는 것 =get 방식으로 요청한다.
CourseController라는 class를 생성해주고, 쭉 코드를 입력하면 spring이 알겠다는듯한 표시의 아이콘이 나온다.
//Course.java
public class Course {
// 코스라는건 타이틀, 튜터, days로 구분이 돼.
private String title;
private String tutor;
private int days;
public Course(){ //기본생성자 -> 생성자를 추가로 만들려면 기본 생성자는 무조건 만들어줘야 사용가능함
}
public Course(String title,String tutor,int days) //생성자
{
this.title=title;
this.tutor=tutor;
this.days=days;
}
//setter -> 이 메소드를 통해서만 바꿀 수 있음
public void setTitle(String title){
this.title=title;
}
public void setTutor(String tutor){
this.tutor=tutor;
}
public void setDays(int days){
this.days=days;
}
//getter -> 반환이 필요함
public String getTitle(){
return this.title;
}
public String getTutor(){
return this.tutor;
}
public int getDays(){
return this.days;
}
}
//CourseController.java
@RestController
public class CourseController{
@GetMapping("/courses")
public Course getCourses(){
Course course=new Course();
course.setTitle("이 코스의 제목입니다");
course.setTutor("이 코스의 튜터입니다");
course.setDays(3);
return course;
}
}
그 다음 Spring Boot runnable class에 들어가서 실행하면,
해당 localhost/courses라는 주소창에 설정해놓은 클래스 정보를 spring이 알아서
JSON 데이터로 바꿔서 전달해 준 것을 확인할 수 있다.
return type은 Course
course 객체 return.
메소드만 만들어주고 매핑해주면 원하는 요청이 들어왔을 때,
해당 메소드를 알맞게 실행해줌
'Spring Boot' 카테고리의 다른 글
[Spring] CRUD - H2 DB 웹콘솔로 확인해보기 (0) | 2021.04.13 |
---|---|
CommandLineRunner,@Bean,@Component (0) | 2021.04.08 |
[H2] H2 DB에 테이블 생성,삽입,조회 (0) | 2021.04.04 |
[DB] RDBMS - H2 생성,삽입,조회 (0) | 2021.04.02 |
[용어 정리] (0) | 2021.04.02 |