DevKim

[Spring] 스프링 서버 띄워서 클래스 정보 브라우저에 보내기 본문

Spring Boot

[Spring] 스프링 서버 띄워서 클래스 정보 브라우저에 보내기

on_doing 2021. 3. 30. 20:39
728x90

chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc?hl=en

 

JSONView

Validate and view JSON documents

chrome.google.com

데이터를 서버에서 전달 받을 땐 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.

 

메소드만 만들어주고 매핑해주면 원하는 요청이 들어왔을 때,

해당 메소드를 알맞게 실행해줌

 

 

 

 

 

 

728x90
Comments