✔ Entiry, DB
이 코드는 lombok 어노테이션을 사용하여 자동으로 생성되는 생성자, 게터, 세터 등을 포함하는 Java 클래스입니다.
이 클래스는 MMS 메시지를 나타내는 엔티티이며, 필드들은 해당 MMS 메시지의 정보를 저장합니다. byte[] 형식의 필드는 이미지 파일과 비디오 파일을 저장하기 위한
✔ Service
Service 클래스는 데이터베이스와의 상호작용을 담당하고, 예외 발생 시 적절한 로깅을 수행하여 안정적인 서비스를 제공하기 위해 작성하였습니다.
해당 클래스는 @Service 어노테이션을 사용하여 스프링의 서비스 빈으로 등록되어 사용됩니다.
Service는 Repository 인터페이스를 사용하여 데이터베이스와 상호작용합니다. repository 필드는 @Autowired 어노테이션을 사용하여 스프링에서 자동으로 주입됩니다.
save 메서드는 Mms객체를 저장하기 위해 repository.save() 메서드를 사용합니다.
findByReceiverTelNo 메서드는 수신번호를 통해 조회하였습니다.. 만약 예외가 발생하면 logger.error() 메서드를 사용하여 로그에 에러를 기록하고 예외를 다시 던지게 됩니다.
✔ Controller - Post
Controller 클래스에 @RestController와 @RequestMapping 어노테이션이 사용되어 있습니다. 이 클래스는 API 요청을 받아들이고, 처리하는 역할을 합니다.
@PostMapping과 @RequestBody 어노테이션을 사용하여 요청 바디를 Mms 객체로 매핑합니다. 그리고 요청에서 받은 Mms 객체를 이용하여 필요한 유효성 검사를 수행합니다. 만약 필요한 입력 값이 없거나, 전화번호나 파라미터 형식이 잘못된 경우, 400 Bad Request 에러를 반환하고 요청을 처리하지 않습니다.
그 다음, Service 객체를 이용하여 Mms 객체를 데이터베이스에 저장합니다. 그리고 ,ㄴervice 객체를 이용하여 저장된 MmsMessage 객체를 대상으로 MMS 메시지를 보내고, 결과를 확인합니다. 결과가 성공적으로 도착한 경우, 200 OK와 함께 응답을 반환하고, 실패한 경우, 500 Internal Server Error와 함께 응답을 반환합니다.
마지막으로, 반환된 응답은 클라이언트에게 전달됩니다. 이 메소드는 RESTful API 요청에 응답하기 위해 구현되었습니다.
✔ Test
✔ Controller - Get
위 코드는 GET 요청을 처리하는 메소드로, /api/v1/message/mms/{receiverTelNo} 경로에 대한 요청을 처리한다.
receiverTelNo는 URL 경로에서 추출된 매개변수이며, @PathVariable 어노테이션을 통해 매개변수로 사용된다.
메소드 내부에서는 mmsMessageService를 이용하여 receiverTelNo에 해당하는 MMS 메시지를 조회한다. 조회 결과가 존재하면, 조회된 MMS 메시지를 이용하여 응답 메시지를 생성한다. 생성된 응답 메시지에는 code, sendCode, message 정보가 포함되며, sendCode는 조회된 MMS 메시지의 userKey 값으로 설정된다. message 정보는 callback과 contents 값을 갖는 맵 객체이다.
조회 결과가 존재하지 않는 경우에는 code와 message 정보를 갖는 응답 메시지를 생성하여 반환한다.
메소드 실행 중 발생할 수 있는 예외는 처리되지 않고, 예외 정보는 로그에 출력된다.
✔ Test
'업무 기록 > API' 카테고리의 다른 글
API 원격 서버 이미지 업로드(IP동시, Jsch, sftp) (0) | 2023.07.12 |
---|---|
Spring API 이미지 자동 삭제 (0) | 2023.06.18 |
Spring 이미지 업로드 (파일생성, 난수, 경로 설정) (0) | 2023.06.17 |
Spring 이미지 업로드 API 설계 (0) | 2023.05.26 |
SpringBoot 메세지 발송/조회 API 설계 1 (요구사항, 사용기술, application.properties, Log4j) (0) | 2023.05.18 |