반응형
3rd Party API를 jquery 단에서 여러번 호출해야 하는 일이 있는데, network latency 등 여러가지 이슈가 있기 때문에,
front단에서 한 번에 묶어서 보내고, back단에서 처리되게끔 하다보니, jquery 단에서 array형태로 묶어서,
back단(Spring)에서 List형태의 Model로 받아서 처리하니 깔끔하게 정리가 되어서, 이 방법에 대해 정리한다.
[Jquery]
var arr = [{"a":1, "b":2}, {"a":2, "b":4}]; $.ajax({ url: 'url', , type: 'post' , dataType: 'json' // 데이터 타입을 Json으로 변경 , contentType: 'application/json' // Content-Type을 Json으로 변경 , data: JSON.stringify(arr) // JSON String으로 전환하여 보낸다. , success: function(response) { } });
위와 같이 전송을 하면, 서버에서는 javascript의 array를 Json Array로 인식을 하기 때문에,
application/json 기반의 서비스라면, List Model로 매핑을 할 수가 있다. (Spring Boot가 기본 MessageConverter가 마침 Json이어서 이렇게 사용했다.)
[Spring Boot]
... @Getter @Setter @ToString public class Abc { Abc() { } private int a; private int b; } @PostMapping("url") public void url(@RequestBody Listabcs) { abcs.stream().forEach(abc -> { System.out.println(abc.toString()); }); } ...
원하는 형태로 List로 잘 매핑이 된다.
반응형
'개발 > Spring Framework' 카테고리의 다른 글
[Spring MVC] @RequestBody Validation 및 Exception 처리 (0) | 2017.05.15 |
---|---|
[Spring Data Jpa] TableName UpperCase missing table 발생 시 처리 (0) | 2016.10.28 |
[Spring Framework] ModelAttribute Annotation (0) | 2016.06.10 |
[Spring Framework] ReloadedResourceBundleMessageSource의 활용 (0) | 2016.06.10 |
[Spring Framework] EhCache 설정 (0) | 2016.06.10 |