백엔드 코드와 aws 이슈들을 한번에 모아보자.
환경 : Spring Boot + Gradle + Windows 10 + Intellij
@RequestBody
를 쓸 때 String으로 json을 받을 수는 있어도, long 또는 Long은 되지 않는다.
Map<String, Long>
식으로 감싼다.
public void test(@RequestBody Map<String, Long> data) {}
요렇게 테스트하면 된다.
참고 https://togll.tistory.com/233
service 빈 주입을 잘못한 것이다. 내가 사용한 injection이 문법에 맞는지 확인할 필요가 있다. 보통 생성자 주입을 추천한다.
정적 리소스 관련 설정인 건가? 헤맸는데 어이없는 어노테이션 문법 오타였다;;
내가 문법을 틀려서 얘가 다르게 인식한 듯하다.
@RequestMapping("/cms") //RestController 문법이랑 헷갈리지 않기;;
@Transactional
어노테이션을 빼먹지 않았는지 체크한다.
@Transactional
public int toggleStatus (Long id) {
try {
CommissionDto dto = repository.findById(id).get();
dto.setStatus(dto.getStatus().equals(GlobalCode.CMS_CLOSED.getCode())
? GlobalCode.CMS_OPENED.getCode()
: GlobalCode.CMS_CLOSED.getCode()
);
return GlobalStatus.EXECUTE_SUCCESS.getStatus();
} catch (Exception e) {
return GlobalStatus.EXECUTE_FAILED.getStatus();
}
}
entity의 변경을 감지해야 jpa가 업데이트를 해준다.
잘 나가다 갑자기 Mysql과의 연결이 끊기고, 부트 프로젝트도 관련해서 멈췄다.
Aws Rds를 쓰는 사람이라면 vpc에 가서 처음에 설정했던 인바운드 규칙에 가서 허용자를 내 IP로 설정해주어야 한다.
나는 회사, 집, 본가에서 다 작업을 하기 때문에 결국 세 곳에서 모두 ip 주소를 추가해야 한다는 것이 된다;;