blues_log
article thumbnail
[Spring] API(Application Programming Interface)
Spring 2023. 7. 15. 21:01

API(Application Programming Interface)란? API 는 다른 소프트웨어 시스템과 통신하기 위해 따라야하는 규칙을 정의한다. 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성한다. 여기서 Interface는 서로 다른 두 개의 시스템, 장치 사이에서 정보를 주고 받는 경우의 접점이나 경계면을 의미한다. 즉, API는 클라이언트와 웹 리소스 사이의 게이트웨이라고 생각할 수 있다. 클라이언트는 웹에서 정보에 액세스하려는 사용자이다. API를 사용하는 사람이거나 소프트웨어 시스템일 수 있다. 리소스는 다양한 애플리케이션이 클라이언트에게 제공하는 정보이다. 서로 다른 애플리케이션이 약속한 방식의 API 요청을 수행하면 정해진 결과..

2023-07-14 TIL (예외 처리)
TIL&WIL 2023. 7. 14. 21:45

문제상황 개인 과제의 요구 사항 중에서 validation의 유효성을 검사하고 이에 따른 예외를 처리하는 것이 있었다. Controller에서 try-catch 로 이에 해당하는 MethodArgumentNotValidException을 처리하려고 했는데 아직 이유는 잘 모르지만 오류가 발생했다. 다른 방법을 찾아보니 @ExceptionHandler로 예외를 처리할 수 있었다. @ExceptionHandler @Controller, @RestController가 적용된 Bean내에서 발생하는 예외를 잡아서 하나의 메서드에서 처리해주는 기능 Controller, Restcontroller에만 적용이 가능하다 (@Service 같은 빈에서는 안된다.) @ExceptionHandler에 등록한 Controll..

article thumbnail
2023-07-13 TIL (Spring 심화주차 개인과제 Lv4)
TIL&WIL 2023. 7. 13. 21:03

ERD API 명세서 User API Blog API Comment API 과제 전체 링크 https://github.com/hakjunjoo/blog-spring-prac GitHub - hakjunjoo/blog-spring-prac Contribute to hakjunjoo/blog-spring-prac development by creating an account on GitHub. github.com KPT Keep 모르는 부분이 있으면 적극적으로 구글링, 강의 수강 등을 함 할 수 있을 것이라는 마음가짐을 가진 것 같음 기록 잘 남기기 Problem 아직 심화적인 내용은 이해를 하지 못함 기본적인 내용도 헷갈리는 경우가 종종 있음 Try 모르는 부분은 잘 정리해서 튜터님께 여쭤보기 기본적인 내..

2023-07-12 TIL (403 error)
TIL&WIL 2023. 7. 12. 20:58

오늘 만났던 에러는 403 error이다. 작동중인 서버에 클라이언트의 요청이 도달했으나, 서버가 클라이언트의 접근을 거부할 때 반환하는 HTTP이자 오류 코드이다. 이 에러는 서버 자체 또는 서버에 있는 파일에 접근할 권한이 없을 경우에 발생한다. 서버에는 외부 접근을 제어하기 위한 수많은 권한 설정이 있고, 서버에서 설정해 둔 권한과 맞지 않는 접속 요청이 들어오면 접근을 거부하고 접근거부 코드를 반환하는데, 이 때 뜨는 것이 바로 403 Forbidden 에러다. 내가 떴던 이유는 토큰 검사했을 때 유효하지 않았던 토큰이라 에러가 떴던 것이다. 앞으로 403 error가 뜨면 인증부터 확인해보자 !

2023-07-11 TIL (연관 관계)
TIL&WIL 2023. 7. 11. 22:17

오늘의 문제점은 댓글을 달려있을 때 그와 연관된 댓글들은 어떻게 처리할 것인지에 대해서 해결하는데 조금 오래 걸렸다. 해결책은 cascade 옵션을 설정해서 연관된 데이터를 처리할지 정해야한다. cascade = CascadeType.REMOVE 위의 코드를 Blog entity에 설정해주면 해당 게시글을 지울 때 연관된 댓글들을 DB에서 모두 지우게 만드는 것이다. 적용한 것은 다음과 같다. @OneToMany(mappedBy = "blog", fetch = FetchType.LAZY, cascade = CascadeType.REMOVE) private List comments; 위와 같이 적용하면 해당 게시글이 삭제되면 이와 연관된 댓글들이 모두 지워진다. 혼자 구현을 하다보면 만났던 오류들도 또 만..