web 개발/spring

<spring> get, post

잼추 2022. 12. 12. 21:36

1. 주소창에 study/page 라는 요청이 들어오면 해당 메소드(페이지응답)실행됨

@GetMapping("/study/page")
public String 페이지응답(){
    return "page_study";
}

template 안의 page_study.html 찾아서 실행함

 

2. @ ResponseBody 달게 되면

@ResponseBody
@GetMapping("study/text")
public String 문자열데이터응답() {
    return "문자열로 응답";
}

응답시 return 값(문자열로 응답) 을 페이지에 띄워 줌 

 

3.

@ResponseBody
@GetMapping("/study/text/2")
public String 요청데이터Params(String data1, int data2){
    return "문자열" + data1 + ", 숫자" + data2;
}

주소창에 localhost:8000/study/text/2?data1=aaa&data2=987 이라고 요청하면 return 값을 페이지에 띄워줌

 

4.

@ResponseBody
@GetMapping("/study/text/3")
public RequestStudyDto 요청데이터Obj(RequestStudyDto requestStudyDto){
    return requestStudyDto;
}

클래스를 만들어서 해당 객체를 parameter로 넣어주고

주소창에서 요청하면 return 값을 페이지에 띄워줌

 

** 페이지에서 요청받기 위해서는 @Responsebody 를 붙여야한다.

 

5.

@ResponseBody
@PostMapping ("/study/student/1")
public String getJsonAjax(@RequestBody RequestStudyDto requestStudyDto){
    return requestStudyDto.toString();
}
const button1 = document.querySelector(".button1");

button1.onclick = () =>{
    let student = {
        name: "heymin",
        email: "gpals5987@naver.com",
        address: "우리집"
    }

    $.ajax({
        async: false,
        type: "post",
        url: "/study/student/1",
        contentType: "application/json",
        data : JSON.stringify(student),
        dataType: "text",
        success: response => {
            alert(response);
        },
        error: response => {
            alert("요청실패");
        }

    })
        
    }

버튼을 찾아서(queryselector) -> 각 값을 넣고 -> 자바 스크립트 값을 json 객체로 변경(JSON.stringify) ->

 url로 보냄(type: post) //

Controller 에서 @requestbody로 받아서 바로  return 함 -> success or fail 로 이동 -> return 값이 response에 해당

 

6.

@ResponseBody
@GetMapping("/study/student/2")
public Object getJsonAjax2(){
    RequestStudyDto requestStudyDto = new RequestStudyDto();
    requestStudyDto.setName("hyemin");
    requestStudyDto.setEmail("gpals5987@naver.com");
    requestStudyDto.setAddress("우리집");

    return requestStudyDto;
}
const button2 = document.querySelector(".button2");
button2.onclick = () =>{
    $.ajax({
        async: false,
        type: "get",
        url: "/study/student/2",
        dataType: "json",
        success: response => {
            alert(JSON.stringify(response));
        },
        error: response => {
            console.log("실패함");
        }
    })
}

5번과 같지만 json 객체로 왔기에  response그대로 alert 시 object로 표현되므로

JSON.stringify (response) 후에 띄워주었다

'web 개발 > spring' 카테고리의 다른 글

<Spring> Exception  (0) 2023.01.15
<spring> REST API  (0) 2023.01.12
<spring>DI(denpendency injection) , IOC  (0) 2022.12.12
<spring> intelij 설정  (0) 2022.12.07
<suvlet> eclipse 초기 세팅  (0) 2022.12.03