Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 아임포트
- git pull --rebase
- 취업
- git pull
- json string
- git
- java
- git 설정
- 자바
- 티스토리챌린지
- window11 Education
- ObjectMapper
- 런던뮤지컬
- github
- window10
- 운영체제
- 오블완
- camel case
- window10 Education
- 방송대
- 윈도우10 Education
- 소비통장
- 정처기
- window11
- Spring Boot
- vmware workstation player
- 취성패
- snake case
- IAMPORT
- 방통대
Archives
- Today
- Total
홍차의 미로찾기
JAVA 객체를 camel case나 snake case로 변경 (2) 본문
반응형
지난 글에서는 camel case로 받고, snake case json String으로 전달하는 방법에 대해 작성했다면
이번 글은 camel case로 받고 snake case로 전달하는 방법을 작성하려고 한다.
물론 반대로 가능하다.
1편 보러가기
2021.12.29 - [프로그래밍/SPRING 입문] - JAVA 객체를 camel case나 snake case로 변경 (1)
이번에도 ObjectMapper 클래스를 사용한다.
ObjectMapper에는 readValue() 메소드가 존재한다.
첫번째 인자로 json 문자열을 넣어주고, 두 번째 인자로 변환할 클래스를 넣어주면 된다.
1편에서 다뤘던 것에서 한 번 더 변환해주는 것이다.
만약 코드가 이해가 잘 안된다면 1편을 먼저 보고 와보자!
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy::class)
public class User{
private String userId;
private String userName;
}
//요청
[POST] localhost:8080/test
application/json
{
"userName" : "testname",
"userId" : "testid"
}
//코드
package com.example.excepTest.JsonTest;
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class JsonDTO {
private String userName;
private String userId;
}
package com.example.excepTest.JsonTest;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import lombok.SneakyThrows;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class JsonController {
@PostMapping("/test")
@SneakyThrows
public Object test(@RequestBody JsonDTO req) {
System.out.println(req); //JsonDTO(userName=testname, userId=testid)
ObjectMapper objectMapper = new ObjectMapper()
.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
return objectMapper.readValue(objectMapper.writeValueAsString(req), Object.class);
}
}
맨 아래 코드를 보면
return objectMapper.readValue(objectMapper.writeValueAsString(req), Object.class);
readValue() 메소드의 첫번째 인자로 objectMapper.writeValueAsString(req) 를 넣어줬다.
camel case로 받은 객체를 snake case json 문자열로 변환한 값이다.
그리고 이 json String을 Object 클래스로 변환해서 응답해준다.
| 결과
반응형
'프로그래밍 > SPRING 입문' 카테고리의 다른 글
[spring boot] java Spring boot로 아임포트(iamport) 결제 구현 (0) | 2022.01.08 |
---|---|
[아임포트] 아임포트(iamport) 결제 연동 (1) - HTML/JAVASCRIPT (3) | 2022.01.03 |
JAVA 객체를 camel case나 snake case로 변경 (1) (0) | 2021.12.29 |
Comments