Java / / 2022. 9. 27. 15:08

[Spring] Front에서 보낸 데이터를 서버에서 받는 몇 가지 방법

반응형

 

 

서버와의 연동 작업을 진행하면서, 제일 중요하다고 생각하는 건 데이터를 어떤 식으로 주고받을지가

제일 중요하다고 생각한다

 

1. 배열 전송하기

Clinet

Method : POST

Content-type : application/x-www-form-urlencoded; charset=UTF-8

    $.ajax({
        url: "/test",
        dataType: "json",
        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
        type: "post",
        data: {ids : [1,2,3]},
        success: function (res) {
        },
        error: function (request, status, error) {
        }
    });

Server

@PostMapping(value = "/test")
@ResponseBody
@ResponseStatus(HttpStatus.NO_CONTENT)
public void test(
        @RequestParam(name = "ids[]", required = false) List<Integer> ids
) {
    logger.info("ids : {}", ids);
}

 


2. 배열 전송하기(JSON)

Client

Method : POST
Content-type : application/json; charset=UTF-8

    $.ajax({
        url: "/test",
        dataType: "json",
        contentType: "application/json; charset=UTF-8",
        type: "post",
        data: JSON.stringify([1, 2, 3]),
        success: function (res) {
        },
        error: function (request, status, error) {
        }
    });

Server

    @PostMapping(value = "/test")
    @ResponseBody
    @ResponseStatus(HttpStatus.NO_CONTENT)
    public void test(
            @RequestBody(required = false) List<Integer> ids
    ) {
        logger.info("ids : {}", ids);
    }

 


3. 배열과 데이터 전송하기(JSON)

Client

Method : POST
Content-type : application/json; charset=UTF-8

    $.ajax({
        url: "/test",
        dataType: "json",
        contentType: "application/json; charset=UTF-8",
        type: "post",
        data: JSON.stringify({ids: [1, 2, 3], name: "kim"}),
        success: function (res) {
        },
        error: function (request, status, error) {
        }
    });

Server

Json 데이터를 바인딩할 객체

public class Test {

    private List<Integer> ids;
    private String name;
    
    //setter, getter 생략
    
}
    @PostMapping(value = "/test")
    @ResponseBody
    @ResponseStatus(HttpStatus.NO_CONTENT)
    public void test(
            @RequestBody(required = false) Test test
    ) {
        logger.info("test : {}", test);
    }
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유