본문 바로가기
반응형

분류 전체보기383

[springboot, msa] Feign Client에 발생한 Exception 처리하기 MSA를 구성하는데 A서버에서 User 서버를 호출하는데 Feign을 쓰기로 했다. 이때 가장 고민했던게 1) 데이터 주고받는 형식을 어떻게 할 것인지 2) 에러가 발생할 경우 관련 정보를 어떻게 받을 것인지 에 대해 고민했다. 이번글은 2번, 에러처리에 대한 데이터유형을 어떻게 정의할것인지에 대한 글이다. 참고로 이것은 정답이 아닌 이런 방법도 있구나 하는 정도로 보면 좋겠다. 결론만 말하면 User서버에는 에러시 에러코드와 메세지를 담아 JSON형태로 리턴하고, A서버에서는 이것을 받아 파싱하여 리턴(Request 한 주체)에게 전달하기로 했다. 그럼 시작. A서버는 Feign 호출을 통해 User서버를 호출하는데 User서버에서 에러가 발생했을때 아무것도 조치하지 않으면 다음과 같은 표기가 된다. .. 2021. 7. 7.
[postman] 결과값 변수에 자동 설정하기 Postman을 쓰다보면 변수를 설정하는게 편할때가 있는데, 내 경우는 AccessToken을 그렇게 하는경우가 많다. 그래서 로그인을 하고 인증토큰을 받으면 변수에 할당하는 번거로운 작업을 매번 했는데 이번에 호출하고 난 뒤의 값을 자동으로 변수설정 하는 방법을 찾아 정리한다. Postman에서 변수가 등록되어 있는게 좋다. 만약 변수가 없다면 자동으로 생성된다. 우선 로그인 성공 후 인증토큰을 다음형태로 받아온다. 그럼 이걸 Tests 라는 탭을 클릭해 다음과 같은 코딩을 넣어준다. 내용 var jsonData = JSON.parse(responseBody); console.log(jsonData) if (jsonData) { pm.environment.set("accessToken9", "Beare.. 2021. 7. 2.
[java] 요청한 IP주소 받기(nginx proxy 환경, AWS ELB 등) AWS의 ELB 나 NGINX로 proxy 로 연결되어 있는 경우라면 IP를 그냥받으면 ELB나 nginx가 설치되어 있는 IP 주소를 받는다. Java 에서 getRemoteAddr() 을 통해 받을 때 그렇다 public String getIp(HttpServletRequest request) { String ip = request.getRemoteAddr(); log.info("> getRemoteAddr : "+ip); return ip; } 해서 이 문제를 해결하려면 request 에 X-Forwarded-For 값이 담겨있어야 한다. nginx를 쓰는 경우라면 다음처럼 설정해줘야 한다. http { ... set_real_ip_from 127.0.0.1; real_ip_header X-Forw.. 2021. 7. 2.
[springboot, jwt] JWT 사용하기 공식 페이지 https://jwt.io/ JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io JWT란? JSON Web Token의 약자로 웹표준(RFC 7519)으로 두 개체에서 JSON객체를 사용하여 가볍고 자가수용적(self-contained)인 방식으로 정보를 안정성 있게 전달. 자가수용적(self-contained) 이란? 필요한 모든 정보를 자체적으로 가지고 있음을 의미. 사용이유 장점 인증서버, 데이터 스토어 등 의존성 없음. 시스템 수평 확장 유리 Base64 URL SAFE ENCODING 으로 URL, Co.. 2021. 6. 23.
[airflow] mysql 연동으로 수행할때 에러 (Reason: image not found) 에러메세지 $ airflow initdb Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/bin/airflow", line 25, in from airflow.configuration import conf File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/airflow/__init__.py", line 47, in settings.initialize() File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-pack.. 2021. 6. 19.
[react] redux 대신 SWR으로 Local 상태 활용하기 Redux 로 상태관리 할 수 있지만 설정도 빡세고 해서 설렁설렁 쓰다가 알게된게 SWR이다. 인터넷에 보면 기능에 대한 정의나 사용법은 잘 나와있으니 쓰면되고 여기서는 Local 상태 관리에 대해서만 쓰려 한다. 다음처럼 컴포넌트를 구성한다. page: test.tsx component: Test1Component.tsx Test2Component.tsx 그리고 SWR을 Function 으로 만들어 쉽게 호출할 수 있게 한다 useTestSWR.tsx 그럼 각각의 파일을 보자. test.tsx 안에 각각의 컴포넌트를 다음처럼 등록해둔다 import React from "react"; import {Box, Divider} from "@material-ui/core"; import Test1Compone.. 2021. 6. 18.
반응형