인프런 커뮤니티 질문&답변

d1215님의 프로필 이미지
d1215

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

thread-safe 를 위한 @RequestBody 질문 있습니다.

작성

·

160

0

@RequestBody 를 사용하여 ajax 의 post 방식으로 넘어온 데이터를 객체로 받았습니다.

그리고 넘어온 객체를 다시 넘겨주는 방식으로 구현했습니다.


@PostMapping(value = "/exchange-rate")
public String getReceptionAmount(@RequestBody ExchangeRateDto exchangeRateDto
,Model model) {

double exchangeRate = exchangeRateDto.getExchangeRate();
double remittanceAmount = exchangeRateDto.getRemittanceAmount();

BigDecimal receptionAmount = exchangeRateService.getReceptionAmount(exchangeRate, remittanceAmount);
exchangeRateDto.setReceptionAmount(receptionAmount);
exchangeRateDto.setStatus(true);

model.addAttribute("exchangeRateDto",exchangeRateDto);
return "/exchangeRateForm :: #resultDiv";
}

 

1. 위처럼 구현하면 여러개의 요청이 왔을경우 1번째 데이터 요청이오고 바로 2번째 데이터 요청이 왔을경우

1,2 데이터가 섞일수 있다고 생각이 되는데 맞을까요?

 

2. 그렇다면 새로운 객체를 하나더 생성해서 다음과 같이 구현하는게 안전할까요?

 

 

 

 

답변 1

0

안녕하세요. d1215님, 공식 서포터즈 David입니다.

.
올려주신 코드만 보았을 때 딱히 상태를 공유하는 변수를 사용하신걸로 보이지 않습니다.

따라서 thread-safe한 걸로 보입니다.

해당 부분은 메서드 내 변수, 객체들이 메모리에 어떻게 올라가는지 학습하시면 더 자세히 알 수 있습니다.

.
감사합니다.

d1215님의 프로필 이미지
d1215

작성한 질문수

질문하기