예전에 사용하던 카카오페이 코드가 제대로 작동을 안하길래 찾아보니 https://devtalk.kakao.com/t/api/134037 [공지] 카카오페이 API 제공 종료 안내안녕하세요. 카카오입니다. 카카오디벨로퍼스를 이용해 주셔서 감사합니다. 카카오디벨로퍼스에서 제공중인 카카오페이 API(이하 (구)카카오페이 API)는 2024년 2월 1일자로 제공이 종료되며, 동일devtalk.kakao.com24년 2월 이후로 API가 새로 바뀌었다 이에따라서 service 코드를 약간 수정해주었다 기존 API service코드 (24년 2월 이전 구 코드) host주소와 header부분(secret키와 json방식인코딩) 그리고 LinkedMultiValueMap대신 HashMap을 사용하게 바뀐듯public..
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed: java.lang.StackOverflowError] with root cause JPA로 위에보이는 3개의 테이블을 한번에 조회하는과정에서StackOverflow가 발생하게되었다 한참을 찾다가 서로 순환참조를 하게되서 무한으로 돌고돌다가 스택오버플로우가 발생한거였다. 원래 단방향으로 하면 이럴일이 없지만 양방향으로 join하게 서로참조해놔서 벌어진일 단방향으로 수정을 해도되지만 일단 @ToString 어노테이션으로 참조를 하지못하게 해서StackOverflow가 발생하지 않도록 조치했다
해당 프로젝트의 주소를 복사해온뒤 Git bash를 키고 저장할 임시폴더를 만들어주고 복사했던 링크로부터 temp폴더로 프로젝트를 클론해온다 이제 저장할 텅 빈 레퍼지토리를 하나 만들어주고 (충돌날수 있으니 readme도 만들지 말자) 새로만든 레퍼지토리 링크를 복사 아까 만든 temp 폴더 안으로 들어가서 복사해둔 링크로 경로를 지정하고 push하면 내 레퍼지토리에 그대로 옮겨져 온다옮긴 후 추가 작업 가능
SecurityFilterChain으로 저번에 써봣던 코드가 이번에 다시 쓸려고 가져오니 deprecated (더 이상 사용하지 않음) 으로 되있다 줄이 쯕 그어져 있길래 오류를 보니 The method csrf() from the type HttpSecurity has been deprecated since version 6.1 and marked for removal 6.1부터는 해당 문법을사용 하지 않는다고 한다. 내가 사용하는 부트버전은 3.2.4 시큐리티는 6..1.0이상의 버전으로 메서드 체이닝 사용을 지양하기 위해 람다식으로 설정을 하게 바꿨다고 한다 [코드 수정] package com.discord.security; import org.springframework.context.annota..
jsonwebtoken 관련 라이브러리들이 import가 안된다 찾아보니 gradle 버전 6번대 이하 부터 사용가능하다 해서 기존 8.7버전에서 6.4.1버전을 바꿔줌 [SpringBoot 터미널] ./gradlew wrapper --gradle-version 6.4.1 그후 properties 파일을 확인해보면 제대로 수정되 있음 그런데도 import문에 에러가 사라져 있지 않아서 보니 아직 8.7 버전이 적용되있다 ./gradlew --refresh-dependencies 로 새로운 버전을 적용시켜주는데 Gradle이 적용이 안된다! 해서 찾아보니 사용는 gradle은 62버전 (6.4.1) 자바 17버전에서는 최소 7.3이상을 써야한다고 한다 흠... 자바를 11버전을 바꿔주자 https://ad..
const getData = async() => { try{ const res = await fetch("https://tarkov-time.adam.id.au/api"); const data = await res.json(); var json = JSON.stringify(data); var obj = JSON.parse(json); return obj.left; } catch (error) { console.log(`error : ${error}`); } }; console.log(getData()); 몇시간을 땅바닥에 내던진 채로 해결했다. 엉뚱한걸 검색하다 구경하느라 시간을 많이 소모함 위 코드로 api를 당겨오면 내가 원하는 time데이터가 아닌 Promise 객체가 나오게 되는데 async로 ..
데이터를 받던 도중 키 값이 없는 데이터를 받으려니 잘 안된다... https://github.com/square/moshi를 참고해서 역직렬화를 할까 생각하다. 낭비한 시간도 아깝고 null값인 키값도 없다는걸 확인하고 인덱스 번호로 데이터를 가져오기로 했다. ... tag = (JSONArray) obj.get("tags"); for(int j = 0; j
프로젝트를 위한 Api를 둘러보던중 이런식으로 curl 로 밖에 가져올 수 없는 api가 있어서 사용하려하는데 GUI가 아닌 shell 환경에서 땡겨올 수 있는 명령어로 리눅스나 맥에는 기본 탑재되어 있어서 윈도우로도 사용할 수 있을꺼 같아 찾아보니 역시나 가능했다. curl.se curl command line tool and library for transferring data with URLs (since 1998) Supports... DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMT..