본문 바로가기

Backend 🧦20

[Spring] 스프링 스케줄러(Spring Scheduler) 특정 테이블이 최근 한달의 데이터만을 가지고 있게 하고 싶어서 찾아본 내용! 참고로 나는 MyBatis를 사용해서 Delete 메서드를 따로 구현한 상태로 진행했다. 스프링 스케줄러는 스프링 프레임워크에서 제공하는 스케줄링 기능을 지원하는 모듈이다. 백그라운드에서 주기적으로 작업을 수행하거나 예약된 시간에 작업을 실행할 수 있다. 이를 통해 일정한 간격 또는 특정 시간에 작업을 자동으로 처리할 수 있으며, 작업 예약 및 관리를 간편하게 할 수 있다. 사용방법은 간단하다. 1. 의존성 추가(Maven 또는 Gradle 설정) spring-boot-starter 혹은 spring-context에 포함된 스케줄링 모듈을 사용한다. 그를 위해 아래와같이 의존성을 추가해준다. org.springframework... 2023. 11. 14.
[Spring, KakaoChatbot] 눈물의 챗봇 스킬테스트😭 스프링 백엔드를 공부하고자 스터디를 만들었는데, 프론트엔드의 부재(...)로 카카오 채널 챗봇을 선택하게 됐다. 카카오 비즈니스를 통해 채널을 만들고 챗봇을 열어서.... 더보기 장난이고 채널과 챗봇 신청까지는 요기에! 나는 스프링을 활용한 스킬테스트쪽에 대하여 작성해보려고 한다. 사실 카카오쪽에서 상세하게 설명을 해놓으셨는데, 아무래도 생소한 단어들이라 단박에 알긴 어려웠다. 나같은 사람에게 이 글을 바칩니다. 배우는 과정이라 잘못된 내용이 있을 수도 있으니 지적은 환영합니다😎 블록과 스킬 먼저 스킬을 알려면 블록을 알아야한다. 챗봇에서 사용자가 먼저 말을 거는 것을 발화입력이라고 한다. 아래의 예시와 같이 '아이유 노래 틀어줘'라고 요청을 하는 것이 발화 입력이다. 그러면 챗봇은 이 발화입력을 바탕으.. 2023. 7. 28.
[Swagger] DTO에서 특정 parameter만 숨기기 RequestDTO를 통해 채팅 목록 조회 기능을 수행하는 과정에서 어려움이 생겼다. 사용자에서 요청을 받을 때에는 없는 정보였지만, 토큰을 통해 받아온 id값과 PathVariable값 모두 insert 쿼리문에서 필요하였다. DTO에 그대로 넣으니 swagger의 body에 뜨고, map으로 작성하여 넣어주거나 DTO를 새로 만들자니 번거롭게 느껴졌다 아직 백엔드 개발에 익숙치 않아서 무엇이 정답인지는 모르겠지만, DTO의 숨기고 싶은 파라미터에 @ApiModelProperty(hidden = true)를 넣어 해결하였다. 그리고 서비스단에 setd을 이용하여 받아온 값들을 넣어주었다. 이렇게하면 swagger에는 regId, prjNo가 뜨지 않지만 db에는 성공적으로 들어간 것을 볼 수 있다! 나.. 2023. 7. 12.
[Spring] REST API 상태 코드 관리(1) Spring관련 인프런 강의를 듣다가 HTTP Status Code 제어 파트가 나왔다. 좋은 REST API를 설계하는 방법 중 하나는 서버로부터 적절한 상태코드를 반환시키는 것이다. 때문에 그에 대해 더 알고싶어서 찾아보게 되었다. 이 포스팅은 POST 201 상태코드에 대한 내용을 정리하였고, 차차 ResponseEntity를 이용한 상태코드 관리법을 더 정리할 예정이다. UserController에서 새로운 user를 저장하는 코드를 가지고 왔다. @PostMapping("/users") public void createUser(@RequestBody User user) { User savedUser = service.save(user); } Post를 사용하고, http요청의 본문(body)를 .. 2023. 6. 12.
HTTP 상태 코드 🌿 HTTP 상태 코드 클라이언트가 보낸 HTTP요청에 대한 서버의 응답 코드 상태 코드에 따라 요청의 성공/실패 여부를 판단할 수 있다. 분류 1xx (Informational) : 정보 2xx (Successful) : 성공 3xx (Redirection) : 리다이렉션 완료 4xx (Client Error) : 요청 오류(클라이언트 오류) 5xx (Server Error) : 서버 오류 모든 상태 코드에 대한 내용은 여기에! 🌲1xx (Informational) : 정보 요청을 받았으며 프로세스를 계속 진행합니다. 상태 코드 요약 설명 100 Continue 클라이언트가 서버로 보낸 요청에 문제가 없으니 다음 요청을 이어서 보내도 된다는 것을 의미 이미 요청이 완료되었다면, 이 응답은 무시해도 된다.. 2023. 4. 29.