-
[Spring] request의 inputstream (body) 재활용
Spring에서 @RequestBody 를 이용해 body 데이터를 받을 떈 내부적으로 HttpServletRequest의 inputStream에서 값을 가져온다. inputStream은 흐름이기때문에 미리 마킹해놓지 않으면 read()로 한 번 읽은 내용을 다시 읽을 수 없다. 때문에 @RequestBody로 선언한 객체가 만들어지기 전에 먼저 inputStream.read()를 실행시키면 이 후 값을 읽을 수 없어서 Required request body missing 이라는 에러가 나온다. 그래서 inputStream에 있는 body의 내용을 다시 사용 할 수 있게 request를 수정했다. Http... Read More
-
[JAVA] feign url values must be not be absolute 오류
오류 @FeignClient(url="http://localhost:8080") public interface MyFeignClient{ @GetMapping("{url}") Object getCall(@PathVariable String url, @RequemstParam("param") String param); } @Service public MyService { @Autowired MyFeignClient myFeignClient; public Object getCall() { return myFeignClient.getCall("http://localhost:8080... Read More
-
[IntelliJ] toolWindow Plugin 만들기
ToolWindow는? intelliJ 좌, 우, 하단에 위치한 바에 있는 항목들을 지칭한다. ToolWindow 만들기 기본적인 셋팅은 되어있다는 가정하에 방법은 다음과 같다. 1. 컴포넌트 만들기 간단하게 컴포넌트 몇가지로 구성했다. toolWindow 생성 시 메인 panel이 필요하므로 getter를 하나 생성해준다. public class MyPluginComponent { private JPanel rootPanel; private JTextField textField1; private JRadioButton radioButton1; private JRadi... Read More
-
애플 로그인 시 사용자명 문제
애플 로그인을 구현 중 사용자 프로필을 조회하는데 아무리 찾아봐도 사용자명이 없었다. 공식문서를 보니 사용자 정보인 id_token에도 이름을 안준다고 되어 있다. Apple doesn’t receive the user’s full name shared with the system UI. The raw data is passed directly to your app from the browser and is not included in the user’s identity token. To help prevent cross-site scripting attacks, validate and sanitize t... Read More
-
[JAVA] Feign client 호출 결과 타입 커스텀하기
Feign Client를 통해 API를 호출하는데 API에서는 결과를 Wrap 해서 보내주고 있었다. public class ApiResult<T> { private int status; private String message; private T result; private boolean error; } 위와 같이 보냈기때문에 계속 ApiResult로 결과값을 받고 getResult()를 통해 호출 결과값을 받아야했다. status, error도 중요하지만 필요한건 result 였고 해당 값만 결과값으로 받고 싶었다. 그래서 결과값을 커스터마이징 하기로 했다. Config 파일을... Read More