API란? (SOAP API, REST API)
2021. 10. 11. 16:54
CS
📌 API란? 우리가 레스토랑에 있다고 가정해보자. 우리는 점원이 가져다준 메뉴판을 보면서 음식을 고르면, 점원이 주문을 받아 요리사에 요청을 한다. 그러면 요리사는 음식을 만들어 점원에게 주고, 우리는 점원이 가져다준 음식을 먹을 수 있게 된다. 여기서 점원의 역할을 한 번 살펴보자. 점원은 손님에게 메뉴를 알려주고, 주방에 주문받은 요리를 요청한다. 그다음 주방에서 완성된 요리를 손님께 다시 전달하게 된다. API는 점원과 같은 역할을 한다. API는 고객(프로그램, 클라이언트)이 주문할 수 있게 메뉴(명령 목록)를 정리하고, 주문(명령)을 받으면 요리사(응용프로그램, 서버)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달한다. 📌 API의 역할 1. API는 서버와 데이터베이스에 대한 출입구 역..
REST API (POST API) 구축 중 => Data truncation: Data too long for column 'ID' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'ID' at row 1] with root cause 에러
2021. 10. 10. 00:37
YouTube Project 트러블슈팅
🚨 에러 발생 유저 정보를 JSON 형태로 바디에 담아 AWS RDS DB에 보내는 POST API를 작성 중에 지속해서 4000번 코드 에러가 발생하였다. DB에 존재하는 닉네임이나 이메일을 넣으면 정상적으로 지정한 Error_Status가 뜨는 걸 봐서 코드 문제나 DB칼럼명 실수는 아닌 것 같았다. 예상 문제 지점 //POST public TestPostUserRes createUser(TestPostUserReq testpostUserReq) throws BaseException { //닉네임 중복 if(userProvider.checkNickname(testpostUserReq.getUserNickname()) ==1){ throw new BaseException(POST_USERS_EXISTS..
로컬환경에서 Establishing SSL connection without server's identity verification is not recommended 에러
2021. 10. 7. 21:11
YouTube Project 트러블슈팅
🚨 Error 발생 로컬환경에서 AWS RDS의 DB와 연결하고 시험삼아 간단한 회원조회 API를 작동하려 했으나 DB연결 실패 오류가 나왔다. DATAGRIP도 다시 설치해보고 MySQL버전 문제인가도 고민해 봤지만 정답은 역시 에러로그에 존재했다. Establishing SSL connection without server's identity verification is not recommended라는 에러문구였는데 MySQL이 5.5버전부터 SSL인증을 필수로 설정해 놓았기 때문에 뜨는 오류라고 했다. 개인적으로 로컬에서 DB를 연결하는데 SSL이 왜 필요한지는 잘 모르겠지만 해결방법은 서버인증서 검증을 꺼주면 된다. 👌 Error 해결 SSL 을 사용하도록 설정하고 서버 인증서를 검증하는 옵션인 ..
REST API 사용하여 조회 시 500 Error 해결
2021. 10. 7. 20:57
YouTube Project 트러블슈팅
현재 환경 서버 : 로컬 스프링부트 9000포트 서버 DB : AWS RDS 🚨 Error 발생 ID로 회원을 검색하는 API와 닉네임으로 회원을 검색하는 API를 생성했는데 각각 하나씩 살아있을 때는 잘 정상작동하지만 둘이 같이 살아있으면 500에러가 뜨는 현상이 발생하였다. 에러코드를 보니 through reference chain 즉 계속 돌고있다는 뜻의 에러 문구가 보였다. 즉 어떤 값에 들어갈지 몰라 헤메고 있다는 뜻이다. 스프링부트는 같은 @RequestMapping에 @GetMapping으로 연결되어 줄 때는 path를 명확히 지정해주지 않으면 어떤 값에 들어가야할지 몰라 500에러가 뜨게 된다는 사실을 알게되었다. 따라서 두개의 API를 RESTful(?)하게 경로를 지정해주어 에러를 해결..
HTTP와 SSL 그리고 HTTPS
2021. 10. 6. 15:01
CS
📌 HTTP HTTP란 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. 쉽게 말해 HTML, CSS, JS, 이미지, 동영상 들과 같은 컨텐츠들을 서버와 클라이언트가 주고받기 위해서는 서로가 알아들을 수 있는 공통의 약속인 메세지가 필요한데 이를 HTTP라고 한다. 📖 HTTP 동작 방식 클라이언트 즉, 사용자가 브라우저를 통해서 어떠한 서비스를 url을 통하거나 다른 것을 통해서 요청(request)을 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답(response)하는 형태로 동작한다. 요청 : client -> server 응답 : server -> client Request(요청) 클라이언트가 서버에게 연락하는 것을 요청이라고 하며 요청을 보낼때..